Index: src/ia32/builtins-ia32.cc |
diff --git a/src/ia32/builtins-ia32.cc b/src/ia32/builtins-ia32.cc |
index 8c1ca799bb5d2cecf45492d548b13b79d725b986..a4376925492f63c6506368bef9d9ec061a5eabbb 100644 |
--- a/src/ia32/builtins-ia32.cc |
+++ b/src/ia32/builtins-ia32.cc |
@@ -857,6 +857,12 @@ void Builtins::Generate_InterpreterNotifyLazyDeoptimized(MacroAssembler* masm) { |
void Builtins::Generate_InterpreterEnterExceptionHandler(MacroAssembler* masm) { |
+ // Set the address of the interpreter entry trampoline as a return address. |
+ // This simulates the initial call to bytecode handlers in interpreter entry |
+ // trampoline. The return will never actually be taken, but our stack walker |
+ // uses this address to determine whether a frame is interpreted. |
+ __ Push(masm->isolate()->builtins()->InterpreterEntryTrampoline()); |
+ |
Generate_EnterBytecodeDispatch(masm); |
} |