| Index: src/ia32/stub-cache-ia32.cc
|
| diff --git a/src/ia32/stub-cache-ia32.cc b/src/ia32/stub-cache-ia32.cc
|
| index f8fb72192f1026eb3409d2a1508df3851ce676a9..865ec7a208d8e89cd24e792b7159c43821b59771 100644
|
| --- a/src/ia32/stub-cache-ia32.cc
|
| +++ b/src/ia32/stub-cache-ia32.cc
|
| @@ -1452,12 +1452,13 @@ Handle<Code> CallStubCompiler::CompileArrayPushCall(
|
| // edi: elements array
|
| // edx: receiver
|
| // ebx: map
|
| - __ LoadTransitionedArrayMapConditional(FAST_SMI_ONLY_ELEMENTS,
|
| + __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS,
|
| FAST_ELEMENTS,
|
| ebx,
|
| edi,
|
| &call_builtin);
|
| - ElementsTransitionGenerator::GenerateSmiOnlyToObject(masm());
|
| + ElementsTransitionGenerator::
|
| + GenerateMapChangeElementTransition(masm());
|
| // Restore edi.
|
| __ mov(edi, FieldOperand(edx, JSArray::kElementsOffset));
|
| __ bind(&fast_object);
|
| @@ -3816,7 +3817,7 @@ void KeyedStoreStubCompiler::GenerateStoreFastElement(
|
| // Check that the key is a smi or a heap number convertible to a smi.
|
| GenerateSmiKeyCheck(masm, ecx, ebx, xmm0, xmm1, &miss_force_generic);
|
|
|
| - if (elements_kind == FAST_SMI_ONLY_ELEMENTS) {
|
| + if (IsFastSmiElementsKind(elements_kind)) {
|
| __ JumpIfNotSmi(eax, &transition_elements_kind);
|
| }
|
|
|
| @@ -3841,7 +3842,7 @@ void KeyedStoreStubCompiler::GenerateStoreFastElement(
|
| __ j(not_equal, &miss_force_generic);
|
|
|
| __ bind(&finish_store);
|
| - if (elements_kind == FAST_SMI_ONLY_ELEMENTS) {
|
| + if (IsFastSmiElementsKind(elements_kind)) {
|
| // ecx is a smi, use times_half_pointer_size instead of
|
| // times_pointer_size
|
| __ mov(FieldOperand(edi,
|
| @@ -3849,7 +3850,7 @@ void KeyedStoreStubCompiler::GenerateStoreFastElement(
|
| times_half_pointer_size,
|
| FixedArray::kHeaderSize), eax);
|
| } else {
|
| - ASSERT(elements_kind == FAST_ELEMENTS);
|
| + ASSERT(IsFastObjectElementsKind(elements_kind));
|
| // Do the store and update the write barrier.
|
| // ecx is a smi, use times_half_pointer_size instead of
|
| // times_pointer_size
|
|
|