Index: src/compiler/verifier.cc |
diff --git a/src/compiler/verifier.cc b/src/compiler/verifier.cc |
index 7f63ceb803b13098223cd9841d1661e7f48f93f4..6ed83f70cc56c03217e57e26e02ef4c97b86ac94 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? |
@@ -963,8 +964,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: |