| Index: src/compiler/simplified-lowering.cc
|
| diff --git a/src/compiler/simplified-lowering.cc b/src/compiler/simplified-lowering.cc
|
| index 5f9a406b649dec5a6b0336cffcf7bc29dde16212..1461709dabf9ab2c533e2dfe12e7039d4a993f12 100644
|
| --- a/src/compiler/simplified-lowering.cc
|
| +++ b/src/compiler/simplified-lowering.cc
|
| @@ -307,8 +307,8 @@ class RepresentationSelector {
|
| if ((use & kRepMask) == kRepTagged) {
|
| // only tagged uses.
|
| return kRepTagged;
|
| - } else if (IsSafeIntAdditiveOperand(node)) {
|
| - // Integer within [-2^52, 2^52] range.
|
| + } else if (upper->Is(Type::Integral32())) {
|
| + // Integer within [-2^31, 2^32[ range.
|
| if ((use & kRepMask) == kRepFloat64) {
|
| // only float64 uses.
|
| return kRepFloat64;
|
| @@ -318,7 +318,7 @@ class RepresentationSelector {
|
| } else if ((use & kRepMask) == kRepWord32 ||
|
| (use & kTypeMask) == kTypeInt32 ||
|
| (use & kTypeMask) == kTypeUint32) {
|
| - // The type is a safe integer, but we only use 32 bits.
|
| + // We only use 32 bits or we use the result consistently.
|
| return kRepWord32;
|
| } else {
|
| return kRepFloat64;
|
|
|