Index: src/compiler/common-operator-reducer.cc |
diff --git a/src/compiler/common-operator-reducer.cc b/src/compiler/common-operator-reducer.cc |
index 70fdf71578bee3998e82b7eae55357c4be3b3da0..2b62e9c684e592fc479621a4fb5a2f273047e9a1 100644 |
--- a/src/compiler/common-operator-reducer.cc |
+++ b/src/compiler/common-operator-reducer.cc |
@@ -126,7 +126,7 @@ |
DCHECK(node->opcode() == IrOpcode::kDeoptimizeIf || |
node->opcode() == IrOpcode::kDeoptimizeUnless); |
bool condition_is_true = node->opcode() == IrOpcode::kDeoptimizeUnless; |
- DeoptimizeParameters p = DeoptimizeParametersOf(node->op()); |
+ DeoptimizeReason reason = DeoptimizeReasonOf(node->op()); |
Node* condition = NodeProperties::GetValueInput(node, 0); |
Node* frame_state = NodeProperties::GetValueInput(node, 1); |
Node* effect = NodeProperties::GetEffectInput(node); |
@@ -137,10 +137,9 @@ |
// (as guaranteed by the graph reduction logic). |
if (condition->opcode() == IrOpcode::kBooleanNot) { |
NodeProperties::ReplaceValueInput(node, condition->InputAt(0), 0); |
- NodeProperties::ChangeOp( |
- node, condition_is_true |
- ? common()->DeoptimizeIf(p.kind(), p.reason()) |
- : common()->DeoptimizeUnless(p.kind(), p.reason())); |
+ NodeProperties::ChangeOp(node, condition_is_true |
+ ? common()->DeoptimizeIf(reason) |
+ : common()->DeoptimizeUnless(reason)); |
return Changed(node); |
} |
Decision const decision = DecideCondition(condition); |
@@ -148,8 +147,9 @@ |
if (condition_is_true == (decision == Decision::kTrue)) { |
ReplaceWithValue(node, dead(), effect, control); |
} else { |
- control = graph()->NewNode(common()->Deoptimize(p.kind(), p.reason()), |
- frame_state, effect, control); |
+ control = |
+ graph()->NewNode(common()->Deoptimize(DeoptimizeKind::kEager, reason), |
+ frame_state, effect, control); |
// TODO(bmeurer): This should be on the AdvancedReducer somehow. |
NodeProperties::MergeControlToEnd(graph(), common(), control); |
Revisit(graph()->end()); |