| Index: src/arm/code-stubs-arm.cc
|
| diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc
|
| index b933c4ac654c1e905357c773ff257cd901e0701f..f661ad80d8ef5290565d19feedd3d2eaf2a77203 100644
|
| --- a/src/arm/code-stubs-arm.cc
|
| +++ b/src/arm/code-stubs-arm.cc
|
| @@ -1898,8 +1898,7 @@ void JSEntryStub::GenerateBody(MacroAssembler* masm, bool is_construct) {
|
| // * function: r1 or at sp.
|
| //
|
| // An inlined call site may have been generated before calling this stub.
|
| -// In this case the offset to the inline site to patch is passed on the stack,
|
| -// in the safepoint slot for register r4.
|
| +// In this case the offset to the inline site to patch is passed in r5.
|
| // (See LCodeGen::DoInstanceOfKnownGlobal)
|
| void InstanceofStub::Generate(MacroAssembler* masm) {
|
| // Call site inlining and patching implies arguments in registers.
|
| @@ -1958,14 +1957,14 @@ void InstanceofStub::Generate(MacroAssembler* masm) {
|
| ASSERT(HasArgsInRegisters());
|
| // Patch the (relocated) inlined map check.
|
|
|
| - // The offset was stored in r4 safepoint slot.
|
| - // (See LCodeGen::DoDeferredLInstanceOfKnownGlobal)
|
| - __ LoadFromSafepointRegisterSlot(scratch, r4);
|
| - __ sub(inline_site, lr, scratch);
|
| - // Get the map location in scratch and patch it.
|
| - __ GetRelocatedValueLocation(inline_site, scratch);
|
| - __ ldr(scratch, MemOperand(scratch));
|
| - __ str(map, FieldMemOperand(scratch, Cell::kValueOffset));
|
| + // The offset was stored in r5
|
| + // (See LCodeGen::DoDeferredLInstanceOfKnownGlobal).
|
| + const Register offset = r5;
|
| + __ sub(inline_site, lr, offset);
|
| + // Get the map location in r5 and patch it.
|
| + __ GetRelocatedValueLocation(inline_site, offset);
|
| + __ ldr(offset, MemOperand(offset));
|
| + __ str(map, FieldMemOperand(offset, Cell::kValueOffset));
|
| }
|
|
|
| // Register mapping: r3 is object map and r4 is function prototype.
|
|
|