| Index: src/compiler/bytecode-graph-builder.cc
|
| diff --git a/src/compiler/bytecode-graph-builder.cc b/src/compiler/bytecode-graph-builder.cc
|
| index 50cc15c2a9b5869d825bc89f38ff44dcbac51489..42e416598a2253942eaa718ed22a34e346cefeeb 100644
|
| --- a/src/compiler/bytecode-graph-builder.cc
|
| +++ b/src/compiler/bytecode-graph-builder.cc
|
| @@ -109,6 +109,11 @@ class BytecodeGraphBuilder::FrameStateBeforeAndAfter {
|
| id_before, OutputFrameStateCombine::Ignore());
|
| id_after_ = BailoutId(id_before.ToInt() +
|
| builder->bytecode_iterator().current_bytecode_size());
|
| + // Create an explicit checkpoint node for before the operation.
|
| + Node* node = builder_->NewNode(builder_->common()->Checkpoint());
|
| + DCHECK_EQ(IrOpcode::kDead,
|
| + NodeProperties::GetFrameStateInput(node, 0)->opcode());
|
| + NodeProperties::ReplaceFrameStateInput(node, 0, frame_state_before_);
|
| }
|
|
|
| ~FrameStateBeforeAndAfter() {
|
| @@ -136,6 +141,7 @@ class BytecodeGraphBuilder::FrameStateBeforeAndAfter {
|
|
|
| if (count >= 2) {
|
| // Add the frame state for before the operation.
|
| + // TODO(mstarzinger): Get rid of frame state input before!
|
| DCHECK_EQ(IrOpcode::kDead,
|
| NodeProperties::GetFrameStateInput(node, 1)->opcode());
|
| NodeProperties::ReplaceFrameStateInput(node, 1, frame_state_before_);
|
|
|