OSDN Git Service

AArch64: Jni compiler fixes
authorSerban Constantinescu <serban.constantinescu@arm.com>
Wed, 9 Apr 2014 17:39:10 +0000 (18:39 +0100)
committerAndreas Gampe <agampe@google.com>
Fri, 11 Apr 2014 00:12:09 +0000 (17:12 -0700)
commit75b9113b2b0a5807043af2a669a93d1579af8e2c
treeb421bbfbac8dd3337c9e918a570e292d8c77953b
parente81a7c314afc8f92afcdbc3cbc2331afca7dcb3d
AArch64: Jni compiler fixes

This patch fixes some of the issues with the ARM64 assembler and JNI
compiler.

The JNI compiler is not enabled by default, yet. To enable, change
line 1884 in compiler/driver/compiler_driver.cc, removing kArm64 from
the GenericJNI list.

The compiler passes all tests in jni_compiler_test.

Also change the common_compiler_test instruction-set-features logic.
We allow tests when the build-time features are a subset of the
runtime features.

Dex2oat cross-compiling is now working. A 32b version of dex2oat should
be able to compile correctly.

Change-Id: I51d1c24f2c75d4397a11c54724a8b277ff3b3df8
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
14 files changed:
compiler/common_compiler_test.h
compiler/jni/quick/arm64/calling_convention_arm64.cc
compiler/jni/quick/arm64/calling_convention_arm64.h
compiler/jni/quick/calling_convention.cc
compiler/jni/quick/calling_convention.h
compiler/jni/quick/jni_compiler.cc
compiler/utils/arm64/assembler_arm64.cc
compiler/utils/arm64/assembler_arm64.h
compiler/utils/arm64/constants_arm64.h
compiler/utils/managed_register.h
runtime/arch/arm64/jni_entrypoints_arm64.S
runtime/arch/arm64/quick_entrypoints_arm64.S
runtime/arch/arm64/registers_arm64.h
runtime/instruction_set.h