Add no proxy information for FB internal access (FacebookPHPSDK)

The FacebookPHPSDK curl test was failing since we had a proxy set and that is not good for internal curl access. Add no_proxy settings.

Reviewed By: @alexmalyshev

Differential Revision: D1055647
make default message work

implode doesn't know what to do with Vectors. I also like having them on their own line for easy copy-paste (I'm ok to undo that if you have a reason not to).

Reviewed By: @JoelMarcey

Differential Revision: D1055626
Disable test/zend/good/ext/pcntl/tests/pcntl_wait.php

It's failing in asan builds. Disabling so we can investigate without
time pressure.

Reviewed By: @ptarjan

Differential Revision: D1055854
Add test case for mutating collections while iterating

In a previous version of D1012992 I broke Vector by
accidentally disallowing the following pattern

  $v = Vector {1, 2, 3};
  foreach ($v as $e) {
    $v[0] = 42;
  }

i.e. we should be able to mutate elements of Vector (and Map, and StableMap)
while iterating over the collection at the same time.

The bug was caught by a flib unit test, but it seems there wasn't an
hphp unit test that tested the behaviour.

So I'm adding it.

Reviewed By: @paroski

Differential Revision: D1056037
Don't dump bytecode by default

There also doesn't seem to be a good reason for
forcing the jit off. I'm assuming these got committed by
accident.

Reviewed By: @edwinsmith

Differential Revision: D1055752
implement fileinfo

A direct port of zend's forked libmagic code embeded in the same way they do it. All the bad tests are from `var_dump` imcompatability or unrelated unimplemented functions.

Reviewed By: @paroski

Differential Revision: D1050594
unwrap all IteratorAggregates in IteratorIterator

Reviewed By: @alexmalyshev

Differential Revision: D1055581
Avoid ret branch miss in Continuation::send, next, raise

These functions are generally called from enterTCHelper, but their
return address is set so that they return to the callToExit stub.
This was causing the ret instruction ending this translations to miss
all the time, since the return address didn't match what the hardware
return address stack predicted.

This diff marks these functions as AttrVMEntry, a new attribute
meaning that the function is generally a VM entry point.  This
information is used to generate a predictable direct branch to the
callToExit stub.

Reviewed By: @swtaarrs

Differential Revision: D1054750
eval() should return false on syntax errors

eval() should return false on syntax errors

Closes #1267
Closes #1270

Reviewed By: @alexmalyshev

Differential Revision: D1055028

Pulled By: @scannell
Apply some strict-alias warning fixes

Its a little alarming that gcc warns about eg using an
int, and also memcpy'ing to/from that int (which is explicitly
allowed by the standard's aliasing rules).

Reviewed By: @jdelong

Differential Revision: D1052741
fix test path for yii

yii has multiple xml files (for example blogs and such) some of which appear alphabetically before `tests`. Lets make sure we find the right one.

Reviewed By: @JoelMarcey

Differential Revision: D1056958
Record the yii expect file again

After @ptarjan's awesome find about the wrong phpunit.xml being used in testing, let's record the yii expect file again.

Reviewed By: @ptarjan

Differential Revision: D1057061
Fix copyPackedAndResizeIfNeededSlow() when only hashtable is full

If m_used==0 but isFull()==true, the hashtable is full but the
array is empty.  We try to copy 0 elements, which crashes because
wordcpy() is a do-while loop.  But also, we should be compacting
in this case instead of growing.  Add an assert, and do compaction.

Reviewed By: @markw65

Differential Revision: D1057100
Differential Revision: D1059120
Pull more code in for PEAR

The file not found errors we were getting for PEAR was due to the fact that we needed more PEAR packages. I added some more pull requests.

Reviewed By: @ptarjan

Differential Revision: D1057255
make offsetExists match offsetGet

and while I'm there, make it more explicit what the failure case is for offsetGet

Reviewed By: @JoelMarcey

Differential Revision: D1054887
do special comparisons for DateTime

Zend does, them. We should too. I basically copied `ArrayObject`.

Reviewed By: @jdelong

Differential Revision: D1054508
Add pretty printer for Class*

Reviewed By: @markw65

Differential Revision: D1056709
Fix reflection about private variables in traits

I don't know why they originally did it like this. I think it was just an oversight by Parker last year in D599728

Reviewed By: @JoelMarcey

Differential Revision: D1056703
fix SimpleXML count

It looks like if you have two children with the same name, we just make an array of them. So we have to count them up too.

Reviewed By: @JoelMarcey

Differential Revision: D1054872
Lookup Continuation functions during process init instead of on each next/send/raise call

We were seeing a surprising number of hits with perf in FixedStringMap::find() under WaitHandle::join(). This is used while looking up the methods send, next, and raise on Continuation in c_Continuation:call_send() and friends. Since there's a single method to find, go find it during process init and use the result there instead of doing a string lookup on each call.

Reviewed By: @markw65

Differential Revision: D1056356