Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(105)

Unified Diff: src/compiler/verifier.cc

Issue 2692753004: [turbofan] escape analysis supports arguments object and rest elements (Closed)
Patch Set: addressed comments Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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:

Powered by Google App Engine
This is Rietveld 408576698