Index: src/compiler/typer.cc |
diff --git a/src/compiler/typer.cc b/src/compiler/typer.cc |
index 3649f7d79dcd4c1bf7f0699c92b9c9d512364fed..dc85405fa2fad215275c72cb8fe4e4b41568b768 100644 |
--- a/src/compiler/typer.cc |
+++ b/src/compiler/typer.cc |
@@ -408,7 +408,9 @@ Type* Typer::Visitor::FalsifyUndefined(Type* type, Typer* t) { |
Type* Typer::Visitor::Rangify(Type* type, Typer* t) { |
if (type->IsRange()) return type; // Shortcut. |
- if (!type->Is(t->integer)) return type; // Give up. |
+ if (!type->Is(t->integer) && !type->Is(Type::Integral32())) { |
+ return type; // Give up. |
+ } |
Factory* f = t->isolate()->factory(); |
return Type::Range(f->NewNumber(type->Min()), f->NewNumber(type->Max()), |
t->zone()); |