50abf0ad03c2cad0fa7969fc1b0bfadb0ca3bf3a |
23-Jun-2014 |
Dave Allison <dallison@google.com> |
Move trampolines to thumb2 instead of ARM Currently the entrypoint trampolines are compiled using the ARM32 assembler. This changes that to use the thumb2 assembler for consistency with the other compiled code. Bug: 15455279 Change-Id: I6bacdf359e2ae4c0967fb5cd9dc694af11f802ec
rampoline_compiler.cc
|
65fcc2cf3c5cd97b84330c094908f3a6a7a8d4e7 |
28-Apr-2014 |
Dave Allison <dallison@google.com> |
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
rampoline_compiler.cc
|
700a402244a1a423da4f3ba8032459f4b65fa18f |
20-May-2014 |
Ian Rogers <irogers@google.com> |
Now we have a proper C++ library, use std::unique_ptr. Also remove the Android.libcxx.mk and other bits of stlport compatibility mechanics. Change-Id: Icdf7188ba3c79cdf5617672c1cfd0a68ae596a61
rampoline_compiler.cc
|
0f89dac7336251f7921621a926319d461837840f |
08-May-2014 |
Serban Constantinescu <serban.constantinescu@arm.com> |
AArch64: Fix the usage of IP0, IP1 as temporary registers This patch fixes the usage of temporary registers by using VIXL's UseScratchRegisterScope. For the primitives used by the trampoline compiler we explicitly exclude IP0, IP1 from the temporary list. Change-Id: Icf9afbabd93214302891ddd536ce03a9c181463b Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
rampoline_compiler.cc
|
dd7624d2b9e599d57762d12031b10b89defc9807 |
15-Mar-2014 |
Ian Rogers <irogers@google.com> |
Allow mixing of thread offsets between 32 and 64bit architectures. Begin a more full implementation x86-64 REX prefixes. Doesn't implement 64bit thread offset support for the JNI compiler. Change-Id: If9af2f08a1833c21ddb4b4077f9b03add1a05147
rampoline_compiler.cc
rampoline_compiler.h
|
c6ee54e9a9fd67d24c63bd802ef2fe540a4f86a5 |
25-Mar-2014 |
Andreas Gampe <agampe@google.com> |
Trampoline and assembly fixes for ARM64 Trampolines need a jump, not a call. Expose br in the ARM64 assembler to allow this. The resolution trampoline is called with the Quick ABI, and will continue to a Quick ABI function. Then the method pointer must be in x0. Change-Id: I4e383b59d6c40a659d324a7faef3fadf0c890178
rampoline_compiler.cc
|
b95a5345ae4217b70ca36f0cced92f68dda7caf5 |
12-Mar-2014 |
Stuart Monteith <stuart.monteith@arm.com> |
AArch64: Add arm64 runtime support. Adds support for arm64 to ART. Assembler stubs are sufficient for down calls into interpreter. JNI compiler and generics are not finished. Basic Generic JNI functionality. Change-Id: I4a07c79d1e037b9f5746673480e32cf456867b82
rampoline_compiler.cc
|
719d1a33f6569864f529e5a3fff59e7bca97aad0 |
06-Mar-2014 |
Ian Rogers <irogers@google.com> |
Enable annotalysis on clang ART builds. Fix clang build errors aswell as restructure locking/mutex code for correct thread safety analysis support. Reorder make dependencies so that host builds build first as they should provide better compilation errors than target. Remove host's use of -fno-omit-frame-pointer as it has no value with correct use of CFI, which we should have. Change-Id: I72cea8da9a3757b1a0b3acb4081feccb7c6cef90
rampoline_compiler.h
|
befbd5731ecca08f08780ee28a913d08ffb14656 |
06-Mar-2014 |
Ian Rogers <irogers@google.com> |
Fix host architecture for 64bit. Also, hack x86 assembler for use as a x86-64 trampoline compiler's assembler. Implement missing x86-64 quick resolution trampoline. Add x86-64 to the quick elf writer. Change-Id: I08216c67014a83492ada12898ab8000218ba7bb4
rampoline_compiler.cc
|
659efe783f45f46b9940aecf07be981057102ca7 |
08-Aug-2013 |
Ian Rogers <irogers@google.com> |
Fix missing files. Build fix. Change-Id: I06ae40611ab1631be8ebea912430a824a086c98f (cherry picked from commit d8de72f54f6076218373af4abf76dd2a548f13e3)
rampoline_compiler.cc
rampoline_compiler.h
|