| Index: src/compiler/verifier.cc
|
| diff --git a/src/compiler/verifier.cc b/src/compiler/verifier.cc
|
| index 90b3f133bea2f79aec2fcd2a4e792683deb726c5..3107ffcb6603bfcfa2783668990e594459c00132 100644
|
| --- a/src/compiler/verifier.cc
|
| +++ b/src/compiler/verifier.cc
|
| @@ -22,6 +22,7 @@
|
| #include "src/compiler/operator.h"
|
| #include "src/compiler/schedule.h"
|
| #include "src/compiler/simplified-operator.h"
|
| +#include "src/compiler/type-cache.h"
|
| #include "src/ostreams.h"
|
|
|
| namespace v8 {
|
| @@ -496,7 +497,7 @@ void Verifier::Visitor::Check(Node* node) {
|
| }
|
| case IrOpcode::kStateValues:
|
| case IrOpcode::kTypedStateValues:
|
| - case IrOpcode::kArgumentsObjectState:
|
| + case IrOpcode::kArgumentsElementsState:
|
| case IrOpcode::kObjectState:
|
| case IrOpcode::kTypedObjectState:
|
| // TODO(jarin): what are the constraints on these?
|
| @@ -958,8 +959,17 @@ void Verifier::Visitor::Check(Node* node) {
|
| CheckValueInputIs(node, 0, Type::Any());
|
| CheckTypeIs(node, Type::Boolean());
|
| break;
|
| - case IrOpcode::kNewRestParameterElements:
|
| + case IrOpcode::kArgumentsLength:
|
| + CheckValueInputIs(node, 0, Type::ExternalPointer());
|
| + CheckTypeIs(node, TypeCache::Get().kArgumentsLengthType);
|
| + break;
|
| + case IrOpcode::kArgumentsFrame:
|
| + CheckTypeIs(node, Type::ExternalPointer());
|
| + break;
|
| case IrOpcode::kNewUnmappedArgumentsElements:
|
| + CheckValueInputIs(node, 0, Type::ExternalPointer());
|
| + CheckValueInputIs(node, 1, Type::Range(-Code::kMaxArguments,
|
| + Code::kMaxArguments, zone));
|
| CheckTypeIs(node, Type::OtherInternal());
|
| break;
|
| case IrOpcode::kAllocate:
|
|
|