Remove hhvm.php

Unneeded after 3279ac37
IR Specification

Rough out a first outline for the HHIR specification
Collection literals
Add optional autoload params to function_exists and defined

Now we have autoload for functions/constants, we
need to be able to test for function/constant existence
without triggering autoload.
get_class_constants should autoload
Clean up regalloc/codegen for native calls with many args

These two patterns were frequently repeated and I'm going to
add even more instructions like this with the vector translator.
Remove a few preprocessor defines from dce.h
Use call/ret, real prologues for ContEnter, ContExit (tx64)

Before, generator bodies were entered without prologues, meaning they didn't get
stack-size checks or surprise flag checks. This fixes that.

This lets us use an entry path that's much more similar to regular function
entry, including the use of the call/ret instructions, which should offset some
of the perf regression caused by the extra checking on entry.
constant() should autoload

A test breaks without this. Also this adds an
hhvm specific implementation, to avoid going through
the pointless and expensive ClassInfo mechanism. It
also cleans up the implementation of defined.
ReflectionMethod should autoload the class

It didnt. Also add a test for ReflectionClass (which already did)
Add a few instructions to ir.specification
Include JitEnableRenameFunction in unit hash

Since we enable FCallBuiltin based on whether or not
JitEnableRenameFunction is enabled. We don't want a repo
built with JitEnableRenameFunction=false to be run with
JitEnableRenameFunction=true.
Revert "Banish std::string and std::map from ext_obc, take 2"

This reverts commit 155f3b2
hex2bin should return false on failure

So says the doc: http://php.net/manual/en/function.hex2bin.php.
Currently, it fatals on malformed input.

Also add a new field for return type hints in idl files. This
can be used for type prediction for builtin functions that
return Variant.
Make strlen behave as zend53 on arrays and objects

- Changed input & return types of f_strlen() to be CVarRef & Variant instead of CStrRef & int64.
  * strlen($array) now prints a warning and returns null.
  * strlen($obj) checks if $obj->__toString exists, if yes uses it, otherwise prints a warning and returns null.
- Updated x_strlen(), fni_strlen(), iopStrlen(), emitStrlen(), analyzeStrlen(), translateStrlen() accordingly
- Updated files idl/string.idl, system/string.inc and fbmysqllexer.cpp
- Added test cases
Kill duplicate assignment to rStashedAR in FCall

cgCall uses emitBindCall, which sets rStashedAR already.
So don't do this in cgCall too.
Get rid of DefSP's sources

It doesn't need sources now. It's just a hint to the register allocator to give
you an SSATmp that's always assigned to rbx.
Fix a bug in LinearScan::computeLiveOutRegs

When looping over the indexes for assigned regs for a SSATmp,
the index wasn't being passed to the getReg (previously
getAssignedLoc) function.
Convert opcode flags table to use named identifiers
Refactor to support internal compiling modes