Index: src/compiler/verifier.cc |
diff --git a/src/compiler/verifier.cc b/src/compiler/verifier.cc |
index 40ae58c923a072840c25b7fd7895cf6d3b870a23..e49ed65a1f27fb0542af6f5b20889c7d01475833 100644 |
--- a/src/compiler/verifier.cc |
+++ b/src/compiler/verifier.cc |
@@ -228,8 +228,7 @@ void Verifier::Visitor::Check(Node* node) { |
// Type is empty. |
CheckNotTyped(node); |
break; |
- case IrOpcode::kIfSuccess: |
- case IrOpcode::kIfException: { |
+ case IrOpcode::kIfSuccess: { |
// IfSuccess and IfException continuation only on throwing nodes. |
Node* input = NodeProperties::GetControlInput(node, 0); |
CHECK(!input->op()->HasProperty(Operator::kNoThrow)); |
@@ -237,6 +236,14 @@ void Verifier::Visitor::Check(Node* node) { |
CheckNotTyped(node); |
break; |
} |
+ case IrOpcode::kIfException: { |
+ // IfSuccess and IfException continuation only on throwing nodes. |
+ Node* input = NodeProperties::GetControlInput(node, 0); |
+ CHECK(!input->op()->HasProperty(Operator::kNoThrow)); |
+ // Type can be anything. |
+ CheckUpperIs(node, Type::Any()); |
+ break; |
+ } |
case IrOpcode::kSwitch: { |
// Switch uses are Case and Default. |
int count_case = 0, count_default = 0; |