Index: src/compiler/typer.cc |
diff --git a/src/compiler/typer.cc b/src/compiler/typer.cc |
index 50ee2d567c0a37dba6853194c9f25baf04a9adbc..b5e1737285304acece61ea3399a94017efb2cad6 100644 |
--- a/src/compiler/typer.cc |
+++ b/src/compiler/typer.cc |
@@ -516,8 +516,7 @@ Type* Typer::Visitor::ObjectIsReceiver(Type* type, Typer* t) { |
Type* Typer::Visitor::ObjectIsSmi(Type* type, Typer* t) { |
- if (type->Is(Type::TaggedSigned())) return t->singleton_true_; |
- if (type->Is(Type::TaggedPointer())) return t->singleton_false_; |
+ if (!type->Maybe(Type::SignedSmall())) return t->singleton_false_; |
return Type::Boolean(); |
} |
@@ -1587,8 +1586,8 @@ Type* Typer::Visitor::TypeCheckIf(Node* node) { |
} |
Type* Typer::Visitor::TypeCheckTaggedPointer(Node* node) { |
- Type* arg = Operand(node, 0); |
- return Type::Intersect(arg, Type::TaggedPointer(), zone()); |
+ Type* type = Operand(node, 0); |
+ return type; |
} |
Type* Typer::Visitor::TypeCheckTaggedSigned(Node* node) { |
@@ -1617,7 +1616,7 @@ Type* Typer::Visitor::TypeConvertTaggedHoleToUndefined(Node* node) { |
return type; |
} |
-Type* Typer::Visitor::TypeAllocate(Node* node) { return Type::TaggedPointer(); } |
+Type* Typer::Visitor::TypeAllocate(Node* node) { return Type::Any(); } |
Type* Typer::Visitor::TypeLoadField(Node* node) { |
return FieldAccessOf(node->op()).type; |