Add dummy PharData class to stop composer unit test fatal

Reviewed By: @ptarjan

Differential Revision: D968331
Remove pointless test.xml

Reviewed By: @ptarjan

Differential Revision: D969850
move tests named "failed" to "failure"

our test runner outputs "failed" for tests that fail and grepping always comes up with this test. No need to have this pain.

Reviewed By: @andralex

Differential Revision: D969683
ASAN: wrong constant size in asio extension

Fix constant size (otherwise treating them as a KindOfInt64 Variant overruns) as we don't support Int32 constants

Reviewed By: @jano

Differential Revision: D969285
make test/run error output a bit more friendly

Make the catastrophic error message more clear for non-native
English speakers and make it less likely to occur by checking if the
binary exists first before spawning multiple threads.

Reviewed By: @JoelMarcey

Differential Revision: D969894
ALWAYS_INLINE decodeVariableSizeImm

This function really wants to be inline, or else it does some
extra pointer chasing.

Reviewed By: @jdelong

Differential Revision: D969698
StringData cleanup

- const correctness fix for AttachStringMode
  - document almost all public functions
  - move most implementations out of the interface
  - rename mutableSlice to bufferSlice

I stopped short of sorting out toNumeric vs isNumericWithVal (I think
we need to delete Variant::toNumeric), and sorting out stuff with the
conversion functions for now.

Reviewed By: bertrand

Differential Revision: D968558
Move HPHP::Slice<T> to util

And make it actually model the boost concepts it claimed to
model.

Reviewed By: @edwinsmith

Differential Revision: D970168
Move static string map to its own module

Reviewed By: @edwinsmith

Differential Revision: D970170
Automatically register unique-stubs with gdb

The gdb registration of asm stubs was bitrotted;
semi-automate it.  I'm removing the HIGH_OPCODES support for these
since it's a bit out of date anyway (we can add it back again at some
point if we need it).

Reviewed By: drussi

Differential Revision: D962710
Allocate HphpArrays in a flat mode instead of using m_inline_data

Gets HphpArrays into a flat mode using MM().objMalloc()
instead of SmartAllocator.  Various optimizations were needed to the
Make functions to get this to work out ok.  Growth still creates a
non-flat HphpArray (leaving a PromotedPayload behind so we know how
big the original allocation was).

Reviewed By: @edwinsmith

Differential Revision: D969431
Add Mark's python gdb macros to the repo

In freenode's #hhvm, yermo was asking for advice on how to
inspect hphp arrays from gdb.  We should probably have this in the
repo anyway because it's nice.

Reviewed By: @markw65

Differential Revision: D968542
Enable ASan builds in hhvm

Adds the ability to build with gcc 4.8.x ASan. When doing so,
build with -DENABLE_ASAN. (Right now, this disables jemalloc and our
custom memcpy and wordsame functions that read unused bytes and trigger
false positives.)

Reviewed By: @edwinsmith

Differential Revision: D969240
Move RefData from SmartAllocator to smartMallocSize

Reviewed By: @edwinsmith

Differential Revision: D970440
Fix debug filling in smart_free

I accidentally removed this in an earlier diff.

Reviewed By: @edwinsmith

Differential Revision: D970458
Fix a bug in simplifyConvCellToStr

I messed up propagating the catch trace to the specialized
instructions.

Reviewed By: @edwinsmith

Differential Revision: D970299
Separate findForDelete from findForInsert

They're used differently enough that this will aid streamlining each
one separately.  Also, this way, key-type-specific logic in erase()
can be done earlier without extra branches.

Reviewed By: @jdelong

Differential Revision: D970271
Varint encoding for blob helper

Blob Helper is used to serialize and deserialize metadata about
compiled PHP files. This diff introduces varint encoding rather
than fixed length encoding. It saves ~100 MB of the 700 MB sqlite
database.

Reviewed By: @jdelong

Differential Revision: D970359
Rename NewTuple to NewPackedArray and MakeTuple to MakePacked

This un-overloads "tuple", which also refers to one of the new
container classes.

Reviewed By: @jdelong

Differential Revision: D970494
http_build_query() should only include accessible members

fixed bug #26817 (http_build_query() always grabs protected and private variables)

Reviewed By: @markw65

Differential Revision: D963170