| Index: src/fast-codegen.cc
|
| ===================================================================
|
| --- src/fast-codegen.cc (revision 3445)
|
| +++ src/fast-codegen.cc (working copy)
|
| @@ -375,48 +375,7 @@
|
|
|
|
|
| void FastCodeGenerator::VisitForStatement(ForStatement* stmt) {
|
| - Comment cmnt(masm_, "[ ForStatement");
|
| - Label test, body, exit, stack_limit_hit, stack_check_success;
|
| - if (stmt->init() != NULL) Visit(stmt->init());
|
| -
|
| - increment_loop_depth();
|
| - // Emit the test at the bottom of the loop (even if empty).
|
| - __ jmp(&test);
|
| - __ bind(&body);
|
| - Visit(stmt->body());
|
| -
|
| - // Check stack before looping.
|
| - __ StackLimitCheck(&stack_limit_hit);
|
| - __ bind(&stack_check_success);
|
| -
|
| - if (stmt->next() != NULL) Visit(stmt->next());
|
| -
|
| - __ bind(&test);
|
| -
|
| - if (stmt->cond() == NULL) {
|
| - // For an empty test jump to the top of the loop.
|
| - __ jmp(&body);
|
| - } else {
|
| - // We are not in an expression context because we have been compiling
|
| - // statements. Set up a test expression context for the condition.
|
| - ASSERT_EQ(NULL, true_label_);
|
| - ASSERT_EQ(NULL, false_label_);
|
| -
|
| - true_label_ = &body;
|
| - false_label_ = &exit;
|
| - ASSERT(stmt->cond()->context() == Expression::kTest);
|
| - Visit(stmt->cond());
|
| - true_label_ = NULL;
|
| - false_label_ = NULL;
|
| - }
|
| -
|
| - __ bind(&stack_limit_hit);
|
| - StackCheckStub stack_stub;
|
| - __ CallStub(&stack_stub);
|
| - __ jmp(&stack_check_success);
|
| -
|
| - __ bind(&exit);
|
| - decrement_loop_depth();
|
| + UNREACHABLE();
|
| }
|
|
|
|
|
|
|