ART: Better SSA Allocation when recreating SSA

The SSA calculation is not allocation friendly. This makes the
SSARepresentation remember how much is allocated and not reallocate
if SSA should be recalculated.

Also added some allocation friendly code for the dominance code.

Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
Change-Id: I6418b402434bd850b45771c75b7631b7b84a8f66
Begin migration of art::Atomic to std::atomic.

Change-Id: I4858d9cbed95e5ca560956b9dabd976cebe68333
Work around Mac assembler differences.

Change-Id: Iba46c1794044e92f5a25bf7f836e0d919ed1f38c
Secure move-exception in intepreter

Copies exception into the shadow frame before clearing it from its thread so
it's always reachable.

Change-Id: Ifdc68280424f5099aacf0724da94889881a99551
64-bit temp register support.

Add a 64-bit temp register allocation path.  The recent physical
register handling rework supports multiple views of the same
physical register (or, such as for Arm's float/double regs,
different parts of the same physical register).

This CL adds a 64-bit core register view for 64-bit targets. In
short, each core register will have a 64-bit name, and a 32-bit
name.  The different views will be kept in separate register pools,
but aliasing will be tracked.  The core temp register allocation
routines will be largely identical - except for 32-bit targets,
which will continue to use pairs of 32-bit core registers for holding
long values.

Change-Id: I8f118e845eac7903ad8b6dcec1952f185023c053
Merge "64-bit temp register support."
Change zygote_creation_lock_ to be member instead of static.

Static variables aren't thread safe and could cause the zygote to be
created twice.

Bug: 15133494
Change-Id: I65c8f089bed8de93f895b62b3dcff4c936931860
Merge "Change zygote_creation_lock_ to be member instead of static."
ART: Fix libjavacore dependency

Add a dependency for libjavacore for the secondary architecture.

Change-Id: I30f07c200e1cbb7d50b026fa6b21d09ab9aadd66
ART: Add INVOKE_TRAMPOLINE and imt_conflict stub to 64b architectures

"Generalize" the return type notion of the interface helpers.

Includes a simple test for imt_conflict. The other interface
trampolines are as of yet untested.

Change-Id: I30fc75f5103766d57628ff22bcbac7c7f81037e3
Merge "ART: Add INVOKE_TRAMPOLINE and imt_conflict stub to 64b architectures"
ART: Make StubTest IMT sanity check a warning

It seems we can't rely on the specific test against a framework
class. Make the sanity check a warning right now, and fix this up
later.

Change-Id: I673edf33cb4a61e20a4ec806b311deebce86e4de
Merge "ART: Fix libjavacore dependency"
Merge "Work around Mac assembler differences."
Merge "ART: Make StubTest IMT sanity check a warning"
ART: Fix stub test inline assembly for x86

Clang can handle the register pressure, but GCC can't. Make one
a memory constraint.

Change-Id: I49f048b29f5677449bf6ee6282516462332ee645
Fix test-art-target-oat for multi target

Avoids running dalvikvm with 32-bit native library. When the primary target is
64-bit, dalvikvm is a symlink to dalvikvm64 which can't load 32-bit native
library.

Bug: 15131102
Change-Id: I29c2f3b5a62b5f507674f3f6d1b9f3f2e5a9de23
Merge "Fix test-art-target-oat for multi target"
Merge "ART: Fix stub test inline assembly for x86"
Quick compiler: free up space in MIR.

The width field in MIR isn't especially useful - it could always
be recalculated from the Dalvik instruction.  This CL eliminates
it to allow the 16 bits it occupied to be used for the ID of the
parent BasicBlock.

Change-Id: I75ab8562ca217f0f819ecfc417014dee74bc587e