Index: src/hydrogen-instructions.cc |
diff --git a/src/hydrogen-instructions.cc b/src/hydrogen-instructions.cc |
index b7473879df21f4085e614a6c609749864de29d80..4a0aeffb82d8cd7e37a6e640dab87f514c0ba3cc 100644 |
--- a/src/hydrogen-instructions.cc |
+++ b/src/hydrogen-instructions.cc |
@@ -1687,7 +1687,7 @@ Range* HValue::InferRange(Zone* zone) { |
Range* HChange::InferRange(Zone* zone) { |
Range* input_range = value()->range(); |
if (from().IsInteger32() && |
- to().IsTagged() && |
+ to().IsSmiOrTagged() && |
!value()->CheckFlag(HInstruction::kUint32) && |
input_range != NULL && input_range->IsInSmiRange()) { |
set_type(HType::Smi()); |
@@ -3563,7 +3563,7 @@ Representation HPhi::RepresentationFromInputs() { |
HPhi* hint_value = HUnknownOSRValue::cast(value)->incoming_value(); |
if (hint_value != NULL) { |
Representation hint = hint_value->representation(); |
- if (hint.IsTagged()) return hint; |
+ if (hint.IsSmiOrTagged()) return hint; |
if (hint.IsDouble()) double_occurred = true; |
if (hint.IsInteger32()) int32_occurred = true; |
} |
@@ -3571,7 +3571,7 @@ Representation HPhi::RepresentationFromInputs() { |
} |
if (value->representation().IsDouble()) double_occurred = true; |
if (value->representation().IsInteger32()) int32_occurred = true; |
- if (value->representation().IsTagged()) { |
+ if (value->representation().IsSmiOrTagged()) { |
if (value->IsConstant()) { |
HConstant* constant = HConstant::cast(value); |
if (constant->IsConvertibleToInteger()) { |