Fix PreparableStackTestCase

My big diff changed the way getOrigFuncName behaves for non-static
method continuations. It should return the classname of the continuation's
$this, not the classname where the method is actually defined.
The array_issetm_* helpers can reenter
Basic support for movdqa in asm-x64.h

Adds support for loads and stores.  Reg-to-reg moves should
be easy on top of this but aren't added yet.  Also fixes bugs when you
use rbp or r13 with cmp_imm8_disp_reg8, and adds assertions about rsp
and r12 (which it also doesn't handle correctly).
Use movdqa to copy TypedValues in RetC

Instead of a pair of loads and stores.
Use movdqa for CGetProp

We know that object properties are aligned, so we can use
these to copy them to the stack.
Minor cleanup (dead typechecks and move stackOverflowHelper)

Put the stackoverflow helper at the end of the astubs helpers
(it should be rare), align callToExit, remove some dead typechecks,
and remove an unused tv_helper.h function.
Don't use unary stubs in emitDecRef

Right now we jump to a register-specialized astubs block that
just jumps back to another stub that pushes a ton of regs and then
calls a destructor.  Since we're already specializing, we might as
well specialize the push code to be specific to the register allocator
state.  Still calls the unary stubs in the case that emitDecRef is
happening on astubs.
Add loaded units count to check-health admin port command

This is also a number we'll care about in production.
Temporarily disable persistent classes

They're causing problems with some www revisions. Unfortunately I
couldn't get the problems to go away with a more precise hammer than
this, so hopefully we'll have a real fix soon.
Add syntax for directly calling a closure stored in a property

When a closure is stored in a property (ex. "$o->p = function(){..};"),
there is no way to call the closure directly. Currently, if the user wants
to invoke a closure stored in a property, an intermediate local variable
must be used like so: "$cl = $o->p; $cl();".

This diff tweaks HipHop's grammar to be a little more flexible so that it
is possible to directly invoke a closure stored in an object property. If
a closure stored inside "$o->p", the closure can be invoked like so:
"($o->p)();". The parentheses wrapped around "$o->p" lets the parser know
that we are not calling a method named "p", but rather we are invoking a
closure stored in a property named "p".

This diff also introduces similar syntax for invoking a closure stored in
a static property ("(C::$x)()") or in an array inside a static property
("(C::$x[0])()").
Add ArrayData::m_kind field to support easy array typechecks.

We need a better way to do instanceof checks from C++ code,
without doing hacky testing of the vtable pointer value.
This patch also moves a few other fields so ZendArray,
HphpArray, and VectorArray stay packed as well as before.
Remove unused emitPropGet from translator-x64-vector.cpp

Nothing seems to use this.
Faster checks for string types

This diff shifts DataType values to enable a faster check for
"KindOfString or KindOfStaticString". The old sequence was a
"mov + and + cmp", which is replaced by a single "test".
Add assembler support for movdqu and lddqu

More xmm.
Use some more xmm in vector translator

A couple other places that are safe to use emitCopyToAligned.
Add a line to invariants about catch entry points
Machine code generic return helper, and minor RetC tweaks

Replaces frame_free_locals with an asm stub.  This involves a
change to the order that we destroy locals, and destroys m_this before
destroying locals.  Also changes it so we still inline returns for
functions with AttrMayUseVV, so all calls to this helper have more
than kFewLocals to free, allowing a little less branching.
Fix the doc for TRACE_SET_MOD

In the header of trace.h, when explaining how to set the module,
use the new macro TRACE_SET_MOD instead of manually setting the
static variable.
Optimized the iter_next_array runtime helper via hot/cold splitting.

Optimized iter_next_array by splitting it into a hot part and
a cold part. gcc now generates really nice code for it. The hot part is a
leaf function that uses only caller-saved registers, so there are no frame
creation or register save overheads. The cold part is a tail function call
invoked via a jump.
Fix KindOfUninit setting in freeLocalsHelper

Typo; this should be setting m_type.