Index: src/arm/codegen-arm.cc |
=================================================================== |
--- src/arm/codegen-arm.cc (revision 4752) |
+++ src/arm/codegen-arm.cc (working copy) |
@@ -321,7 +321,7 @@ |
// Ignore the return value. |
} |
#endif |
- VisitStatementsAndSpill(info->function()->body()); |
+ VisitStatements(info->function()->body()); |
} |
} |
@@ -1566,7 +1566,7 @@ |
#endif |
VirtualFrame::SpilledScope spilled_scope(frame_); |
for (int i = 0; frame_ != NULL && i < statements->length(); i++) { |
- VisitAndSpill(statements->at(i)); |
+ Visit(statements->at(i)); |
} |
ASSERT(!has_valid_frame() || frame_->height() == original_height); |
} |
@@ -1580,7 +1580,7 @@ |
Comment cmnt(masm_, "[ Block"); |
CodeForStatementPosition(node); |
node->break_target()->SetExpectedHeight(); |
- VisitStatementsAndSpill(node->statements()); |
+ VisitStatements(node->statements()); |
if (node->break_target()->is_linked()) { |
node->break_target()->Bind(); |
} |
@@ -1695,7 +1695,6 @@ |
#ifdef DEBUG |
int original_height = frame_->height(); |
#endif |
- VirtualFrame::SpilledScope spilled_scope(frame_); |
Comment cmnt(masm_, "[ IfStatement"); |
// Generate different code depending on which parts of the if statement |
// are present or not. |
@@ -1710,14 +1709,14 @@ |
JumpTarget then; |
JumpTarget else_; |
// if (cond) |
- LoadConditionAndSpill(node->condition(), &then, &else_, true); |
+ LoadCondition(node->condition(), &then, &else_, true); |
if (frame_ != NULL) { |
Branch(false, &else_); |
} |
// then |
if (frame_ != NULL || then.is_linked()) { |
then.Bind(); |
- VisitAndSpill(node->then_statement()); |
+ Visit(node->then_statement()); |
} |
if (frame_ != NULL) { |
exit.Jump(); |
@@ -1725,7 +1724,7 @@ |
// else |
if (else_.is_linked()) { |
else_.Bind(); |
- VisitAndSpill(node->else_statement()); |
+ Visit(node->else_statement()); |
} |
} else if (has_then_stm) { |
@@ -1733,14 +1732,14 @@ |
ASSERT(!has_else_stm); |
JumpTarget then; |
// if (cond) |
- LoadConditionAndSpill(node->condition(), &then, &exit, true); |
+ LoadCondition(node->condition(), &then, &exit, true); |
if (frame_ != NULL) { |
Branch(false, &exit); |
} |
// then |
if (frame_ != NULL || then.is_linked()) { |
then.Bind(); |
- VisitAndSpill(node->then_statement()); |
+ Visit(node->then_statement()); |
} |
} else if (has_else_stm) { |
@@ -1748,21 +1747,21 @@ |
ASSERT(!has_then_stm); |
JumpTarget else_; |
// if (!cond) |
- LoadConditionAndSpill(node->condition(), &exit, &else_, true); |
+ LoadCondition(node->condition(), &exit, &else_, true); |
if (frame_ != NULL) { |
Branch(true, &exit); |
} |
// else |
if (frame_ != NULL || else_.is_linked()) { |
else_.Bind(); |
- VisitAndSpill(node->else_statement()); |
+ Visit(node->else_statement()); |
} |
} else { |
Comment cmnt(masm_, "[ If"); |
ASSERT(!has_then_stm && !has_else_stm); |
// if (cond) |
- LoadConditionAndSpill(node->condition(), &exit, &exit, false); |
+ LoadCondition(node->condition(), &exit, &exit, false); |
if (frame_ != NULL) { |
if (has_cc()) { |
cc_reg_ = al; |
@@ -1905,7 +1904,7 @@ |
fall_through.Bind(); |
fall_through.Unuse(); |
} |
- VisitStatementsAndSpill(clause->statements()); |
+ VisitStatements(clause->statements()); |
// If control flow can fall through from the body, jump to the next body |
// or the end of the statement. |
@@ -1926,7 +1925,7 @@ |
if (default_clause != NULL) { |
Comment cmnt(masm_, "[ Default clause"); |
default_entry.Bind(); |
- VisitStatementsAndSpill(default_clause->statements()); |
+ VisitStatements(default_clause->statements()); |
// If control flow can fall out of the default and there is a case after |
// it, jup to that case's body. |
if (frame_ != NULL && default_exit.is_bound()) { |
@@ -1976,7 +1975,7 @@ |
} |
CheckStack(); // TODO(1222600): ignore if body contains calls. |
- VisitAndSpill(node->body()); |
+ Visit(node->body()); |
// Compile the test. |
switch (info) { |
@@ -2003,7 +2002,7 @@ |
if (has_valid_frame()) { |
Comment cmnt(masm_, "[ DoWhileCondition"); |
CodeForDoWhileConditionPosition(node); |
- LoadConditionAndSpill(node->cond(), &body, node->break_target(), true); |
+ LoadCondition(node->cond(), &body, node->break_target(), true); |
if (has_valid_frame()) { |
// A invalid frame here indicates that control did not |
// fall out of the test expression. |
@@ -2044,7 +2043,7 @@ |
if (info == DONT_KNOW) { |
JumpTarget body; |
- LoadConditionAndSpill(node->cond(), &body, node->break_target(), true); |
+ LoadCondition(node->cond(), &body, node->break_target(), true); |
if (has_valid_frame()) { |
// A NULL frame indicates that control did not fall out of the |
// test expression. |
@@ -2057,7 +2056,7 @@ |
if (has_valid_frame()) { |
CheckStack(); // TODO(1222600): ignore if body contains calls. |
- VisitAndSpill(node->body()); |
+ Visit(node->body()); |
// If control flow can fall out of the body, jump back to the top. |
if (has_valid_frame()) { |
@@ -2080,7 +2079,7 @@ |
Comment cmnt(masm_, "[ ForStatement"); |
CodeForStatementPosition(node); |
if (node->init() != NULL) { |
- VisitAndSpill(node->init()); |
+ Visit(node->init()); |
} |
// If the test is never true there is no need to compile the test or |
@@ -2105,7 +2104,7 @@ |
// If the test is always true, there is no need to compile it. |
if (info == DONT_KNOW) { |
JumpTarget body; |
- LoadConditionAndSpill(node->cond(), &body, node->break_target(), true); |
+ LoadCondition(node->cond(), &body, node->break_target(), true); |
if (has_valid_frame()) { |
Branch(false, node->break_target()); |
} |
@@ -2116,7 +2115,7 @@ |
if (has_valid_frame()) { |
CheckStack(); // TODO(1222600): ignore if body contains calls. |
- VisitAndSpill(node->body()); |
+ Visit(node->body()); |
if (node->next() == NULL) { |
// If there is no update statement and control flow can fall out |
@@ -2136,7 +2135,7 @@ |
// after the code for the body actually belongs to the loop |
// statement and not the body. |
CodeForStatementPosition(node); |
- VisitAndSpill(node->next()); |
+ Visit(node->next()); |
loop.Jump(); |
} |
} |
@@ -2357,7 +2356,7 @@ |
} |
// Body. |
CheckStack(); // TODO(1222600): ignore if body contains calls. |
- VisitAndSpill(node->body()); |
+ Visit(node->body()); |
// Next. Reestablish a spilled frame in case we are coming here via |
// a continue in the body. |
@@ -2404,7 +2403,7 @@ |
// Remove the exception from the stack. |
frame_->Drop(); |
- VisitStatementsAndSpill(node->catch_block()->statements()); |
+ VisitStatements(node->catch_block()->statements()); |
if (frame_ != NULL) { |
exit.Jump(); |
} |
@@ -2439,7 +2438,7 @@ |
} |
// Generate code for the statements in the try block. |
- VisitStatementsAndSpill(node->try_block()->statements()); |
+ VisitStatements(node->try_block()->statements()); |
// Stop the introduced shadowing and count the number of required unlinks. |
// After shadowing stops, the original labels are unshadowed and the |
@@ -2553,7 +2552,7 @@ |
} |
// Generate code for the statements in the try block. |
- VisitStatementsAndSpill(node->try_block()->statements()); |
+ VisitStatements(node->try_block()->statements()); |
// Stop the introduced shadowing and count the number of required unlinks. |
// After shadowing stops, the original labels are unshadowed and the |
@@ -2643,7 +2642,7 @@ |
// and the state - while evaluating the finally block. |
// |
// Generate code for the statements in the finally block. |
- VisitStatementsAndSpill(node->finally_block()->statements()); |
+ VisitStatements(node->finally_block()->statements()); |
if (has_valid_frame()) { |
// Restore state and return value or faked TOS. |
@@ -2758,7 +2757,7 @@ |
Comment cmnt(masm_, "[ Conditional"); |
JumpTarget then; |
JumpTarget else_; |
- LoadConditionAndSpill(node->condition(), &then, &else_, true); |
+ LoadCondition(node->condition(), &then, &else_, true); |
if (has_valid_frame()) { |
Branch(false, &else_); |
} |
@@ -4056,7 +4055,6 @@ |
if (ShouldGenerateLog(args->at(0))) { |
Load(args->at(1)); |
Load(args->at(2)); |
- frame_->SpillAll(); |
frame_->CallRuntime(Runtime::kLog, 2); |
} |
#endif |
@@ -4954,10 +4952,7 @@ |
Token::Value op = node->op(); |
if (op == Token::NOT) { |
- LoadConditionAndSpill(node->expression(), |
- false_target(), |
- true_target(), |
- true); |
+ LoadCondition(node->expression(), false_target(), true_target(), true); |
// LoadCondition may (and usually does) leave a test and branch to |
// be emitted by the caller. In that case, negate the condition. |
if (has_cc()) cc_reg_ = NegateCondition(cc_reg_); |
@@ -5200,10 +5195,7 @@ |
VirtualFrame::SpilledScope spilled_scope(frame_); |
if (node->op() == Token::AND) { |
JumpTarget is_true; |
- LoadConditionAndSpill(node->left(), |
- &is_true, |
- false_target(), |
- false); |
+ LoadCondition(node->left(), &is_true, false_target(), false); |
if (has_valid_frame() && !has_cc()) { |
// The left-hand side result is on top of the virtual frame. |
JumpTarget pop_and_continue; |
@@ -5234,10 +5226,7 @@ |
Branch(false, false_target()); |
} |
is_true.Bind(); |
- LoadConditionAndSpill(node->right(), |
- true_target(), |
- false_target(), |
- false); |
+ LoadCondition(node->right(), true_target(), false_target(), false); |
} else { |
// Nothing to do. |
ASSERT(!has_valid_frame() && !has_cc() && !is_true.is_linked()); |
@@ -5246,10 +5235,7 @@ |
} else { |
ASSERT(node->op() == Token::OR); |
JumpTarget is_false; |
- LoadConditionAndSpill(node->left(), |
- true_target(), |
- &is_false, |
- false); |
+ LoadCondition(node->left(), true_target(), &is_false, false); |
if (has_valid_frame() && !has_cc()) { |
// The left-hand side result is on top of the virtual frame. |
JumpTarget pop_and_continue; |
@@ -5280,10 +5266,7 @@ |
Branch(true, true_target()); |
} |
is_false.Bind(); |
- LoadConditionAndSpill(node->right(), |
- true_target(), |
- false_target(), |
- false); |
+ LoadCondition(node->right(), true_target(), false_target(), false); |
} else { |
// Nothing to do. |
ASSERT(!has_valid_frame() && !has_cc() && !is_false.is_linked()); |