Index: src/arm/code-stubs-arm.cc |
diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc |
index bba29f69b703d1fc050f91c58459278c80108a03..35f835bbd4149641080158762526611ab22494a8 100644 |
--- a/src/arm/code-stubs-arm.cc |
+++ b/src/arm/code-stubs-arm.cc |
@@ -2789,26 +2789,20 @@ void CallICStub::Generate(MacroAssembler* masm) { |
void CallICStub::GenerateMiss(MacroAssembler* masm) { |
- // Get the receiver of the function from the stack. |
- __ ldr(r4, MemOperand(sp, arg_count() * kPointerSize)); |
+ FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL); |
- { |
- FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL); |
+ // Push the receiver and the function and feedback info. |
+ __ Push(r1, r2, r3); |
- // Push the receiver and the function and feedback info. |
- __ Push(r4, r1, r2, r3); |
+ // Call the entry. |
+ IC::UtilityId id = GetICState() == DEFAULT ? IC::kCallIC_Miss |
+ : IC::kCallIC_Customization_Miss; |
- // Call the entry. |
- IC::UtilityId id = GetICState() == DEFAULT ? IC::kCallIC_Miss |
- : IC::kCallIC_Customization_Miss; |
+ ExternalReference miss = ExternalReference(IC_Utility(id), masm->isolate()); |
+ __ CallExternalReference(miss, 3); |
- ExternalReference miss = ExternalReference(IC_Utility(id), |
- masm->isolate()); |
- __ CallExternalReference(miss, 4); |
- |
- // Move result to edi and exit the internal frame. |
- __ mov(r1, r0); |
- } |
+ // Move result to edi and exit the internal frame. |
+ __ mov(r1, r0); |
} |