| Index: src/compiler/effect-control-linearizer.cc
|
| diff --git a/src/compiler/effect-control-linearizer.cc b/src/compiler/effect-control-linearizer.cc
|
| index e867a7c5dc785df9203935c03b7f41453f3c39f1..d59869fdafb2aa7a8b39cffb5a0db055e2de58f6 100644
|
| --- a/src/compiler/effect-control-linearizer.cc
|
| +++ b/src/compiler/effect-control-linearizer.cc
|
| @@ -458,6 +458,9 @@ bool EffectControlLinearizer::TryWireInStateEffect(Node* node,
|
| case IrOpcode::kCheckIf:
|
| state = LowerCheckIf(node, frame_state, *effect, *control);
|
| break;
|
| + case IrOpcode::kCheckUnless:
|
| + state = LowerCheckUnless(node, frame_state, *effect, *control);
|
| + break;
|
| case IrOpcode::kCheckFloat64Hole:
|
| state = LowerCheckFloat64Hole(node, frame_state, *effect, *control);
|
| break;
|
| @@ -1332,6 +1335,17 @@ EffectControlLinearizer::LowerCheckIf(Node* node, Node* frame_state,
|
| }
|
|
|
| EffectControlLinearizer::ValueEffectControl
|
| +EffectControlLinearizer::LowerCheckUnless(Node* node, Node* frame_state,
|
| + Node* effect, Node* control) {
|
| + NodeProperties::ReplaceEffectInput(node, effect);
|
| + NodeProperties::ReplaceControlInput(node, control);
|
| + DCHECK_NOT_NULL(frame_state);
|
| + node->InsertInput(graph()->zone(), 1, frame_state);
|
| + NodeProperties::ChangeOp(node, common()->DeoptimizeUnless());
|
| + return ValueEffectControl(node, node, node);
|
| +}
|
| +
|
| +EffectControlLinearizer::ValueEffectControl
|
| EffectControlLinearizer::LowerCheckFloat64Hole(Node* node, Node* frame_state,
|
| Node* effect, Node* control) {
|
| // If we reach this point w/o eliminating the {node} that's marked
|
|
|