Remove redundant function in Array

get() and getArrayData() do the same thing.
Use stringToNumeric in tv_comparisons

I like this api slightly better than passing in multiple
output refs, but when I added I didn't change these so I could see
perflabs separately.
Remove array_iter_foo functions from Variant and VRefParam @override-unit-failures

Pretty much just moves them to their only callers in
ext_array.
Remove do/while(0) trick in iopFCallBuiltin macros

It doesn't really make sense in this context.  Also pushed
the if statement down into the CASE macro for now and fixed some
indentation.
Fix typos from "Remove do/while(0) trick in iopFCallBuiltin macros"

s/-1/-i/
Add missing \
Initial rough draft of xhpast2, a replacement for xhpast

The goal of this diff is to clean up the current work-in-progress and check
it in so that others may contribute if they have time.

The program currently outputs the HHVM tree as well as the xhpast-like
json, for ease of debugging. There is a little helper program jsonpretty.py
to make the trees more readable, e.g.

_build/dbg/hphp/util/parser/xhpast/xhpast2 <some php file> | hphp/util/parser/xhpast/xhpast2/jsonpretty.py
Implement SplObjectStorage::getInfo()

Implement SplObjectStorage::getInfo(). PHPUnit requires this method.
OSX warnings

- fix OSS warnings
Move runtime/base/array/* up one level.

Also rename array_inline.h to array_data-inl.h
Don't go back to the interpreter after the end of pseudo main when debugging

Fix a long-standing bug where if you step off of the end of pseudo main we'd segfault in the interpreter loop. To get this we have to have a breakpoint in the final TC in pseudo main, and have that called from another TC, then Step or Next off the end. We'd end up with a PC of zero after the ret, which makes sense, but the logic after interpreting a block of code to stay in the interpreter when debugging was blind to this case.
fix issue with finding embedded systemlib on OSX

- make finding embedded systemlib data path independent on OSX
Do not report start, end and psp breakpoints as unbound when connected to a sandbox.

break start/end/psp currently always report themselves as unbound. If the client is connected to a sanbox, these should instead be treated as bound. Also, break clear all currently removes breakpoints without running their destructors in the right order, which causes the break point counter to not reset to 1.
always_assert when we run out of TC space

Makes debugging easier.
Fix machine force attach

I broke the operation of CmdMachine when we attach with the force flag with https://phabricator.fb.com/D851880. I consolidated some error handling logic around broken connections, etc., and in particular pulled throwing of an exception into forceQuit(). I failed to realize there was a single call site of forceQuit() that did not in fact throw an exception afterwards… the logic underneath of force attach. Switching the forceQuit() call there to stop() replaces the logic that was there previously, and restores the behavior.
Make it possible to wait for gdb on crash.

Often I happen not to be running under a debugger when a
crash occurs. In my debugging workflow, I'd prefer our crash handler to
preserve the broken state and spin waiting for gdb to attach rather than
dump core, attempt its own little sad stacktraces, etc. Driven via a
default-false config flag.
Move runtime/base/server to runtime/server

This is an incremental step towards moving it all the way
to hphp/server.  This flattens base but doesn't untangle
the server files from lib_hphp_runtime
Make Asm::code private.

Having everybody and their uncle reading and writing fields out
of a.code and stubs.code was making assembler work hard. This replaces most
reads with accessors, and all writes with structured friends of
X64SAssembler.
Prevent buffer overrun during iopBitOr on string args

"foo" | "f" is meant to yield a string of length
max(strlen("foo"), strlen("f")) by bitwise ORing each byte
of one string against the corresponding byte of the other.

When the strings are of differing lengths, however, we get unknown
garbage data from past the end of the buffer.  This data is
often '\0', however under memory pressure we can get any
value and the behavior becomes undefined.
Update folly
Get rid of NameValueTableWrapper, part 2 of 3

Part 2: getting rid of NVTW for initializing nonscalar static
properties. This is slightly messier than the equivalent for nonstatic
properties.