Index: src/ia32/builtins-ia32.cc |
diff --git a/src/ia32/builtins-ia32.cc b/src/ia32/builtins-ia32.cc |
index 1837f20192d28d372317d2d300f105585f16ab3e..1c9d5d435fefa8f3b4f0fcbe5f332af6f2be3860 100644 |
--- a/src/ia32/builtins-ia32.cc |
+++ b/src/ia32/builtins-ia32.cc |
@@ -324,6 +324,11 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm, |
NullCallWrapper(), CALL_AS_METHOD); |
} |
+ // Store offset of return address for deoptimizer. |
+ if (!is_api_function && !count_constructions) { |
+ masm->isolate()->heap()->SetConstructStubDeoptPCOffset(masm->pc_offset()); |
+ } |
+ |
// Restore context from the frame. |
__ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); |
@@ -1606,7 +1611,9 @@ void Builtins::Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm) { |
__ mov(edi, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); |
__ call(edx); |
+ // Store offset of return address for deoptimizer. |
masm->isolate()->heap()->SetArgumentsAdaptorDeoptPCOffset(masm->pc_offset()); |
+ |
// Leave frame and return. |
LeaveArgumentsAdaptorFrame(masm); |
__ ret(0); |