Index: src/compiler/typer.cc |
diff --git a/src/compiler/typer.cc b/src/compiler/typer.cc |
index cd8b87ca31f3a5eb6e6e551041a52b466c6ca465..582794b8bd559ae18156babd7ce0783acf0719be 100644 |
--- a/src/compiler/typer.cc |
+++ b/src/compiler/typer.cc |
@@ -1871,6 +1871,13 @@ Type* Typer::Visitor::TypeChangeTaggedToFloat64(Node* node) { |
return ChangeRepresentation(arg, Type::UntaggedFloat64(), zone()); |
} |
+Type* Typer::Visitor::TypeChangeInt31ToTagged(Node* node) { |
+ Type* arg = Operand(node, 0); |
+ // TODO(neis): DCHECK(arg->Is(Type::Signed31())); |
+ Type* rep = |
+ arg->Is(Type::SignedSmall()) ? Type::TaggedSigned() : Type::Tagged(); |
+ return ChangeRepresentation(arg, rep, zone()); |
+} |
Type* Typer::Visitor::TypeChangeInt32ToTagged(Node* node) { |
Type* arg = Operand(node, 0); |