diff options
| author | 2015-04-22 16:24:46 +0100 | |
|---|---|---|
| committer | 2015-05-22 12:01:07 +0100 | |
| commit | 9bd88b0933a372e6a7b64b850868e6a7998567e2 (patch) | |
| tree | bcd275674c1234842b757ea8e100c4030f9ac6fe /compiler/optimizing | |
| parent | 01cb410f4ad23135671d821ba36c269f8c82affa (diff) | |
ARM64: Move xSELF from x18 to x19.
This patch moves xSELF to callee saved x19 and removes support for
ETR (external thread register), previously used across native calls.
Change-Id: Icee07fbb9292425947f7de33d10a0ddf98c7899b
Signed-off-by: Serban Constantinescu <serban.constantinescu@linaro.org>
Diffstat (limited to 'compiler/optimizing')
| -rw-r--r-- | compiler/optimizing/code_generator_arm64.h | 6 | ||||
| -rw-r--r-- | compiler/optimizing/optimizing_cfi_test_expected.inc | 18 |
2 files changed, 12 insertions, 12 deletions
diff --git a/compiler/optimizing/code_generator_arm64.h b/compiler/optimizing/code_generator_arm64.h index b56ca10874..ab793a5c92 100644 --- a/compiler/optimizing/code_generator_arm64.h +++ b/compiler/optimizing/code_generator_arm64.h @@ -44,7 +44,7 @@ static const vixl::FPRegister kParameterFPRegisters[] = { }; static constexpr size_t kParameterFPRegistersLength = arraysize(kParameterFPRegisters); -const vixl::Register tr = vixl::x18; // Thread Register +const vixl::Register tr = vixl::x19; // Thread Register static const vixl::Register kArtMethodRegister = vixl::w0; // Method register on invoke. const vixl::CPURegList vixl_reserved_core_registers(vixl::ip0, vixl::ip1); @@ -52,10 +52,10 @@ const vixl::CPURegList vixl_reserved_fp_registers(vixl::d31); const vixl::CPURegList runtime_reserved_core_registers(tr, vixl::lr); -// Callee-saved registers defined by AAPCS64. +// Callee-saved registers AAPCS64 (without x19 - Thread Register) const vixl::CPURegList callee_saved_core_registers(vixl::CPURegister::kRegister, vixl::kXRegSize, - vixl::x19.code(), + vixl::x20.code(), vixl::x30.code()); const vixl::CPURegList callee_saved_fp_registers(vixl::CPURegister::kFPRegister, vixl::kDRegSize, diff --git a/compiler/optimizing/optimizing_cfi_test_expected.inc b/compiler/optimizing/optimizing_cfi_test_expected.inc index 2125f6eb01..ecb3b0a3a2 100644 --- a/compiler/optimizing/optimizing_cfi_test_expected.inc +++ b/compiler/optimizing/optimizing_cfi_test_expected.inc @@ -32,20 +32,20 @@ static constexpr uint8_t expected_cfi_kThumb2[] = { // 0x00000012: .cfi_def_cfa_offset: 64 static constexpr uint8_t expected_asm_kArm64[] = { - 0xE0, 0x0F, 0x1C, 0xB8, 0xF3, 0xD3, 0x02, 0xA9, 0xFE, 0x1F, 0x00, 0xF9, - 0xE8, 0xA7, 0x01, 0x6D, 0xE8, 0xA7, 0x41, 0x6D, 0xF3, 0xD3, 0x42, 0xA9, + 0xE0, 0x0F, 0x1C, 0xB8, 0xF4, 0xD7, 0x02, 0xA9, 0xFE, 0x1F, 0x00, 0xF9, + 0xE8, 0xA7, 0x01, 0x6D, 0xE8, 0xA7, 0x41, 0x6D, 0xF4, 0xD7, 0x42, 0xA9, 0xFE, 0x1F, 0x40, 0xF9, 0xFF, 0x03, 0x01, 0x91, 0xC0, 0x03, 0x5F, 0xD6, }; static constexpr uint8_t expected_cfi_kArm64[] = { - 0x44, 0x0E, 0x40, 0x44, 0x93, 0x06, 0x94, 0x04, 0x44, 0x9E, 0x02, 0x44, + 0x44, 0x0E, 0x40, 0x44, 0x94, 0x06, 0x95, 0x04, 0x44, 0x9E, 0x02, 0x44, 0x05, 0x48, 0x0A, 0x05, 0x49, 0x08, 0x0A, 0x44, 0x06, 0x48, 0x06, 0x49, - 0x44, 0xD3, 0xD4, 0x44, 0xDE, 0x44, 0x0E, 0x00, 0x44, 0x0B, 0x0E, 0x40, + 0x44, 0xD4, 0xD5, 0x44, 0xDE, 0x44, 0x0E, 0x00, 0x44, 0x0B, 0x0E, 0x40, }; // 0x00000000: str w0, [sp, #-64]! // 0x00000004: .cfi_def_cfa_offset: 64 -// 0x00000004: stp x19, x20, [sp, #40] -// 0x00000008: .cfi_offset: r19 at cfa-24 -// 0x00000008: .cfi_offset: r20 at cfa-16 +// 0x00000004: stp x20, x21, [sp, #40] +// 0x00000008: .cfi_offset: r20 at cfa-24 +// 0x00000008: .cfi_offset: r21 at cfa-16 // 0x00000008: str lr, [sp, #56] // 0x0000000c: .cfi_offset: r30 at cfa-8 // 0x0000000c: stp d8, d9, [sp, #24] @@ -55,9 +55,9 @@ static constexpr uint8_t expected_cfi_kArm64[] = { // 0x00000010: ldp d8, d9, [sp, #24] // 0x00000014: .cfi_restore_extended: r72 // 0x00000014: .cfi_restore_extended: r73 -// 0x00000014: ldp x19, x20, [sp, #40] -// 0x00000018: .cfi_restore: r19 +// 0x00000014: ldp x20, x21, [sp, #40] // 0x00000018: .cfi_restore: r20 +// 0x00000018: .cfi_restore: r21 // 0x00000018: ldr lr, [sp, #56] // 0x0000001c: .cfi_restore: r30 // 0x0000001c: add sp, sp, #0x40 (64) |