| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index 2b03a89b13f84d2b4ef0fa65874f7f3f5950f34c..cf5b41983fafc2240121da4c9b4968cc029a1d62 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -2729,16 +2729,6 @@ void TestContext::BuildBranch(HValue* value) {
|
| if (value != NULL && value->CheckFlag(HValue::kIsArguments)) {
|
| builder->Bailout(kArgumentsObjectValueInATestContext);
|
| }
|
| - if (value->IsConstant()) {
|
| - HConstant* constant_value = HConstant::cast(value);
|
| - if (constant_value->BooleanValue()) {
|
| - builder->current_block()->Goto(if_true(), builder->function_state());
|
| - } else {
|
| - builder->current_block()->Goto(if_false(), builder->function_state());
|
| - }
|
| - builder->set_current_block(NULL);
|
| - return;
|
| - }
|
| HBasicBlock* empty_true = builder->graph()->CreateBasicBlock();
|
| HBasicBlock* empty_false = builder->graph()->CreateBasicBlock();
|
| ToBooleanStub::Types expected(condition()->to_boolean_types());
|
| @@ -3083,7 +3073,9 @@ void HOptimizedGraphBuilder::SetUpScope(Scope* scope) {
|
|
|
| void HOptimizedGraphBuilder::VisitStatements(ZoneList<Statement*>* statements) {
|
| for (int i = 0; i < statements->length(); i++) {
|
| - CHECK_ALIVE(Visit(statements->at(i)));
|
| + Statement* stmt = statements->at(i);
|
| + CHECK_ALIVE(Visit(stmt));
|
| + if (stmt->IsJump()) break;
|
| }
|
| }
|
|
|
| @@ -5365,8 +5357,6 @@ void HOptimizedGraphBuilder::VisitThrow(Throw* expr) {
|
| HThrow* instr = Add<HThrow>(value);
|
| instr->set_position(expr->position());
|
| Add<HSimulate>(expr->id());
|
| - current_block()->FinishExit(new(zone()) HAbnormalExit);
|
| - set_current_block(NULL);
|
| }
|
|
|
|
|
|
|