diff options
| author | 2017-01-26 22:47:27 +0000 | |
|---|---|---|
| committer | 2017-01-26 22:50:25 +0000 | |
| commit | a72859d58e9d18db4a9e33ecca6902d8594266b0 (patch) | |
| tree | 27e7a225387cd51efd95cb89ffc7b13b347815bb /compiler/optimizing | |
| parent | 5b3c6c0fcca76d82a4c9acb03f7714457ae53dd9 (diff) | |
You shall know your arm32 calling conventions.
64bit values are passed starting an even register.
test: ./art/test/run-test --no-relocate 529-checker-unresolved
Change-Id: Ic3012f34898702b48fdab4d7a77dfdd4c2a1d916
Diffstat (limited to 'compiler/optimizing')
| -rw-r--r-- | compiler/optimizing/code_generator_arm.h | 4 | ||||
| -rw-r--r-- | compiler/optimizing/code_generator_arm_vixl.h | 4 |
2 files changed, 2 insertions, 6 deletions
diff --git a/compiler/optimizing/code_generator_arm.h b/compiler/optimizing/code_generator_arm.h index b38c9155ef..52d18575ff 100644 --- a/compiler/optimizing/code_generator_arm.h +++ b/compiler/optimizing/code_generator_arm.h @@ -128,9 +128,7 @@ class FieldAccessCallingConventionARM : public FieldAccessCallingConvention { } Location GetSetValueLocation(Primitive::Type type, bool is_instance) const OVERRIDE { return Primitive::Is64BitType(type) - ? (is_instance - ? Location::RegisterPairLocation(R2, R3) - : Location::RegisterPairLocation(R1, R2)) + ? Location::RegisterPairLocation(R2, R3) : (is_instance ? Location::RegisterLocation(R2) : Location::RegisterLocation(R1)); diff --git a/compiler/optimizing/code_generator_arm_vixl.h b/compiler/optimizing/code_generator_arm_vixl.h index 719604c7b1..be653535ea 100644 --- a/compiler/optimizing/code_generator_arm_vixl.h +++ b/compiler/optimizing/code_generator_arm_vixl.h @@ -199,9 +199,7 @@ class FieldAccessCallingConventionARMVIXL : public FieldAccessCallingConvention } Location GetSetValueLocation(Primitive::Type type, bool is_instance) const OVERRIDE { return Primitive::Is64BitType(type) - ? (is_instance - ? helpers::LocationFrom(vixl::aarch32::r2, vixl::aarch32::r3) - : helpers::LocationFrom(vixl::aarch32::r1, vixl::aarch32::r2)) + ? helpers::LocationFrom(vixl::aarch32::r2, vixl::aarch32::r3) : (is_instance ? helpers::LocationFrom(vixl::aarch32::r2) : helpers::LocationFrom(vixl::aarch32::r1)); |