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(); |
} |
} |