Index: src/compiler/verifier.cc |
diff --git a/src/compiler/verifier.cc b/src/compiler/verifier.cc |
index e5f016c18e88a98993db684400f75b0b351760fe..10856a9928296f3ce84bace30474f89a7292cc5a 100644 |
--- a/src/compiler/verifier.cc |
+++ b/src/compiler/verifier.cc |
@@ -739,6 +739,10 @@ void Verifier::Visitor::Check(Node* node) { |
CheckNotTyped(node); |
break; |
+ case IrOpcode::kJSCreateGeneratorObject: |
+ CheckTypeIs(node, Type::OtherObject()); |
+ break; |
+ |
case IrOpcode::kJSGeneratorRestoreContinuation: |
CheckTypeIs(node, Type::SignedSmall()); |
break; |
@@ -1706,10 +1710,11 @@ void Verifier::VerifyNode(Node* node) { |
CHECK_EQ(OperatorProperties::GetTotalInputCount(node->op()), |
node->InputCount()); |
// If this node has no effect or no control outputs, |
- // we check that no its uses are effect or control inputs. |
+ // we check that none of its uses are effect or control inputs. |
bool check_no_control = node->op()->ControlOutputCount() == 0; |
bool check_no_effect = node->op()->EffectOutputCount() == 0; |
bool check_no_frame_state = node->opcode() != IrOpcode::kFrameState; |
+ int effect_edges = 0; |
if (check_no_effect || check_no_control) { |
for (Edge edge : node->use_edges()) { |
Node* const user = edge.from(); |
@@ -1718,6 +1723,7 @@ void Verifier::VerifyNode(Node* node) { |
CHECK(!check_no_control); |
} else if (NodeProperties::IsEffectEdge(edge)) { |
CHECK(!check_no_effect); |
+ effect_edges++; |
} else if (NodeProperties::IsFrameStateEdge(edge)) { |
CHECK(!check_no_frame_state); |
} |