diff options
| author | Nicolas Geoffray <ngeoffray@google.com> | 2017-01-19 14:22:26 +0000 |
|---|---|---|
| committer | Nicolas Geoffray <ngeoffray@google.com> | 2017-01-26 10:37:58 +0000 |
| commit | 5b3c6c0fcca76d82a4c9acb03f7714457ae53dd9 (patch) | |
| tree | e1678dcd577abb63391a0cfcbb27a69a0ac4e769 /compiler/optimizing/code_generator_arm.h | |
| parent | c9569731061e560cb56116255b00a49d6a5daeb8 (diff) | |
Refactor code for unresolved field entrypoint.
- Do macro magic to avoid source code duplication.
- Do not fetch the referrer from the assembly, but
from the C entrypoint instead.
Test: test-art-host test-art-target
Change-Id: Ib139c94bc8f74686640cad538ba75dc56fa00e1d
Diffstat (limited to 'compiler/optimizing/code_generator_arm.h')
| -rw-r--r-- | compiler/optimizing/code_generator_arm.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/optimizing/code_generator_arm.h b/compiler/optimizing/code_generator_arm.h index 52d18575ff..b38c9155ef 100644 --- a/compiler/optimizing/code_generator_arm.h +++ b/compiler/optimizing/code_generator_arm.h @@ -128,7 +128,9 @@ class FieldAccessCallingConventionARM : public FieldAccessCallingConvention { } Location GetSetValueLocation(Primitive::Type type, bool is_instance) const OVERRIDE { return Primitive::Is64BitType(type) - ? Location::RegisterPairLocation(R2, R3) + ? (is_instance + ? Location::RegisterPairLocation(R2, R3) + : Location::RegisterPairLocation(R1, R2)) : (is_instance ? Location::RegisterLocation(R2) : Location::RegisterLocation(R1)); |
