| Index: src/x64/code-stubs-x64.cc
|
| diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc
|
| index 2d3f7c6431cdb5367090b0b39b219084b0836ef6..681fe24ac232ae9b24703deac24cd416cde01f6b 100644
|
| --- a/src/x64/code-stubs-x64.cc
|
| +++ b/src/x64/code-stubs-x64.cc
|
| @@ -44,6 +44,7 @@ void KeyedLoadFastElementStub::InitializeInterfaceDescriptor(
|
| static Register registers[] = { rdx, rax };
|
| descriptor->register_param_count_ = 2;
|
| descriptor->register_params_ = registers;
|
| + descriptor->stack_parameter_count_ = NULL;
|
| descriptor->deoptimization_handler_ =
|
| FUNCTION_ADDR(KeyedLoadIC_MissFromStubFailure);
|
| }
|
| @@ -6623,8 +6624,13 @@ void StubFailureTrampolineStub::Generate(MacroAssembler* masm) {
|
| ASSERT(!Serializer::enabled());
|
| CEntryStub ces(1, kSaveFPRegs);
|
| __ Call(ces.GetCode(), RelocInfo::CODE_TARGET);
|
| + __ movq(rbx, MemOperand(rbp, StandardFrameConstants::kMarkerOffset -
|
| + 2 * kPointerSize));
|
| masm->LeaveFrame(StackFrame::STUB_FAILURE_TRAMPOLINE);
|
| - __ ret(0); // Return to IC Miss stub, continuation still on stack.
|
| + __ pop(rcx);
|
| + __ lea(rsp, MemOperand(rsp, rbx, times_pointer_size,
|
| + extra_expression_stack_count_ * kPointerSize));
|
| + __ jmp(rcx); // Return to IC Miss stub, continuation still on stack.
|
| }
|
|
|
|
|
|
|