Index: src/compiler/ast-graph-builder.cc |
diff --git a/src/compiler/ast-graph-builder.cc b/src/compiler/ast-graph-builder.cc |
index 8bf9312aa75c25d6b34b00f6a90e3f0a5a88bfa6..629ea18679b1979a42ce09bd6bbc37439b310bfc 100644 |
--- a/src/compiler/ast-graph-builder.cc |
+++ b/src/compiler/ast-graph-builder.cc |
@@ -1311,10 +1311,12 @@ void AstGraphBuilder::VisitForInBody(ForInStatement* stmt) { |
Node* obj = environment()->Peek(4); |
// Check loop termination condition. |
+ FrameStateBeforeAndAfter states(this, BailoutId::None()); |
Node* exit_cond = NewNode(javascript()->LessThan(LanguageMode::SLOPPY), |
index, cache_length); |
// TODO(jarin): provide real bailout id. |
- PrepareFrameState(exit_cond, BailoutId::None()); |
+ states.AddToNode(exit_cond, BailoutId::None(), |
+ OutputFrameStateCombine::Ignore()); |
for_loop.BreakUnless(exit_cond); |
Node* pair = NewNode(javascript()->CallRuntime(Runtime::kForInNext, 4), obj, |
cache_array, cache_type, index); |
@@ -2531,10 +2533,11 @@ void AstGraphBuilder::VisitCompareOperation(CompareOperation* expr) { |
} |
VisitForValue(expr->left()); |
VisitForValue(expr->right()); |
+ FrameStateBeforeAndAfter states(this, expr->right()->id()); |
Node* right = environment()->Pop(); |
Node* left = environment()->Pop(); |
Node* value = NewNode(op, left, right); |
- PrepareFrameState(value, expr->id(), ast_context()->GetStateCombine()); |
+ states.AddToNode(value, expr->id(), ast_context()->GetStateCombine()); |
ast_context()->ProduceValue(value); |
} |