Ignore SPL CSV artefact
Revert "import oauth extension (take 2)"

This reverts commit 799f262497a0dbe562906152f585b4cfc0129649.

Reviewed By: @ptarjan

Differential Revision: D984215
Revert "support objects in zend compat layer"

This reverts commit b9516f1895f00da4b458f633b1d36979367e62f5.

Reviewed By: @ptarjan

Differential Revision: D984226
UseNewCache needs to be a compiler flag since that's where it gets used

Move UseNewCache flag to compiler context

zend unit test failing - not connected to this code

Reviewed By: bmaurer

Differential Revision: D983399
Detect and report stack imbalance in TraceProfiler

TraceProfiler maintains a log of every function call and return. By adding the function name to return events we can ensure that a return matches a call when post-processing the log. Too keep the log size small I've stolen a bit out of the memory counter for the trace samples since it's not realistic that we'd need a full 64 bits there.

I've added a little bit of logic to detect a missing return and correct the stack imbalance to keep the rest of the report accurate.

Reviewed By: @swtaarrs

Differential Revision: D983012
Fix unimplemented PHP ENT_* constants conflicts

Special constants conflict with unimplemented PHP ENT_*
constants in the htmlspecialchars function so raise their values to
avoid confusing frameworks into thinking these are implemented.

Closes #1085

Reviewed By: @markw65

Differential Revision: D980178

Pulled By: @scannell
Remove the trace setter in gen()

Instructions ultimately want a block to jump to, not a trace,
and the trace setter is in the way of untangling some header
dependencies I have in a separate diff.  This was a big enough
change to factor out separately.

It's essentially a mechanical change, although I changed the
helper functions that create traces to return the first block
instead, for convenience.

Reviewed By: @swtaarrs

Differential Revision: D984304
Use an Array to wrap the TargetCache::s_constants array

In defCns this adds one place where we'll do two lookups
instead of one; the whole thing appears to be on a cold path though.

Reviewed By: bertrand

Differential Revision: D978026
Don't use HphpArray to store static locals; translate StaticLoc* better

Reviewed By: bertrand

Differential Revision: D974604
Implement closure static locals using object props instead of HphpArray

Reviewed By: @edwinsmith

Differential Revision: D976430
Use Array instead of HphpArray to implement f_get_method_names

Reviewed By: @edwinsmith

Differential Revision: D978122
Remove duplicate call to destructObjects

In hphp_context_exit, we've already called this (before
requestEventHandler shutdowns).

Reviewed By: @paroski

Differential Revision: D979838
Make 86pinit and 86sinit invocation not use a raw HphpArray

I had been thinking of changing these to get the information
out of the class without allocating an array (e.g. using special
bytecodes), but it turned out to be easier to do this without changing
that than I thought.

Reviewed By: @edwinsmith

Differential Revision: D979874
Move class constants tables to TargetCache, use Array instead of HphpArray

This was going to make Class 408 bytes, and it seemed
plausible that that could be causing some red cpu time numbers in a
early perflab, so as part of this diff change declInterfaces not to be
a std::vector to pay for it.

Reviewed By: @edwinsmith

Differential Revision: D979850
Wrap array init with assertions about array escalation

{Packed,}ArrayInit is now the only way to create arrays while
assuming no write barriers are needed.  To ensure it's safe, beef up
the assertions in their use.  Fixed a few cases that had incorrect
size estimates.

Reviewed By: @markw65

Differential Revision: D980262
fix gdb script for ObjectData

It looks like this changed out from under the script. Does this look right?

Reviewed By: @markw65

Differential Revision: D985305
Remove useless error array

I decide to scrub the entire zend error message, so this array is stupid now

Reviewed By: @markw65

Differential Revision: D985567
Properly support surprise flags in hhir

hhir used to do a slow exit whenever a surprise flag check
succeeded. This is fine for most things, but can be all sorts of bad news for
PHProf. This diff adds support for calling the surprise flag hooks without
leaving the trace, and should restore some sanity to profiling results.

Reviewed By: @markw65

Differential Revision: D985446
pretty ResourceData in GDB

Can you think of anything better to print than the ID? I can't figure out how to call the `o_toString` methods, and do we want to?

Reviewed By: @markw65

Differential Revision: D985495
Clean up headers a bit.

Moved nontrivial methods out of class definitions, and reduced what cse.h
includes to be closer to IWYU, and avoid circular dependencies in another
diff I'm working on, on top of this one.  Also moved definitions of a few
functions declared in cfg.h from ir.cpp to a new cfg.cpp file.

Reviewed By: @jdelong

Differential Revision: D983927