diff options
| author | 2016-09-06 17:59:40 +0000 | |
|---|---|---|
| committer | 2016-09-06 17:59:40 +0000 | |
| commit | 49fa4f28a27e18427c5c37afb39dbb503ea02b13 (patch) | |
| tree | 748ddc8c1e0e9851cfacb861b4ae25e6594f38c1 | |
| parent | 9d185da3bef8caf015d3dbf4ad79c520af7ce3b1 (diff) | |
| parent | 52d0fce5958013d8e6fe50919d48efacbfcb3d3e (diff) | |
Merge "ARM: VIXL32: Support a newer version of VIXL."
| -rw-r--r-- | compiler/utils/arm/jni_macro_assembler_arm_vixl.cc | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/compiler/utils/arm/jni_macro_assembler_arm_vixl.cc b/compiler/utils/arm/jni_macro_assembler_arm_vixl.cc index 719fe7f3a1..a03dd74657 100644 --- a/compiler/utils/arm/jni_macro_assembler_arm_vixl.cc +++ b/compiler/utils/arm/jni_macro_assembler_arm_vixl.cc @@ -73,12 +73,11 @@ void ArmVIXLJNIMacroAssembler::BuildFrame(size_t frame_size, cfi().RelOffsetForMany(DWARFReg(r0), 0, core_spill_mask, kFramePointerSize); if (fp_spill_mask != 0) { uint32_t first = CTZ(fp_spill_mask); - uint32_t last = first + POPCOUNT(fp_spill_mask) - 1; // Check that list is contiguous. DCHECK_EQ(fp_spill_mask >> CTZ(fp_spill_mask), ~0u >> (32 - POPCOUNT(fp_spill_mask))); - ___ Vpush(SRegisterList(vixl32::SRegister(first), vixl32::SRegister(last))); + ___ Vpush(SRegisterList(vixl32::SRegister(first), POPCOUNT(fp_spill_mask))); cfi().AdjustCFAOffset(POPCOUNT(fp_spill_mask) * kFramePointerSize); cfi().RelOffsetForMany(DWARFReg(s0), 0, fp_spill_mask, kFramePointerSize); } @@ -136,11 +135,10 @@ void ArmVIXLJNIMacroAssembler::RemoveFrame(size_t frame_size, if (fp_spill_mask != 0) { uint32_t first = CTZ(fp_spill_mask); - uint32_t last = first + POPCOUNT(fp_spill_mask) - 1; // Check that list is contiguous. DCHECK_EQ(fp_spill_mask >> CTZ(fp_spill_mask), ~0u >> (32 - POPCOUNT(fp_spill_mask))); - ___ Vpop(SRegisterList(vixl32::SRegister(first), vixl32::SRegister(last))); + ___ Vpop(SRegisterList(vixl32::SRegister(first), POPCOUNT(fp_spill_mask))); cfi().AdjustCFAOffset(-kFramePointerSize * POPCOUNT(fp_spill_mask)); cfi().RestoreMany(DWARFReg(s0), fp_spill_mask); } |