diff options
Diffstat (limited to 'compiler/optimizing')
| -rw-r--r-- | compiler/optimizing/code_generator_arm_vixl.cc | 6 | 
1 files changed, 4 insertions, 2 deletions
| diff --git a/compiler/optimizing/code_generator_arm_vixl.cc b/compiler/optimizing/code_generator_arm_vixl.cc index 83c289e866..f496d29b59 100644 --- a/compiler/optimizing/code_generator_arm_vixl.cc +++ b/compiler/optimizing/code_generator_arm_vixl.cc @@ -431,10 +431,12 @@ class LoadClassSlowPathARMVIXL : public SlowPathCodeARMVIXL {        // TODO: Change art_quick_initialize_type/art_quick_initialize_static_storage to        // kSaveEverything and use a temporary for the .bss entry address in the fast path,        // so that we can avoid another calculation here. +      UseScratchRegisterScope temps(down_cast<CodeGeneratorARMVIXL*>(codegen)->GetVIXLAssembler()); +      vixl32::Register temp = temps.Acquire();        CodeGeneratorARMVIXL::PcRelativePatchInfo* labels =            arm_codegen->NewTypeBssEntryPatch(cls_->GetDexFile(), type_index); -      arm_codegen->EmitMovwMovtPlaceholder(labels, ip); -      __ Str(OutputRegister(cls_), MemOperand(ip)); +      arm_codegen->EmitMovwMovtPlaceholder(labels, temp); +      __ Str(OutputRegister(cls_), MemOperand(temp));      }      __ B(GetExitLabel());    } |