summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorAndreas Gampe <agampe@google.com>2014-04-21 19:28:24 -0700
committerAndreas Gampe <agampe@google.com>2014-04-25 16:13:27 -0700
commit5c1e4352614d61fed6868567e58b96682828cb4d (patch)
treec723c7883f80083b885c590a7fc514684667c1a3 /build
parent7f40b111755e300ddddd6839425337fe3af8d4e7 (diff)
downloadart-5c1e4352614d61fed6868567e58b96682828cb4d.zip
art-5c1e4352614d61fed6868567e58b96682828cb4d.tar.gz
art-5c1e4352614d61fed6868567e58b96682828cb4d.tar.bz2
Add "arch_test" gtest for assembly stub constants, add some ARM64 assembly code
Add a test that (1) checks all callee-save method frame sizes for all architectures, (2) checks thread offsets for the runtime architecture and (3) checks callee-save method offsets for the runtime architecture. The "asm_support_XXX.h" files now only contain definitions that are common between all architectures. Architecture-specific definitions (i.e., special registers names) have been pushed into the corresponding .S file. This change was required to be able to undefine definitions in the test, so that multiple tests can be written in one file. Test (1) above is in a sense two-stage. The arch_test gtest compares constants (if it finds them) against the frame size as reported by the ArtMethods created by the Runtime. This works for all architectures as we can provide the instruction-set to CreateCalleeSaveMethod. The second stage of the "test" are preprocessor tests with "#error" in the case that the constants are not the expected value. Optimally I'd like to change that to an actual runtime test exercising the assembly code, which would also allow to check whether the right registers are stored. Also added missing assembly code for ARM64 for the callee-save macros. Also fix X86_64 compilation for Clang 3.5. Change-Id: I018e6433dffd3d31ba3bfcd75661653f4c7b6552
Diffstat (limited to 'build')
-rw-r--r--build/Android.gtest.mk1
1 files changed, 1 insertions, 0 deletions
diff --git a/build/Android.gtest.mk b/build/Android.gtest.mk
index 8357b8e..12af0c4 100644
--- a/build/Android.gtest.mk
+++ b/build/Android.gtest.mk
@@ -17,6 +17,7 @@
LOCAL_PATH := art
RUNTIME_GTEST_COMMON_SRC_FILES := \
+ runtime/arch/arch_test.cc \
runtime/arch/stub_test.cc \
runtime/barrier_test.cc \
runtime/base/bit_field_test.cc \