Revert "Get ARM disassembly printing in printir:2"

This reverts commit 23745b0488b81e0bc92ed45661b67cd4ec1f784d.

It's templates all the way down
added "Attempted to interpret unknown debugger command as PHP" into the error message

The error message for a bad command is misleading. Added "Attempted to interpret unknown debugger command as PHP" into the error message

Reviewed By: @mikemag

Differential Revision: D989538
Support already-sorted EHTabs in FuncEmitter.

Because we re-sort the EHEnt table every time we load from
the repo, it's impossible to represent certain configurations of
fault/catch regions that are not made illegal in the spec.  For
example, you can't have a Fault and Catch region with the same extents
where the Fault region should be considered "outer" to the Catch
region.  This changes things to serialize parentIndexes to the repo,
and adds support to the FuncEmitter to tell it not to re-sort the
EHTab if a given user knows they've sorted it properly (and set up
parentIndexes) already.  Also adds some assertions about the required
sorted properties.

Reviewed By: @dariorussi

Differential Revision: D1002108
Add a unit test for type inference

Courtesy of erling.

Reviewed By: @swtaarrs

Differential Revision: D1005514
Add file_uploads and upload_tmp_dir to ini_get

Add file_uploads and upload_tmp_dir to ini_get options

Closes #1158

Reviewed By: @JoelMarcey

Differential Revision: D1007352

Pulled By: @scannell
Fix catch trace bug and inline cost bug

The catch trace map was being updated as we went along, instead of at
the end of translation along with all the other metadata. shouldIRInline was
treating the immediate vector for Switch and SSwitch as an m-vector.

Reviewed By: @ottoni

Differential Revision: D1005823
Clean up FrameState's block handling

This is some reorganization I did to use FrameState in guard
relaxation. It cleans up the interface used to enter and exit blocks by using
startBlock and finishBlock instead of the old methods.

Reviewed By: bertrand

Differential Revision: D1005829
SharedString should use AtomicSharedPtr

Right now, SharedPtr works, because SharedStringData provides
atomic ref counting. But I need to make some changes to SharedPtr which
break it. Use AtomicSharedPtr instead (this is what AtomicSharedPtr is
for).

Reviewed By: @dariorussi

Differential Revision: D1006407
Support loading mini-systemlibs from extensions.

Create a registry for per-extension systemlibs to be
loaded from the binary and parsed at InitModules() time.

Auto-embed runtime/ext/ext_foo.php as systemlib.ext.foo

loadSystemlib() looks for systemlib.ext.foo and calls
CompileSystemlib() which parses the section and merges
immediately as well as storing for later re-merging (if needed).

Enables the following <<__Native>> pattern:
  virtual void moduleInit() {
    HHVM_FE(myfunc);
    loadSystemlib();
  }

Where the extension systemlib has a declaration for myfunc().

Reviewed By: @jdelong

Differential Revision: D986853
Support dynamically loadable extensions

Build an SO then load it with:

config.hdf
  DynamicExtensionPath = /usr/local/hhvm/lib
  DynamicExtensions {
    * = calendar.so
    * = runkit.so
    * = mhash.so
  }

Reviewed By: @jdelong

Differential Revision: D976840