Index: src/ia32/fast-codegen-ia32.cc |
=================================================================== |
--- src/ia32/fast-codegen-ia32.cc (revision 3101) |
+++ src/ia32/fast-codegen-ia32.cc (working copy) |
@@ -79,6 +79,10 @@ |
VisitDeclarations(fun->scope()->declarations()); |
} |
+ if (FLAG_trace) { |
+ __ CallRuntime(Runtime::kTraceEnter, 0); |
+ } |
+ |
{ Comment cmnt(masm_, "[ Body"); |
VisitStatements(fun->body()); |
} |
@@ -88,6 +92,11 @@ |
// body. |
__ mov(eax, Factory::undefined_value()); |
SetReturnPosition(fun); |
+ |
+ if (FLAG_trace) { |
+ __ push(eax); |
+ __ CallRuntime(Runtime::kTraceExit, 1); |
+ } |
__ RecordJSReturn(); |
// Do not use the leave instruction here because it is too short to |
// patch with the code required by the debugger. |
@@ -138,7 +147,12 @@ |
ASSERT(expr->AsLiteral() != NULL); |
__ mov(eax, expr->AsLiteral()->handle()); |
} |
+ if (FLAG_trace) { |
+ __ push(eax); |
+ __ CallRuntime(Runtime::kTraceExit, 1); |
+ } |
__ RecordJSReturn(); |
+ |
// Do not use the leave instruction here because it is too short to |
// patch with the code required by the debugger. |
__ mov(esp, ebp); |