| Index: src/x64/ic-x64.cc
|
| ===================================================================
|
| --- src/x64/ic-x64.cc (revision 8124)
|
| +++ src/x64/ic-x64.cc (working copy)
|
| @@ -950,22 +950,21 @@
|
| __ movq(rdx, Operand(rsp, (argc + 1) * kPointerSize));
|
|
|
| // Enter an internal frame.
|
| - {
|
| - FrameScope scope(masm, StackFrame::INTERNAL);
|
| + __ EnterInternalFrame();
|
|
|
| - // Push the receiver and the name of the function.
|
| - __ push(rdx);
|
| - __ push(rcx);
|
| + // Push the receiver and the name of the function.
|
| + __ push(rdx);
|
| + __ push(rcx);
|
|
|
| - // Call the entry.
|
| - CEntryStub stub(1);
|
| - __ Set(rax, 2);
|
| - __ LoadAddress(rbx, ExternalReference(IC_Utility(id), masm->isolate()));
|
| - __ CallStub(&stub);
|
| + // Call the entry.
|
| + CEntryStub stub(1);
|
| + __ Set(rax, 2);
|
| + __ LoadAddress(rbx, ExternalReference(IC_Utility(id), masm->isolate()));
|
| + __ CallStub(&stub);
|
|
|
| - // Move result to rdi and exit the internal frame.
|
| - __ movq(rdi, rax);
|
| - }
|
| + // Move result to rdi and exit the internal frame.
|
| + __ movq(rdi, rax);
|
| + __ LeaveInternalFrame();
|
|
|
| // Check if the receiver is a global object of some sort.
|
| // This can happen only for regular CallIC but not KeyedCallIC.
|
| @@ -1107,14 +1106,13 @@
|
| // This branch is taken when calling KeyedCallIC_Miss is neither required
|
| // nor beneficial.
|
| __ IncrementCounter(counters->keyed_call_generic_slow_load(), 1);
|
| - {
|
| - FrameScope scope(masm, StackFrame::INTERNAL);
|
| - __ push(rcx); // save the key
|
| - __ push(rdx); // pass the receiver
|
| - __ push(rcx); // pass the key
|
| - __ CallRuntime(Runtime::kKeyedGetProperty, 2);
|
| - __ pop(rcx); // restore the key
|
| - }
|
| + __ EnterInternalFrame();
|
| + __ push(rcx); // save the key
|
| + __ push(rdx); // pass the receiver
|
| + __ push(rcx); // pass the key
|
| + __ CallRuntime(Runtime::kKeyedGetProperty, 2);
|
| + __ pop(rcx); // restore the key
|
| + __ LeaveInternalFrame();
|
| __ movq(rdi, rax);
|
| __ jmp(&do_call);
|
|
|
|
|