Index: src/compiler/typer.cc |
diff --git a/src/compiler/typer.cc b/src/compiler/typer.cc |
index 710487134edeff341d94e6b06b0f783962fe229c..f04b0b42a645f9859166f75b0df052c53142c465 100644 |
--- a/src/compiler/typer.cc |
+++ b/src/compiler/typer.cc |
@@ -165,10 +165,6 @@ Typer::Typer(Graph* graph, MaybeHandle<Context> context) |
boolean_or_number = Type::Union(Type::Boolean(), Type::Number(), zone); |
undefined_or_null = Type::Union(Type::Undefined(), Type::Null(), zone); |
undefined_or_number = Type::Union(Type::Undefined(), Type::Number(), zone); |
- negative_signed32 = Type::Union( |
- Type::SignedSmall(), Type::OtherSigned32(), zone); |
- non_negative_signed32 = Type::Union( |
- Type::UnsignedSmall(), Type::OtherUnsigned31(), zone); |
singleton_false = Type::Constant(f->false_value(), zone); |
singleton_true = Type::Constant(f->true_value(), zone); |
singleton_zero = Type::Range(zero, zero, zone); |
@@ -193,8 +189,7 @@ Typer::Typer(Graph* graph, MaybeHandle<Context> context) |
number_fun2_ = Type::Function(number, number, number, zone); |
weakint_fun1_ = Type::Function(weakint, number, zone); |
- random_fun_ = Type::Function(Type::Union( |
- Type::UnsignedSmall(), Type::OtherNumber(), zone), zone); |
+ random_fun_ = Type::Function(Type::OrderedNumber(), zone); |
const int limits_count = 20; |
@@ -870,11 +865,12 @@ Type* Typer::Visitor::JSBitwiseXorTyper(Type* lhs, Type* rhs, Typer* t) { |
double rmax = rhs->Max(); |
if ((lmin >= 0 && rmin >= 0) || (lmax < 0 && rmax < 0)) { |
// Xor-ing negative or non-negative values results in a non-negative value. |
- return t->non_negative_signed32; |
+ return Type::NonNegativeSigned32(); |
} |
if ((lmax < 0 && rmin >= 0) || (lmin >= 0 && rmax < 0)) { |
// Xor-ing a negative and a non-negative value results in a negative value. |
- return t->negative_signed32; |
+ // TODO(jarin) Use a range here. |
+ return Type::NegativeSigned32(); |
} |
return Type::Signed32(); |
} |