Index: src/mips/ic-mips.cc |
diff --git a/src/mips/ic-mips.cc b/src/mips/ic-mips.cc |
index 964a7e2430d50305d2f0bbf30b6d4235626c46c5..5d530d0e9bd7d178417b65c45c9cb7070f7c0184 100644 |
--- a/src/mips/ic-mips.cc |
+++ b/src/mips/ic-mips.cc |
@@ -1347,34 +1347,35 @@ void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm, |
__ LoadRoot(at, Heap::kHeapNumberMapRootIndex); |
__ Branch(&non_double_value, ne, t0, Operand(at)); |
- // Value is a double. Transition FAST_SMI_ONLY_ELEMENTS -> |
- // FAST_DOUBLE_ELEMENTS and complete the store. |
- __ LoadTransitionedArrayMapConditional(FAST_SMI_ONLY_ELEMENTS, |
+ |
+ // Value is a double. Transition FAST_SMI_ELEMENTS -> FAST_DOUBLE_ELEMENTS |
+ // and complete the store. |
+ __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS, |
FAST_DOUBLE_ELEMENTS, |
receiver_map, |
t0, |
&slow); |
ASSERT(receiver_map.is(a3)); // Transition code expects map in a3 |
- ElementsTransitionGenerator::GenerateSmiOnlyToDouble(masm, &slow); |
+ ElementsTransitionGenerator::GenerateSmiToDouble(masm, &slow); |
__ lw(elements, FieldMemOperand(receiver, JSObject::kElementsOffset)); |
__ jmp(&fast_double_without_map_check); |
__ bind(&non_double_value); |
- // Value is not a double, FAST_SMI_ONLY_ELEMENTS -> FAST_ELEMENTS |
- __ LoadTransitionedArrayMapConditional(FAST_SMI_ONLY_ELEMENTS, |
+ // Value is not a double, FAST_SMI_ELEMENTS -> FAST_ELEMENTS |
+ __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS, |
FAST_ELEMENTS, |
receiver_map, |
t0, |
&slow); |
ASSERT(receiver_map.is(a3)); // Transition code expects map in a3 |
- ElementsTransitionGenerator::GenerateSmiOnlyToObject(masm); |
+ ElementsTransitionGenerator::GenerateMapChangeElementsTransition(masm); |
__ lw(elements, FieldMemOperand(receiver, JSObject::kElementsOffset)); |
__ jmp(&finish_object_store); |
__ bind(&transition_double_elements); |
- // Elements are FAST_DOUBLE_ELEMENTS, but value is an Object that's not a |
- // HeapNumber. Make sure that the receiver is a Array with FAST_ELEMENTS and |
- // transition array from FAST_DOUBLE_ELEMENTS to FAST_ELEMENTS |
+ // Elements are double, but value is an Object that's not a HeapNumber. Make |
+ // sure that the receiver is a Array with Object elements and transition array |
+ // from double elements to Object elements. |
__ LoadTransitionedArrayMapConditional(FAST_DOUBLE_ELEMENTS, |
FAST_ELEMENTS, |
receiver_map, |
@@ -1471,7 +1472,7 @@ void KeyedStoreIC::GenerateTransitionElementsSmiToDouble(MacroAssembler* masm) { |
// Must return the modified receiver in v0. |
if (!FLAG_trace_elements_transitions) { |
Label fail; |
- ElementsTransitionGenerator::GenerateSmiOnlyToDouble(masm, &fail); |
+ ElementsTransitionGenerator::GenerateSmiToDouble(masm, &fail); |
__ Ret(USE_DELAY_SLOT); |
__ mov(v0, a2); |
__ bind(&fail); |