Index: src/compiler/typer.cc |
diff --git a/src/compiler/typer.cc b/src/compiler/typer.cc |
index 28e6d4cf313275d88ba2bca3515dd018a3190552..ecafda93acff8e6625c438af661e4023821246c6 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(); |
} |
@@ -1593,8 +1592,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) { |
@@ -1623,7 +1622,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; |