| 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()) {
|
|
|