Chromium Code Reviews| Index: src/compiler/typer.cc |
| diff --git a/src/compiler/typer.cc b/src/compiler/typer.cc |
| index 67b73ebad00f1896104c65864d415ac24694906b..7e51aa1b556fdee47dd40f01391df050126a4f96 100644 |
| --- a/src/compiler/typer.cc |
| +++ b/src/compiler/typer.cc |
| @@ -161,10 +161,6 @@ Typer::Typer(Graph* graph, MaybeHandle<Context> context) |
| Type::Constant(minusinfinity, zone), zone), |
| nan_or_minuszero, zone); |
| - negative_signed32 = Type::Union( |
| - Type::SignedSmall(), Type::OtherSigned32(), zone); |
| - non_negative_signed32 = Type::Union( |
| - Type::UnsignedSmall(), Type::OtherUnsigned31(), zone); |
| undefined_or_null = Type::Union(Type::Undefined(), Type::Null(), zone); |
| singleton_false = Type::Constant(f->false_value(), zone); |
| singleton_true = Type::Constant(f->true_value(), zone); |
| @@ -190,8 +186,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); |
|
Jarin
2014/12/02 20:46:19
I am not sure about the right type here.
|
| const int limits_count = 20; |
| @@ -861,11 +856,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(); |
| } |