| Index: src/ia32/fast-codegen-ia32.cc
|
| ===================================================================
|
| --- src/ia32/fast-codegen-ia32.cc (revision 3073)
|
| +++ src/ia32/fast-codegen-ia32.cc (working copy)
|
| @@ -50,6 +50,7 @@
|
| // frames-ia32.h for its layout.
|
| void FastCodeGenerator::Generate(FunctionLiteral* fun) {
|
| function_ = fun;
|
| + SetFunctionPosition(fun);
|
|
|
| __ push(ebp); // Caller's frame pointer.
|
| __ mov(ebp, esp);
|
| @@ -82,6 +83,7 @@
|
| // Emit a 'return undefined' in case control fell off the end of the
|
| // body.
|
| __ mov(eax, Factory::undefined_value());
|
| + SetReturnPosition(fun);
|
| __ RecordJSReturn();
|
| // Do not use the leave instruction here because it is too short to
|
| // patch with the code required by the debugger.
|
| @@ -94,6 +96,7 @@
|
|
|
| void FastCodeGenerator::VisitExpressionStatement(ExpressionStatement* stmt) {
|
| Comment cmnt(masm_, "[ ExpressionStatement");
|
| + SetStatementPosition(stmt);
|
| Visit(stmt->expression());
|
| __ pop(eax);
|
| }
|
| @@ -101,6 +104,7 @@
|
|
|
| void FastCodeGenerator::VisitReturnStatement(ReturnStatement* stmt) {
|
| Comment cmnt(masm_, "[ ReturnStatement");
|
| + SetStatementPosition(stmt);
|
| Visit(stmt->expression());
|
| __ pop(eax);
|
| __ RecordJSReturn();
|
| @@ -127,7 +131,6 @@
|
| void FastCodeGenerator::VisitAssignment(Assignment* expr) {
|
| Comment cmnt(masm_, "[ Assignment");
|
| ASSERT(expr->op() == Token::ASSIGN || expr->op() == Token::INIT_VAR);
|
| -
|
| Visit(expr->value());
|
|
|
| Variable* var = expr->target()->AsVariableProxy()->AsVariable();
|
|
|