Index: src/compiler/verifier.cc |
diff --git a/src/compiler/verifier.cc b/src/compiler/verifier.cc |
index 5f1df77736efd3081d40863f8334d11ea86aaa69..690fd045779fa7486282d88eed39b2ad21a061fb 100644 |
--- a/src/compiler/verifier.cc |
+++ b/src/compiler/verifier.cc |
@@ -318,13 +318,13 @@ void Verifier::Visitor::Check(Node* node) { |
case IrOpcode::kParameter: { |
// Parameters have the start node as inputs. |
CHECK_EQ(1, input_count); |
- CHECK_EQ(IrOpcode::kStart, |
- NodeProperties::GetValueInput(node, 0)->opcode()); |
// Parameter has an input that produces enough values. |
- int index = OpParameter<int>(node); |
- Node* input = NodeProperties::GetValueInput(node, 0); |
+ int const index = ParameterIndexOf(node->op()); |
+ Node* const start = NodeProperties::GetValueInput(node, 0); |
+ CHECK_EQ(IrOpcode::kStart, start->opcode()); |
// Currently, parameter indices start at -1 instead of 0. |
- CHECK_GT(input->op()->ValueOutputCount(), index + 1); |
+ CHECK_LE(-1, index); |
+ CHECK_LT(index + 1, start->op()->ValueOutputCount()); |
// Type can be anything. |
CheckUpperIs(node, Type::Any()); |
break; |