| 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);
|
| }
|
|
|