diff options
| -rw-r--r-- | compiler/utils/arm/jni_macro_assembler_arm_vixl.cc | 4 | ||||
| -rw-r--r-- | compiler/utils/jni_macro_assembler.cc | 4 | 
2 files changed, 6 insertions, 2 deletions
diff --git a/compiler/utils/arm/jni_macro_assembler_arm_vixl.cc b/compiler/utils/arm/jni_macro_assembler_arm_vixl.cc index f20ed0a0d0..fb6f172cb0 100644 --- a/compiler/utils/arm/jni_macro_assembler_arm_vixl.cc +++ b/compiler/utils/arm/jni_macro_assembler_arm_vixl.cc @@ -564,6 +564,8 @@ void ArmVIXLJNIMacroAssembler::CallFromThread(ThreadOffset32 offset ATTRIBUTE_UN  }  void ArmVIXLJNIMacroAssembler::GetCurrentThread(ManagedRegister mtr) { +  UseScratchRegisterScope temps(asm_.GetVIXLAssembler()); +  temps.Exclude(mtr.AsArm().AsVIXLRegister());    ___ Mov(mtr.AsArm().AsVIXLRegister(), tr);  } @@ -608,6 +610,8 @@ void ArmVIXLJNIMacroAssembler::Jump(JNIMacroLabel* label,                                      ManagedRegister test) {    CHECK(label != nullptr); +  UseScratchRegisterScope temps(asm_.GetVIXLAssembler()); +  temps.Exclude(test.AsArm().AsVIXLRegister());    switch (condition) {      case JNIMacroUnaryCondition::kZero:        ___ CompareAndBranchIfZero(test.AsArm().AsVIXLRegister(), diff --git a/compiler/utils/jni_macro_assembler.cc b/compiler/utils/jni_macro_assembler.cc index 1b743134ed..2f154fb862 100644 --- a/compiler/utils/jni_macro_assembler.cc +++ b/compiler/utils/jni_macro_assembler.cc @@ -20,7 +20,7 @@  #include <vector>  #ifdef ART_ENABLE_CODEGEN_arm -#include "arm/jni_macro_assembler_arm.h" +#include "arm/jni_macro_assembler_arm_vixl.h"  #endif  #ifdef ART_ENABLE_CODEGEN_arm64  #include "arm64/jni_macro_assembler_arm64.h" @@ -58,7 +58,7 @@ MacroAsm32UniquePtr JNIMacroAssembler<PointerSize::k32>::Create(  #ifdef ART_ENABLE_CODEGEN_arm      case kArm:      case kThumb2: -      return MacroAsm32UniquePtr(new (arena) arm::ArmJNIMacroAssembler(arena, instruction_set)); +      return MacroAsm32UniquePtr(new (arena) arm::ArmVIXLJNIMacroAssembler(arena));  #endif  #ifdef ART_ENABLE_CODEGEN_mips      case kMips:  |