Index: src/ppc/code-stubs-ppc.cc |
diff --git a/src/ppc/code-stubs-ppc.cc b/src/ppc/code-stubs-ppc.cc |
index 848fc2217254d4837676596972b27676701c7134..b852de9cf3692a5056205bd72c2dcb98656e4f06 100644 |
--- a/src/ppc/code-stubs-ppc.cc |
+++ b/src/ppc/code-stubs-ppc.cc |
@@ -1379,15 +1379,14 @@ void InstanceofStub::Generate(MacroAssembler* masm) { |
Register map = r6; // Map of the object. |
const Register function = r4; // Function (rhs). |
const Register prototype = r7; // Prototype of the function. |
- const Register inline_site = r9; |
+ // The map_check_delta was stored in r8 |
+ // The bool_load_delta was stored in r9 |
+ // (See LCodeGen::DoDeferredLInstanceOfKnownGlobal). |
+ const Register map_check_delta = r8; |
+ const Register bool_load_delta = r9; |
+ const Register inline_site = r10; |
const Register scratch = r5; |
Register scratch3 = no_reg; |
- |
- // delta = mov + tagged LoadP + cmp + bne |
- const int32_t kDeltaToLoadBoolResult = |
- (Assembler::kMovInstructions + Assembler::kTaggedLoadInstructions + 2) * |
- Assembler::kInstrSize; |
- |
Label slow, loop, is_instance, is_not_instance, not_js_object; |
if (!HasArgsInRegisters()) { |
@@ -1429,17 +1428,15 @@ void InstanceofStub::Generate(MacroAssembler* masm) { |
DCHECK(HasArgsInRegisters()); |
// Patch the (relocated) inlined map check. |
- // The offset was stored in r8 |
- // (See LCodeGen::DoDeferredLInstanceOfKnownGlobal). |
- const Register offset = r8; |
+ const Register offset = map_check_delta; |
__ mflr(inline_site); |
__ sub(inline_site, inline_site, offset); |
- // Get the map location in r8 and patch it. |
+ // Get the map location in offset and patch it. |
__ GetRelocatedValue(inline_site, offset, scratch); |
__ StoreP(map, FieldMemOperand(offset, Cell::kValueOffset), r0); |
- __ mr(r10, map); |
- __ RecordWriteField(offset, Cell::kValueOffset, r10, function, |
+ __ mr(r11, map); |
+ __ RecordWriteField(offset, Cell::kValueOffset, r11, function, |
kLRHasNotBeenSaved, kDontSaveFPRegs, |
OMIT_REMEMBERED_SET, OMIT_SMI_CHECK); |
} |
@@ -1474,7 +1471,7 @@ void InstanceofStub::Generate(MacroAssembler* masm) { |
} else { |
// Patch the call site to return true. |
__ LoadRoot(r3, Heap::kTrueValueRootIndex); |
- __ addi(inline_site, inline_site, Operand(kDeltaToLoadBoolResult)); |
+ __ add(inline_site, inline_site, bool_load_delta); |
// Get the boolean result location in scratch and patch it. |
__ SetRelocatedValue(inline_site, scratch, r3); |
@@ -1494,7 +1491,7 @@ void InstanceofStub::Generate(MacroAssembler* masm) { |
} else { |
// Patch the call site to return false. |
__ LoadRoot(r3, Heap::kFalseValueRootIndex); |
- __ addi(inline_site, inline_site, Operand(kDeltaToLoadBoolResult)); |
+ __ add(inline_site, inline_site, bool_load_delta); |
// Get the boolean result location in scratch and patch it. |
__ SetRelocatedValue(inline_site, scratch, r3); |