diff options
author | 2017-05-30 10:31:19 +0000 | |
---|---|---|
committer | 2017-05-30 10:31:21 +0000 | |
commit | cce39b5b4fc00ab9e6b4aaed1e7fa6928f0ec594 (patch) | |
tree | 19e3a8ccf7a8ac831c27658e0470c4f83debef74 /compiler/optimizing | |
parent | 0a5ace58e973da278049f837bf2cdbaf7b44849c (diff) | |
parent | 6079dca3058e58bb9e12a60a10324a5218a99274 (diff) |
Merge "MIPS32R2: Fix MethodLoadKind::kBootImageLinkTimePcRelative"
Diffstat (limited to 'compiler/optimizing')
-rw-r--r-- | compiler/optimizing/code_generator_mips.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/optimizing/code_generator_mips.cc b/compiler/optimizing/code_generator_mips.cc index d8ac99a9a6..1978534112 100644 --- a/compiler/optimizing/code_generator_mips.cc +++ b/compiler/optimizing/code_generator_mips.cc @@ -1674,6 +1674,7 @@ Literal* CodeGeneratorMIPS::DeduplicateBootImageAddressLiteral(uint32_t address) void CodeGeneratorMIPS::EmitPcRelativeAddressPlaceholderHigh(PcRelativePatchInfo* info, Register out, Register base) { + DCHECK_NE(out, base); if (GetInstructionSetFeatures().IsR6()) { DCHECK_EQ(base, ZERO); __ Bind(&info->high_label); @@ -7139,8 +7140,8 @@ void CodeGeneratorMIPS::GenerateStaticOrDirectCall(HInvokeStaticOrDirect* invoke PcRelativePatchInfo* info = NewPcRelativeMethodPatch(invoke->GetTargetMethod()); bool reordering = __ SetReorder(false); Register temp_reg = temp.AsRegister<Register>(); - EmitPcRelativeAddressPlaceholderHigh(info, temp_reg, base_reg); - __ Addiu(temp_reg, temp_reg, /* placeholder */ 0x5678); + EmitPcRelativeAddressPlaceholderHigh(info, TMP, base_reg); + __ Addiu(temp_reg, TMP, /* placeholder */ 0x5678); __ SetReorder(reordering); break; } |