| Index: src/compiler/change-lowering.cc
|
| diff --git a/src/compiler/change-lowering.cc b/src/compiler/change-lowering.cc
|
| index 16fbfa3fbedcf84d3ff256a399465e8c91274e2c..a4e081a58d6481d39aa0f082353bd856eb5cdbdd 100644
|
| --- a/src/compiler/change-lowering.cc
|
| +++ b/src/compiler/change-lowering.cc
|
| @@ -163,6 +163,9 @@ Reduction ChangeLowering::ChangeInt32ToTagged(Node* value, Node* control) {
|
| machine()->Word64Shl(),
|
| graph()->NewNode(machine()->ChangeInt32ToInt64(), value),
|
| SmiShiftBitsConstant()));
|
| + } else if (NodeProperties::GetBounds(value).upper->Is(Type::SignedSmall())) {
|
| + return Replace(
|
| + graph()->NewNode(machine()->WordShl(), value, SmiShiftBitsConstant()));
|
| }
|
|
|
| Node* add = graph()->NewNode(machine()->Int32AddWithOverflow(), value, value);
|
|
|