Move another flaky zend test
disable flakey test

I saw this test fail on an unrelated diff
Fix static_assert in packed_tv build

I didn't check m_type's offset in a packed_tv build when I
first wrote this.
canonicalize \print_r to print_r at runtime

builds on D795509.

This copies all the callsites where we autoload.
Segfault when calling hphpd_break() with no debugger attached

A call to hphpd_break() with no debugger attached, from a command-line run (no request), with debugging enabled (not normally true, but can be true if you use something besides cli.hdf), will segfault every time. Simple fix for a high hit-count crash.
I found some more namespace tests

These all now pass with my namespace diffs
allow namespaced classes in type args

This is a bug that running Symphony found. This part of the AST is weird as it doesn't introduce any more nodes, but I think I got it right...
Split Xor into BitXor and LogicXor; clean up binary arithmetic

This started out as splitting Xor into two separate opcodes with more
precise type descriptions, and turned into a more sweeping change that
removes the conditional "use bool ops" logic in binary arithmetic, by
simply emitting ConvBoolToInt for bool inputs.

This will actually emit more code than before in the case of binary
operators with two bool operands. As I write this I'm crossing my
fingers and hoping that this will turn out not to matter in practice.

Also deleted some redundant if cases in codegen.
Allow shebang/hashbang (#!) as first line in Hack files

A shebang allow a script to be run as an executable on UNIX
systems. PHP allows shebangs, but Hack does not. This
changeset allows Hack to have shebangs like in PHP.
document VMStackElms

This whole doc needs some love but at least it is documented.

closes #729
add php_ini_loaded_file

Since we don't support ini files, returning FALSE seems within the bounds of this function.
add namespace reflection methods

added in 5.3

I couldn't actually get the ##sysdoc.php## to work (it just deleted all the docblocks), so I just copied the format.
add Facebook test suite

We've been sprinkling FB-specific stuff into other tests. I think having a dedicated suite will make it obvious where to put things. I looked at all the failing tests when running the open source build and moved them here. I also had to rejigger the flib include, since that didn't work in repo mode.
rename IgnoreRedefinition to AllowOverride

IgnoreRedefinition does not do what it says it does (as the userland definition is selected) so renaming it
Mark a couple zend tests as bad
Add ring logging for interesting debugging events

This adds a new trace macro to allow tracing to the ring buffer in release builds. It also performs normal tracing, too, like TRACE(n, ...). Converted a number of trace/log messages in the debugger to the new macro so we have this data when we get a core file. I've converted things that we've found useful lately, but this will be adjusted over time quite a lot as we discover new things that help us find problems more quickly, or find messages that turn our to be useless or spammy.
Fix classof for traits

Class::classof(Class* t) would always return false, if t
was a trait, but should return true if t == this.

This was causing the call_user_func in the new test to fail,
reporting that T was not a subclass of T.
Document .hphp_opts test files

That's all.
make get_cfg_var return false

The spec says this returns false on error.
Don't reinitialize native funcs

The Func*'s in the native func unit are all persistent, which means
that we can strip them, and skip the Unit::merge call on every
request. But we didnt set the flag to compact the unit if the only
things that needed stripping were Func*'s. Fixed that, and also fixed
it so all the builtins are marked persistent even in non-repo-auth
mode (funcs are not if rename function is enabled, because we implement
fb_rename_function by swapping target cache entries).