| Index: src/hydrogen-instructions.cc
|
| diff --git a/src/hydrogen-instructions.cc b/src/hydrogen-instructions.cc
|
| index 2be2a032574b6bf9af1f8560e19fe95d1694bab7..f9f48ae019ef39f6da4f6d67277540c86832de71 100644
|
| --- a/src/hydrogen-instructions.cc
|
| +++ b/src/hydrogen-instructions.cc
|
| @@ -862,18 +862,15 @@ void HInstanceOf::PrintDataTo(StringStream* stream) {
|
|
|
|
|
| Range* HValue::InferRange() {
|
| - if (representation().IsTagged()) {
|
| - // Tagged values are always in int32 range when converted to integer,
|
| - // but they can contain -0.
|
| + if (representation().IsInteger32()) {
|
| + // Untagged integer32 cannot be -0.
|
| + return new Range();
|
| + } else {
|
| + // Tagged values, untagged doubles, and values with unknown representation
|
| + // can contain -0.
|
| Range* result = new Range();
|
| result->set_can_be_minus_zero(true);
|
| return result;
|
| - } else if (representation().IsNone()) {
|
| - return NULL;
|
| - } else {
|
| - // Untagged integer32 cannot be -0 and we don't compute ranges for
|
| - // untagged doubles.
|
| - return new Range();
|
| }
|
| }
|
|
|
|
|