Macroize systemlib embed function
Fix vixl compilation without USE_JEMALLOC

Vixl doesn't compile without USE_JEMALLOC currently

Reviewed By: @edwinsmith

Differential Revision: D974530
Change a few direct ArrayData/HphpArray uses to Array

Also, add comments on the other ones I've found for ->set().
The biggest thing here is sorting out static property initializers
(probably the answer there is to make them not even use arrays).

Reviewed By: @edwinsmith

Differential Revision: D972067
Port a few more array initializations to init helpers

Also, adds task TODO's with all the remaining untracked array
uses that I could find (if there's more, they aren't findable via
grep, but I have a plan to catch them with assertions later).

Reviewed By: @edwinsmith

Differential Revision: D972299
Fix direct use of HphpArray in pack_args_into_array

Use PackedArrayInit.  Also, this function is only called when
there is no invName, but it was doing the magic call case in this case
(we null it first), so rename it and don't branch on that and move it
to the single caller.  Also, it was using appendWithRef instead of
append, presumably because it used to be possible for it to be used
for non-magic calls or something.  From what I can tell, __call can
never get the argument array with reference members (if it can, the
translator is the one doing it wrong).

Reviewed By: @markw65

Differential Revision: D972302
Fix SimpleXMLElement xpath crashes

Set m_root properly when using __construct() or Clone()

Closes #1067
Closes #1069
Closes #1074

Reviewed By: @ptarjan

Differential Revision: D974502

Pulled By: @scannell
import oauth extension

This was a monster. I had to get all the class things working. I'm not perfectly happy with the solution (I haven't worked out if storing a handle in the ZendObjectData is correct or if the ZendObjectData should BE the handle) but as I see more class based extensions they should clarify.

Reviewed By: @paroski

Differential Revision: D957054
zend ext import script

I keep doing these steps by hand so I made a script. This will evolve but it should be ok for now. Once newext.php exists for HNI (or there is a converter I run after) I'll change to that. If if this starts sucking I'll have to gen the signatures from the source code...

Reviewed By: @paroski

Differential Revision: D966326
new ReflectionMethod($instance) for falsy objects and non-existent methods

* check the __construct "functionality" that ReflectionClass::getMethods relies on explicitly
 * don't implicitly (string) convert a passed-in $instance if the method doesn't exist

 Needed for {D964614}

Reviewed By: @paroski

Differential Revision: D973579
fix test/slow/array_cse/537.php

add a `<?php`. If I had to guess, the original test didn't have it by accident (back when tests were strings in C++).

Reviewed By: @elgenie

Differential Revision: D975031
Greatly increase the speed at which profilers get allocated memory data.

The hotprofiler extension had its own code for asking jemalloc how much memory has been allocated and freed, which called into jemalloc every time. Switched to using the pointers to the actual data that MemoryManager also uses, exposing them from MemoryManager.

Reviewed By: @swtaarrs

Differential Revision: D973767
fix gdb numbers

They were changed in the master but not updated

Reviewed By: @jdelong

Differential Revision: D975334
Fix read overflow in concurrent_shared_store

ASAN detected a read overflow here and I can't convince myself
this code is 100% safe. Since we're comparing StringData anyway, the
size is readily available without (re)calculating it so we mightaswell
use it.

Reviewed By: drussi

Differential Revision: D974599
add RefDataPrinter

While I was in there I cleaned up `SmartPtrPrinter` because I wanted to subclass it, but this turned out to be easier than I thought. Want those changes in here too or just `RefDataPrinter`?

Reviewed By: @markw65

Differential Revision: D975469
test runner: add -m automain

Adds a small script for surrounding the contents of a test/*.php file
 with a main() function and a require_once, and a mode to the test
 runner script to do so.

 The script is not foolproof at the moment ... it doesn't deal well
 with the $GLOBAL access, backtraces, etc. Future work will be
 necessary to deal with (heuristic) recognition of such cases.

Reviewed By: @ptarjan

Differential Revision: D974395
test runner: can now list the failing tests in a file

... to ease xargs usage. The file is either in /tmp , or in the specified ## --failure-file ##

Reviewed By: @ptarjan

Differential Revision: D974430
Fix read overflow in ReadOnlyArena::allocate

ReadOnlyArena::allocate was using the alignment rounded-up
length instead of the original length when std::copying into the arena

Reviewed By: @meyering

Differential Revision: D974955
Revert "import oauth extension"

This reverts commit 854c24aede111f067ff0bca80f22e9f55eebd170.

Reviewed By: @ptarjan

Differential Revision: D975891
Connect existing file-cache to new cache code (default OFF)

Connect existing file-cache to new cache code (default OFF)

Reviewed By: bmaurer

Differential Revision: D971524
test runner fixup: allow .hhas in interp mode

Reviewed By: @jdelong

Differential Revision: D975970