Index: src/compiler/typer.cc |
diff --git a/src/compiler/typer.cc b/src/compiler/typer.cc |
index a9a51ff8d397a0a2d4e7cae9f96147df98834db0..8695fad166630c7c962f77e01931cc4ac4ea1e0a 100644 |
--- a/src/compiler/typer.cc |
+++ b/src/compiler/typer.cc |
@@ -598,15 +598,13 @@ Type* Typer::Visitor::TypeRetain(Node* node) { |
} |
Type* Typer::Visitor::TypeInt32Constant(Node* node) { |
- double number = OpParameter<int32_t>(node); |
- return Type::Intersect(Type::Range(number, number, zone()), |
- Type::Integral32(), zone()); |
+ UNREACHABLE(); |
+ return nullptr; |
} |
- |
Type* Typer::Visitor::TypeInt64Constant(Node* node) { |
- // TODO(rossberg): This actually seems to be a PointerConstant so far... |
- return Type::Internal(); // TODO(rossberg): Add int64 bitset type? |
+ UNREACHABLE(); |
+ return nullptr; |
} |
Type* Typer::Visitor::TypeRelocatableInt32Constant(Node* node) { |
@@ -624,13 +622,11 @@ Type* Typer::Visitor::TypeFloat32Constant(Node* node) { |
return nullptr; |
} |
- |
Type* Typer::Visitor::TypeFloat64Constant(Node* node) { |
UNREACHABLE(); |
return nullptr; |
} |
- |
Type* Typer::Visitor::TypeNumberConstant(Node* node) { |
double number = OpParameter<double>(node); |
return Type::NewConstant(number, zone()); |
@@ -640,11 +636,13 @@ Type* Typer::Visitor::TypeHeapConstant(Node* node) { |
return TypeConstant(OpParameter<Handle<HeapObject>>(node)); |
} |
- |
Type* Typer::Visitor::TypeExternalConstant(Node* node) { |
- return Type::Internal(); |
+ return Type::ExternalPointer(); |
} |
+Type* Typer::Visitor::TypePointerConstant(Node* node) { |
+ return Type::ExternalPointer(); |
+} |
Type* Typer::Visitor::TypeSelect(Node* node) { |
return Type::Union(Operand(node, 1), Operand(node, 2), zone()); |