Simplify GenConstString

Now it's the same code for all platforms.

Bug: 13506069
Change-Id: I42c08a9dc99a3079caad01602de84296c9357dd8
Don't allow allocating finalizable objects during transactions.

It doesn't make sense to allocate finalizable objects during a
transcation since they will never get finalized without a started
runtime.

Before StatusInitialized in core.host.oatdump.txt: 3564
After StatusInitialized in core.host.oatdump.txt: 3564

Bug: 14078487

Change-Id: I7070536f7bb87bfc691d4268bd39a3eca492f48e
Add additional flags to make ART_TARGET_CLANG function with 3.5.

Change-Id: I5fbf29e5d08d905f7585fb6d0de9472e3f3ed218
Merge "Simplify GenConstString"
Merge "Don't allow allocating finalizable objects during transactions."
Add thread unsafe allocation methods to spaces.

Used by SS/GSS collectors since these run with mutators suspended and
only allocate from a single thread. Added AllocThreadUnsafe to
BumpPointerSpace and RosAllocSpace. Added AllocThreadUnsafe which uses
current runs as thread local runs for a thread unsafe allocation.
Added code to revoke current runs which are the same idx as thread
local runs.

Changed:
The number of thread local runs in each thread is now the the number
of thread local runs in RosAlloc instead of the number of size
brackets.

Total GC time / time on EvaluateAndApplyChanges.
TLAB SS:
Before: 36.7s / 7254
After: 16.1s / 4837

TLAB GSS:
Before: 6.9s / 3973
After: 5.7s / 3778

Bug: 8981901

Change-Id: Id1d264ade3799f431bf7ebbdcca6146aefbeb632
Clean up Add/Remove space.

Deleted the set_as_default parameter and added a new function
SetSpaceAsDefault instead.

Change-Id: Ic4c359854d08e64ac0d0df92f0105447adb9df36
Implement art_quick_aput_object stubs for X86-64 and ARM64

Implement the aput_object stubs for 64b architectures and enable
their testing in stub_test.

Fix missing @PLT for x86.

Add automatic _local labels in function definitions in x86-64 so we
can make local jumps (instead of PLT hoops).

Change-Id: I614b88fd5966acd8a564b87c47d4c50ee605320c
Add heap reference size to the checks in arch_test

As we will potentially make heap references larger than 32b on 64b
systems at some point, add a constant to the .h files that describes
what the current assembly implementation assumes about the size of
heap references, and check whether that agrees with sizeof.

Change-Id: I75ffd7e2b59891ec36977fd831a8d5faac69c76d
Merge "Implement art_quick_aput_object stubs for X86-64 and ARM64"
Merge "Add heap reference size to the checks in arch_test"
x86_64 Assembler Test Infrastructure, fix x86_64 assembler

Some infrastructure to do real assembler testing. Need to extend to
other assemblers, and a lot more tests.

Fix some of the cases of the x86_64 assembler.

Change-Id: I15b5f3a094af469130db68a95a66602cf30d8fc4
Merge "x86_64 Assembler Test Infrastructure, fix x86_64 assembler"
Fix host build with clang 3.3

(cherry picked from commit d31ce7d053045f4c8509ae6ab61819287010ad92)

Change-Id: If4133d72a61b23347cb2da549308cf6fb0280850
Merge "Fix host build with clang 3.3"
Use instruction specific dalvik cache dirs.

- All oat & art files are now placed under /data/dalvik-cache/<isa>/.
- GetDalvikCacheOrDie now requires a mandatory subdirectory argument,
  and is implicitly rooted under /data/.
- Added helper methods to convert InstructionSet enums into strings
  and vice versa.

(cherry picked from commit 2974bc3d8a5d161d449dd66826d668d87bdc3cbe)

Change-Id: Ic7986938e6a7091a2af675ebafec768f7b5fb8cd
Fix errno checking for dalvik-cache creation.

On the host, it's possible for /tmp/foo/dalvik-cache/<isa> to
not exist, but for /tmp/foo/dalvik-cache to be already present.
In this scenario, the first mkdir() can fail with EEXIST.

(cherry picked from commit 6fa28aef44106eef4a7195adb5eb77f6e5531572)

Change-Id: I1da79ad23a4ff510a0f87eca4b52d9f52ab791ad
Merge "Use instruction specific dalvik cache dirs."
Merge "Fix errno checking for dalvik-cache creation."
Don't leak oat file when we fail to open a dex file.

Change-Id: I929b34d240d2052d1eea8344b6fa79646920a4c1