Fix persistence bug in Class::initSPropHandle

Summary: If a parent's sPropInit handle isn't persistent, we shouldn't mark the
child's handle as persistent.

Reviewed By: @alexmalyshev, @markw65

Differential Revision: D1518812
Don't use fast object allocation path for Enums

Reviewed By: @bertmaher

Differential Revision: D1518831
Support fast object allocation path when Eval.EnableObjDestruct call is on

Summary: Pretty straightforward: we just need an extra call to insert the
object into the set of live objects.

Reviewed By: @bertmaher

Differential Revision: D1518842
Turn on Eval.EnableObjDestructCall by default

Summary: This was an intentional divergence from PHP5 for performance reasons,
but the default should be compatible. The overhead of this feature is vastly
reduced with D1462739 anyway.

Reviewed By: @ptarjan

Differential Revision: D1517757
Remove decls for rCGxxx, give them to vasm and use vasm temps instead.

Summary: Baby step towards vasm register allocation for the full unit.

Reviewed By: @alexmalyshev

Differential Revision: D1519393
Clarify error message when Hack syntax is used in a PHP file

Summary: EnableHipHopSyntax is no longer what people should probably be
enabling -- they probably want to just be using a Hack file instead.

The failure mode here can be really confusing, e.g.,
http://stackoverflow.com/questions/25496687/setting-enablehiphopsyntax-to-true-with-hhvm

Reviewed By: @elgenie

Differential Revision: D1519619
Manpage for hh_server

Summary: Debian wants these.

Reviewed By: @elgenie

Differential Revision: D1512680
Convert a few more uses of smart::container

Summary: Missed these when rebasing

Reviewed By: @ottoni

Differential Revision: D1522160
Command line arg -n causes seg fault

Summary: fixes #3539

Reviewed By: @fredemmott

Differential Revision: D1520328
(HHVM) Don't malloc/free for pack

Summary: `pack` is used by Thrift, and we were also thinking of using it for the
TAO client as a cheap way to turn integers into strings. I noticed that
it uses `std::vector` even if the format is only a handful characters
long. 32, because why not. Who uses format strings longer than 32?

Reviewed By: @jano, @markw65

Differential Revision: D1520273
Add a mechanism for building and testing a zend extension as a DSO.

Summary: There is a DSO, and a (currently failing) unit test.

This DSO is intended to be loaded by specifying in a .ini file something like:
  hhvm.dynamic_extensions[dso_test] = ./runtime/ext_zend_compat/dso_test/dso_test.so
and then tested by executing the php functions implemented by the dso_test zend extension.

The tests currently fail, and as such are parked in:
  hphp/test/zend/bad/ext/ext_dso_test

The tests fail due to one or more known logic bugs involving the handling of configuration
settings in zend DSOs in the file:
  hphp/runtime/ext_zend_compat/php-src/Zend/zend_ini.cpp
A fix for those bugs, as well as migrating the tests to hphp/test/slow/ext_dso_test,
will follow as soon as these changes are accepted.

This is the 2nd attempt at this work.  The 1st attempt:
  https://github.com/facebook/hhvm/pull/3399
  https://reviews.facebook.net/D21369
was aborted due to a poor choice of directory names/locations,
as well as a botched git rebase.  Paul Tarjan commented on the 1st attempt.

Closes https://github.com/facebook/hhvm/pull/3441

Reviewed By: @ptarjan

Differential Revision: D1492264

Pulled By: @sgolemon
Fix method context validation error messages

Summary: Closes https://github.com/facebook/hhvm/pull/3563

Reviewed By: @sgolemon

Differential Revision: D1516925
check EAGAIN & EINTR in recv

Summary: Closes https://github.com/facebook/hhvm/pull/3596

Reviewed By: @ptarjan

Differential Revision: D1522408

Pulled By: @sgolemon
Cleanup in fixup.h

Summary: * Renames public fields m_foo to foo.

* Uses C++11 member initialization.

Reviewed By: @edwinsmith

Differential Revision: D1497114
Fix `cmake verification` build step

Summary: On the HHVM CI systems, the CMake/ folder
is in a slightly different spot than in the public repo.

Reviewed By: @fredemmott

Differential Revision: D1523762
handle cmake & ccache

Summary: one place missed CMAKE_CXX_COMPILER_ARG1 support,

this allows to call cmake as:
cmake -D CMAKE_CXX_COMPILER="ccache" -D CMAKE_CXX_COMPILER_ARG1="g++"

http://stackoverflow.com/questions/1815688/how-to-use-ccache-with-cmake
Closes https://github.com/facebook/hhvm/pull/3601

Reviewed By: @sgolemon

Differential Revision: D1523463
fixup test README

Summary: The main change is not telling people to put stuff in quick. Mentioned by@​TimSiebels in https://www.facebook.com/groups/hhvm.dev/permalink/280889192100187/?comment_id=281097032079403&offset=0&total_comments=15

Reviewed By: @JoelMarcey

Differential Revision: D1522113
Added xdebug_call phpt test

Summary: This diff adds the relevant xdebug phpt test for the xdebug_call_* functions.
There are actually two more tests related to these functions, but they
test an undocumented (and unimplemented in hhvm) feature- namely passing
a depth argument to each xdebug_call_* function. If this feature is added
later, those tests should be added.

Depends on D1388555

Reviewed By: @sgolemon

Differential Revision: D1388860
Implemented xdebug html tracing output

Summary: This diff implements html output for xdebug tracing. xdebug's html output
doesn't support all the features of human-readable tracing output. It would
be easy to add more features, but this diff just implements a version that
matches xdebug.

It looks like this: https://www.facebook.com/pxlcld/lrjH

Reviewed By: @ptarjan

Differential Revision: D1459347