Fix type assertions for array-like interfaces

Without this we could infer that an array was an object,
skip the guards, and then die horribly.
Don't import tests from php-src:ext/spl/examples

These don't test anything relevent
Add BoolProfiler and IntProfiler clases (using StackTraceProfiler)

A BoolProfiler uses two StackTraceProfilers to take profiled samples of
a boolean value.  At shutdown it prints the %false, %true, and a profile
for each case.

An IntProfiler is similar, but profiles buckets of 0, 1, 2, 4, and 5+.
Enable Ctrl-C while looping only in translated code

The debugger relies on hooks into the interpreter to gain control of threads. If a thread is looping in translated code, though, it will never enter the interpreter. Take advantage of the existing surprise checks emitted on back-branches to pop out of translated code back to the interpreter when trying to interrupt threads due to a Ctrl-C from the client.

Also modified TestDebuggerJit to ensure that the thread executing the infinite loop has time to settle into looping in TC's. The signal to interrupt the server is historically fast enough to get there before one of the translations is made. Added a reasonable delay which caused the test to fail deterministically on my machine before the fix.
Add missing include to fix stacktrace_profiler.h

Broken build fix.
Remove problematic VectorTranslator assert

Tried to relax this assert in D871843, but it turns
out the assert is completely unnecessary anyway.
Special case some bytecode ops in getStackValue

Some bytecode ops, such as CGetL3, would munch the
types of the things on the stack above the new cell that was
pushed because getStackValue assumes all stack outputs from
interpOne are on top of the stack. The result is that the top
of the stack would contain the output type, and the two things
below it would not get any type (unknown).

This usually isn't a problem, but if we fail enough in type
prediction we might get around to InterpOneing these ops.
No need to pass ext/standard/versioning/php_sapi_name_variation001.phpt

The expected output is specific to how PHP implements run-tests
Fixing OpMod emission not to trigger assert in simplifier

If you tried to mod something where the denominator
was cns(0), things would go horribly, horribly wrong.
Remove dead ArrayData::nvGet() functions.

They were dead.
Basic heap tracing framework + debugger command

Adds an extension command to the debugger which provides
heap tracing functionality, and adds the framework needed to get
heap traces. The heaptrace command can dump the current heap to the
debugger session or it can save a GraphViz specification to a file.

I'm hoping to add a backend which can put the graph in GML format,
so it can be explored interactively. I also hope at some point to
see this integrated into FBIDE if we can do that.
Improvements to graph dumping in heap trace command

This abstracts the file format a bit, so that we can
dump to multiple formats. Currently, GraphViz and GML are
supported. GML was added at @edwinsmith's request (and it's much
nicer than GraphViz anyway...)
more OSX warnings

- fix more OSX warnings
Fix var_export for resources

Debug builds hit an assert, and release builds would output
something like array(}.
Scrape logs for information on completely processed HLog files.

First step towards detecting skipping of HLogs. Scrapes the log files in
the directory given by env variable LOGS_HOME and extracts the
timestamp, filename, and final offset from the lines indicating a file
'IS REALLY complete'. Converts to data to JSON to be passed to later
subprocess.
Consolodate ArrayData position-based iterator methods

Implement these all in ArrayData, using iter_begin, advance,
rewind, and iter_end virtual methods.  Only SharedMap didn't
override the iter_* methods, so moved ArrayData's implementation
to SharedMap and tailored it a bit.  Fetch SharedMap's size at
construction time to avoid calls to SharedMap::vsize().
Removed HphpArray and NameValueTableWrapper implementations of
these methods.
Allow parameter promotion in constructors

Extend PHP to allow constructor paramters to be promoted to fields. Reduce plumbing of class declaration and helps productivity.
Allow \ in the LHS of the hdf config file.

The autoload_map.hdf doesn't support backslashes when it's on the LHS.
This broke an intern build last week when we pushed out namespace
support for third-party.

Looked like:
```functions {
  GlobalNamespace\Class = flib/intern/third-party/test.php
}```
Add runtime options for fb303 server.

Add runtime options for fb303 server. These go into the open source tree, but
masked off by #ifdef FACEBOOK.
HPHP: Drop the request when it's been sitting on the select queue longer than the virtual host timeout allows for.

Drop the request when it's been sitting on the select queue longer than the
virtual host timeout allows for. This is orthogonal to the expiration timeout on
the queue itself.

This can be useful if we ever allow select queue timeout to be configured to be
higher than the virtual host request timeout.