Make collection mask bits a little clearer

Easier to see how many bits are left in o_attributes.

Reviewed By: @edwinsmith

Differential Revision: D1035048
Remove two unused hashtables from ExecutionContext

Reviewed By: @dariorussi

Differential Revision: D1035098
Let the HHVM debugger client/server listen on IPv6

We manually initialize the IPV6 sockaddr_in6 structure
as gethostbyname_r has problems with numeric IPv6 adresses
(http://sourceware.org/bugzilla/show_bug.cgi?id=5479). In the particular
case it fails with permission denied, while it works with the equivalent
ipv4 address.

Reviewed By: @mikemag

Differential Revision: D1030284
Patch unserialize so that it handles namespaced collections

We want to be able to unserialize both Vector and HH\Vector.

Patch unserialize to that effect.

Reviewed By: @elgenie

Differential Revision: D1031058
Translate FPushClsMethod

This adds new IR opcodes to lookup class methods from the TC
instead of interpreting.  LookupClsMethod basically does the same
thing as the interpreter; LookupClsMethodStatic is optimized for the
case where the call is in a static function.

Additionally, when the class input comes from a LdCtx we can get the
method slot at jit time and burn that into the TC.  This case is
pretty common since "LateBoundCls; FPushClsMethod" is a common
pattern.

Reviewed By: @jdelong

Differential Revision: D1035577
depthOne already checks that the depth is one

thats it

Reviewed By: @edwinsmith

Differential Revision: D1035861
Run each test from each framework individually.

This diff begins to allow indivdual tests per framework to be run in separate processes. Now we won't stop on fatals and we should be able to get a nice percentage number for all frameworks.

There is a "too many threads" spawned issue right now that needs fixing (deadlocking occurs as I create too many at this point). But let's start the review process.

Also did a fairly sizeable refactoring too.

Reviewed By: @ptarjan

Differential Revision: D1035690
parity: update Slim framework to latest release

Minor version 2.3.5 vs 2.3.1; with a pull of the commit
 listed in run.php, it will have no errors.

Reviewed By: @ptarjan

Differential Revision: D1036922
Two little ARM fixes

- There were register "allocation" bugs in the closure code. First, the
  incref code was clobbering the address of the datum to incref with the
  refcount. Second, the closure prologue code was using rAsm2 to hold
  the closure's address, and that got clobbered by the fixed incref
  code. >_<

- The type calculus of SetL's effects on locals wasn't right. If the
  local is boxed before SetL, it'll be boxed after, regardless of what's
  on the RHS.

Reviewed By: @jdelong

Differential Revision: D1036579
Fix for readMetaData

In legacy mode, readMetaData should not modify the input
rtts, since these are shared with the tracelet's guards.

Reviewed By: @ottoni

Differential Revision: D1036751
Fix forking problem when running individual tests

The script now preloads all of the tests for all of the specified frameworks (every test is retrieved with --all). Then we fork of threads, bucketing as necessary to keep things sane. This is instead of forking of a thread per framework and then more threads for the tests of each framework where we could get up to 1000+ instances of HHVM going (and that is bad).

Also fixed a bug on how we retrieve the actual tests.

Did a little more refactoring too.

Singled out two tests from zf2 that was causing some weird deadlocking. Don't run those. Figure out why and then take them out.

Reviewed By: @ptarjan

Differential Revision: D1037105
Fix user profiler for native funcs

Various places test func->info to determine whether a Func is a c++
builtin or not. Some of them need to include Native Funcs.

Rename Func::info to Func::methInfo to find all the uses, and spot
check them.

Reviewed By: @jdelong

Differential Revision: D1035915
Drop "de-const" cast hack from API migration

Preserve const in mem-file
Track malloced pointer separately in mem-file

Reviewed By: bmaurer

Differential Revision: D1037894
Don't decref Objects while sweeping

Per title

Reviewed By: @jano

Differential Revision: D1037445
actually remove temporary php_ini

I thought this was taken care of me for free. Nope.

Reviewed By: @alexmalyshev

Differential Revision: D1038214
Remove unused bool m_no_volatile_check

Always false.

Reviewed By: @markw65

Differential Revision: D1036977
Add PhysLoc::numWords and rename SSATmp::numNeededRegs->numWords

This is just code cleanup; sometimes we care about the # of logical
words for a tmp or PhysLoc, (eg 2 for a TypedValue) and sometimes
we care about the physical locations assigned (eg 1 for FullXMM,
0 for a constant).  This separates the two a bit more clearly.

Reviewed By: @bertmaher

Differential Revision: D1037818
Release old arrays when we grow them while setting/unsetting elements

D988759 changed the way we reallocate arrays, and broke a previous optimization in SetNewElemArray and UnsetElemArray, causing memory leaks in a wide variety of cases. We got a very nice repro from the Firehose team. This fixes the test case in the referenced task, which can complete now with minimal memory use. I suspect this also explains a number of other OOM bugs which have been cropping up since the 10/25 release, and perhaps the extra swapping in v3 we've experienced since then.

Reviewed By: @jdelong

Differential Revision: D1038091
Make AllocObj{,Fast} return a specialized object type

Reviewed By: @dariorussi

Differential Revision: D1032573
Sort frameworks for test bucket breakup

Sort the frameworks vector so that we can have a general alphabetical order of test
running after we bucket them in threads.

Fix a couple of bugs (undefined variable and possible div by zero) too.

Reviewed By: @ptarjan

Differential Revision: D1038251