| Index: src/compiler/checkpoint-elimination.cc
|
| diff --git a/src/compiler/checkpoint-elimination.cc b/src/compiler/checkpoint-elimination.cc
|
| index ce1a86105671088a2e0e9ec82dcad6a3573ca2a5..d81e1096820fbfba966ba1b34f6ee12bd8cac358 100644
|
| --- a/src/compiler/checkpoint-elimination.cc
|
| +++ b/src/compiler/checkpoint-elimination.cc
|
| @@ -30,35 +30,10 @@
|
|
|
| } // namespace
|
|
|
| -Reduction CheckpointElimination::ReduceCheckpoint(Node* node) {
|
| - DCHECK_EQ(IrOpcode::kCheckpoint, node->opcode());
|
| +Reduction CheckpointElimination::Reduce(Node* node) {
|
| + if (node->opcode() != IrOpcode::kCheckpoint) return NoChange();
|
| if (IsRedundantCheckpoint(node)) {
|
| return Replace(NodeProperties::GetEffectInput(node));
|
| - }
|
| - return NoChange();
|
| -}
|
| -
|
| -Reduction CheckpointElimination::ReduceReturn(Node* node) {
|
| - DCHECK_EQ(IrOpcode::kReturn, node->opcode());
|
| - Node* effect = NodeProperties::GetEffectInput(node);
|
| - if (effect->opcode() == IrOpcode::kCheckpoint && effect->OwnedBy(node)) {
|
| - // Any checkpoint that is wholly owned by a {Return} node can never be used
|
| - // for an actual bailout and can hence be cut out of the effect chain.
|
| - Node* replacement = NodeProperties::GetEffectInput(effect);
|
| - NodeProperties::ReplaceEffectInput(node, replacement);
|
| - return Changed(node);
|
| - }
|
| - return NoChange();
|
| -}
|
| -
|
| -Reduction CheckpointElimination::Reduce(Node* node) {
|
| - switch (node->opcode()) {
|
| - case IrOpcode::kCheckpoint:
|
| - return ReduceCheckpoint(node);
|
| - case IrOpcode::kReturn:
|
| - return ReduceReturn(node);
|
| - default:
|
| - break;
|
| }
|
| return NoChange();
|
| }
|
|
|