Index: src/ia32/lithium-ia32.cc |
diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc |
index d0cb230d7d3979c4f188a643ffed907fbd55af6a..fbc75d0e322350cc85f8d8e87bb440a85fca4cec 100644 |
--- a/src/ia32/lithium-ia32.cc |
+++ b/src/ia32/lithium-ia32.cc |
@@ -2092,8 +2092,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(); |