| Index: src/x64/lithium-x64.cc
|
| diff --git a/src/x64/lithium-x64.cc b/src/x64/lithium-x64.cc
|
| index 3ba0cae7ad9c4107d6deaf59d9423577516d91ba..6094dbb94774edecd4f37dc833dc4b46e23c1893 100644
|
| --- a/src/x64/lithium-x64.cc
|
| +++ b/src/x64/lithium-x64.cc
|
| @@ -2012,8 +2012,9 @@ LInstruction* LChunkBuilder::DoStoreKeyedGeneric(HStoreKeyedGeneric* instr) {
|
|
|
| LInstruction* LChunkBuilder::DoTransitionElementsKind(
|
| HTransitionElementsKind* instr) {
|
| - if (instr->original_map()->elements_kind() == FAST_SMI_ONLY_ELEMENTS &&
|
| - instr->transitioned_map()->elements_kind() == FAST_ELEMENTS) {
|
| + ElementsKind from_kind = instr->original_map()->elements_kind();
|
| + ElementsKind to_kind = instr->transitioned_map()->elements_kind();
|
| + if (IsSimpleMapChangeTransition(from_kind, to_kind)) {
|
| LOperand* object = UseRegister(instr->object());
|
| LOperand* new_map_reg = TempRegister();
|
| LOperand* temp_reg = TempRegister();
|
|
|