| Index: src/x64/ic-x64.cc
|
| diff --git a/src/x64/ic-x64.cc b/src/x64/ic-x64.cc
|
| index 40d564653c044554746e27a695172d834d02c383..ead1d99d1198b47340a661b8f66dbc57ccf77b55 100644
|
| --- a/src/x64/ic-x64.cc
|
| +++ b/src/x64/ic-x64.cc
|
| @@ -673,7 +673,8 @@ static void KeyedStoreGenerateGenericHelper(
|
| slow);
|
| AllocationSiteMode mode = AllocationSite::GetMode(FAST_SMI_ELEMENTS,
|
| FAST_DOUBLE_ELEMENTS);
|
| - ElementsTransitionGenerator::GenerateSmiToDouble(masm, mode, slow);
|
| + ElementsTransitionGenerator::GenerateSmiToDouble(
|
| + masm, receiver, key, value, rbx, mode, slow);
|
| __ movp(rbx, FieldOperand(receiver, JSObject::kElementsOffset));
|
| __ jmp(&fast_double_without_map_check);
|
|
|
| @@ -685,8 +686,8 @@ static void KeyedStoreGenerateGenericHelper(
|
| rdi,
|
| slow);
|
| mode = AllocationSite::GetMode(FAST_SMI_ELEMENTS, FAST_ELEMENTS);
|
| - ElementsTransitionGenerator::GenerateMapChangeElementsTransition(masm, mode,
|
| - slow);
|
| + ElementsTransitionGenerator::GenerateMapChangeElementsTransition(
|
| + masm, receiver, key, value, rbx, mode, slow);
|
| __ movp(rbx, FieldOperand(receiver, JSObject::kElementsOffset));
|
| __ jmp(&finish_object_store);
|
|
|
| @@ -701,7 +702,8 @@ static void KeyedStoreGenerateGenericHelper(
|
| rdi,
|
| slow);
|
| mode = AllocationSite::GetMode(FAST_DOUBLE_ELEMENTS, FAST_ELEMENTS);
|
| - ElementsTransitionGenerator::GenerateDoubleToObject(masm, mode, slow);
|
| + ElementsTransitionGenerator::GenerateDoubleToObject(
|
| + masm, receiver, key, value, rbx, mode, slow);
|
| __ movp(rbx, FieldOperand(receiver, JSObject::kElementsOffset));
|
| __ jmp(&finish_object_store);
|
| }
|
|
|