Verify there's no mem map gap for immune region not to break.

This adds code that verifies that there's no memory map gap between
the image space and the main space so that the immune region
functionality won't silently break. For example, if there's a gap and
a large object is allocated in that gap, the large object is
incorrectly part of the immune region and the marking breaks.

Bug: 14059466
Change-Id: Ie6ed82988d74b6d0562ebbbaac96ee43c15b14a6
Fix X86 disassambler printing of XMM, MM registers

Printing of uint8_t is done as a char, rather than an integer.

Change-Id: I996e7d7dd902695be6366ab816fea65b675c2ad9
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Use std::enable_if instead of a custom helper class.

Change-Id: Iffa0f0350ccc4fce698b9a16aefd340e16654076
Merge "Fix X86 disassambler printing of XMM, MM registers"
Merge "Use std::enable_if instead of a custom helper class."
Workaround for running out of address space on N7v1.

Bug: 13564922
Change-Id: I2ac466f613e465691078c41b2693f2327d07a0a8
Merge "Workaround for running out of address space on N7v1."
Merge "Verify there's no mem map gap for immune region not to break."
Thumb2 assembler for JNI compiler and optimizing compiler

This provides a programmatic assembler for the thumb2 instruction set for
ARM.  The interface is the same as the ARM assembler and the ARM assembler has
been moved into Arm32Assembler.  The assembler handles most 16 and 32 bit instructions
and also allows relocations due to branch expansion.  It will also rewrite cbz/cbnz
instructions if they go out of range.

It also changes the JNI compiler to use the thumb2 assembler as opposed
to forcing it to use ARM32.  The trampoline compiler still uses ARM due to the
way it returns the address of its generated code.  A trampoline in thumb2 is the
same size as that in ARM anyway (8 bytes).

Provides gtest for testing the thumb2 instruction output.  This gtest only runs
on the host as it uses arm-eabi-objdump to disassemble the generated code.  On the
target the output is not checked but the assembler will still be run to perform
all its checks.

Change-Id: Icd9742b6f13541bec5b23097896727392e3a6fb6
Merge "Thumb2 assembler for JNI compiler and optimizing compiler"
auto-merger: merge in from aosp/master