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

Unified Diff: src/compiler/verifier.cc

Issue 2494753003: [turbofan] Introduce an ExternalPointer type. (Closed)
Patch Set: Stronger ducktape. Created 4 years, 1 month 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
« no previous file with comments | « src/compiler/types.h ('k') | test/cctest/compiler/test-js-typed-lowering.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/compiler/verifier.cc
diff --git a/src/compiler/verifier.cc b/src/compiler/verifier.cc
index a5367bdd07fc3ec190b90abb64a0e1c99fecbcd8..b5e956b12bcba388c962ce575d2d500cc3e30599 100644
--- a/src/compiler/verifier.cc
+++ b/src/compiler/verifier.cc
@@ -333,40 +333,35 @@ void Verifier::Visitor::Check(Node* node) {
CheckTypeIs(node, Type::Any());
break;
}
- case IrOpcode::kInt32Constant: // TODO(rossberg): rename Word32Constant?
- // Constants have no inputs.
- CHECK_EQ(0, input_count);
- // Type is a 32 bit integer, signed or unsigned.
- CheckTypeIs(node, Type::Integral32());
- break;
- case IrOpcode::kInt64Constant:
+ case IrOpcode::kInt32Constant: // TODO(turbofan): rename Word32Constant?
+ case IrOpcode::kInt64Constant: // TODO(turbofan): rename Word64Constant?
+ case IrOpcode::kFloat32Constant:
+ case IrOpcode::kFloat64Constant:
+ case IrOpcode::kRelocatableInt32Constant:
+ case IrOpcode::kRelocatableInt64Constant:
// Constants have no inputs.
CHECK_EQ(0, input_count);
- // Type is internal.
- // TODO(rossberg): Introduce proper Int64 type.
- CheckTypeIs(node, Type::Internal());
+ // Type is empty.
+ CheckNotTyped(node);
break;
- case IrOpcode::kFloat32Constant:
- case IrOpcode::kFloat64Constant:
case IrOpcode::kNumberConstant:
// Constants have no inputs.
CHECK_EQ(0, input_count);
// Type is a number.
CheckTypeIs(node, Type::Number());
break;
- case IrOpcode::kRelocatableInt32Constant:
- case IrOpcode::kRelocatableInt64Constant:
- CHECK_EQ(0, input_count);
- break;
case IrOpcode::kHeapConstant:
// Constants have no inputs.
CHECK_EQ(0, input_count);
+ // Type is anything.
+ CheckTypeIs(node, Type::Any());
break;
case IrOpcode::kExternalConstant:
+ case IrOpcode::kPointerConstant:
// Constants have no inputs.
CHECK_EQ(0, input_count);
- // Type is considered internal.
- CheckTypeIs(node, Type::Internal());
+ // Type is an external pointer.
+ CheckTypeIs(node, Type::ExternalPointer());
break;
case IrOpcode::kOsrValue:
// OSR values have a value and a control input.
« no previous file with comments | « src/compiler/types.h ('k') | test/cctest/compiler/test-js-typed-lowering.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698