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: |