Index: src/compiler/ast-graph-builder.cc |
diff --git a/src/compiler/ast-graph-builder.cc b/src/compiler/ast-graph-builder.cc |
index 9ec91e53324e91fb48dedf9115d6027d26399bc7..2e4b4fa67d400bcf0eae1fc8458ce1472bd078c9 100644 |
--- a/src/compiler/ast-graph-builder.cc |
+++ b/src/compiler/ast-graph-builder.cc |
@@ -217,7 +217,7 @@ void AstGraphBuilder::Environment::UpdateStateValues(Node** state_values, |
} |
-Node* AstGraphBuilder::Environment::Checkpoint(BailoutId ast_id) { |
+Node* AstGraphBuilder::Environment::Checkpoint(BailoutId ast_id, Node* parent) { |
UpdateStateValues(¶meters_node_, 0, parameters_count()); |
UpdateStateValues(&locals_node_, parameters_count(), locals_count()); |
UpdateStateValues(&stack_node_, parameters_count() + locals_count(), |
@@ -225,7 +225,8 @@ Node* AstGraphBuilder::Environment::Checkpoint(BailoutId ast_id) { |
Operator* op = common()->FrameState(ast_id); |
- return graph()->NewNode(op, parameters_node_, locals_node_, stack_node_); |
+ return graph()->NewNode(op, parameters_node_, locals_node_, stack_node_, |
+ parent); |
} |
@@ -2009,7 +2010,8 @@ void AstGraphBuilder::PrepareFrameState(Node* node, BailoutId ast_id, |
DCHECK(node->InputAt(frame_state_index)->op()->opcode() == IrOpcode::kDead); |
- Node* frame_state_node = environment()->Checkpoint(ast_id); |
+ Node* frame_state_node = |
+ environment()->Checkpoint(ast_id, jsgraph()->UndefinedConstant()); |
node->ReplaceInput(frame_state_index, frame_state_node); |
} |
@@ -2032,7 +2034,8 @@ void AstGraphBuilder::PrepareFrameState(Node* node, BailoutId ast_id, |
// TODO(jarin) If ast_id.IsNone(), perhaps we should generate an empty |
// deopt block and make sure there is no patch entry for this (so |
// that the deoptimizer dies when trying to deoptimize here). |
- Node* state_node = environment()->Checkpoint(ast_id); |
+ Node* state_node = |
+ environment()->Checkpoint(ast_id, jsgraph()->UndefinedConstant()); |
Node* deoptimize_node = NewNode(common()->Deoptimize(), state_node); |
UpdateControlDependencyToLeaveFunction(deoptimize_node); |