Chromium Code Reviews| Index: src/x64/builtins-x64.cc |
| diff --git a/src/x64/builtins-x64.cc b/src/x64/builtins-x64.cc |
| index 4a94f230e1bdd6d08fc1aa4ab6f11c710f417cfd..ce2f72958e8623051857f8fe6340ff2c6a050106 100644 |
| --- a/src/x64/builtins-x64.cc |
| +++ b/src/x64/builtins-x64.cc |
| @@ -329,6 +329,14 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm, |
| NullCallWrapper(), CALL_AS_METHOD); |
| } |
| + // Store offset of return address for deoptimizer. |
| + // TODO(849): Once Generate_StringConstructCode doesn't reuse this |
| + // generator, we can drop the third condition below! |
| + if (!is_api_function && !count_constructions && |
| + masm->isolate()->heap()->construct_stub_deopt_pc_offset() == 0) { |
|
Vyacheslav Egorov (Chromium)
2012/02/13 15:01:39
I don't like dependency on the order of stub gener
Michael Starzinger
2012/02/27 14:16:32
Yep, me neither. I am planning to port the Generat
|
| + masm->isolate()->heap()->SetConstructStubDeoptPCOffset(masm->pc_offset()); |
| + } |
| + |
| // Restore context from the frame. |
| __ movq(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); |
| @@ -1509,7 +1517,9 @@ void Builtins::Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm) { |
| __ bind(&invoke); |
| __ call(rdx); |
| + // Store offset of return address for deoptimizer. |
| masm->isolate()->heap()->SetArgumentsAdaptorDeoptPCOffset(masm->pc_offset()); |
| + |
| // Leave frame and return. |
| LeaveArgumentsAdaptorFrame(masm); |
| __ ret(0); |