| Index: src/ic/x87/ic-x87.cc
|
| diff --git a/src/ic/x87/ic-x87.cc b/src/ic/x87/ic-x87.cc
|
| index 432c55bc521747a24902f7368e2064ff156cca97..959b8b628e8a287118f3c51ec6b4dadead33106a 100644
|
| --- a/src/ic/x87/ic-x87.cc
|
| +++ b/src/ic/x87/ic-x87.cc
|
| @@ -509,7 +509,7 @@ void KeyedStoreIC::GenerateSloppyArguments(MacroAssembler* masm) {
|
| }
|
|
|
|
|
| -static void KeyedStoreGenerateGenericHelper(
|
| +static void KeyedStoreGenerateMegamorphicHelper(
|
| MacroAssembler* masm, Label* fast_object, Label* fast_double, Label* slow,
|
| KeyedStoreCheckMap check_map, KeyedStoreIncrementLength increment_length) {
|
| Label transition_smi_elements;
|
| @@ -647,9 +647,8 @@ static void KeyedStoreGenerateGenericHelper(
|
| }
|
|
|
|
|
| -void KeyedStoreIC::GenerateGeneric(
|
| - MacroAssembler* masm, StrictMode strict_mode,
|
| - KeyedStoreStubCacheRequirement handler_requirement) {
|
| +void KeyedStoreIC::GenerateMegamorphic(MacroAssembler* masm,
|
| + StrictMode strict_mode) {
|
| // Return address is on the stack.
|
| Label slow, fast_object, fast_object_grow;
|
| Label fast_double, fast_double_grow;
|
| @@ -698,12 +697,7 @@ void KeyedStoreIC::GenerateGeneric(
|
| masm->isolate()->stub_cache()->GenerateProbe(masm, flags, false, receiver,
|
| key, ebx, no_reg);
|
| // Cache miss.
|
| - if (handler_requirement == kCallRuntimeOnMissingHandler) {
|
| - __ jmp(&slow);
|
| - } else {
|
| - DCHECK(handler_requirement == kMissOnMissingHandler);
|
| - __ jmp(&miss);
|
| - }
|
| + __ jmp(&miss);
|
|
|
| // Extra capacity case: Check if there is extra capacity to
|
| // perform the store and update the length. Used for adding one
|
| @@ -742,15 +736,14 @@ void KeyedStoreIC::GenerateGeneric(
|
| __ cmp(key, FieldOperand(receiver, JSArray::kLengthOffset)); // Compare smis.
|
| __ j(above_equal, &extra);
|
|
|
| - KeyedStoreGenerateGenericHelper(masm, &fast_object, &fast_double, &slow,
|
| - kCheckMap, kDontIncrementLength);
|
| - KeyedStoreGenerateGenericHelper(masm, &fast_object_grow, &fast_double_grow,
|
| - &slow, kDontCheckMap, kIncrementLength);
|
| + KeyedStoreGenerateMegamorphicHelper(masm, &fast_object, &fast_double, &slow,
|
| + kCheckMap, kDontIncrementLength);
|
| + KeyedStoreGenerateMegamorphicHelper(masm, &fast_object_grow,
|
| + &fast_double_grow, &slow, kDontCheckMap,
|
| + kIncrementLength);
|
|
|
| - if (handler_requirement == kMissOnMissingHandler) {
|
| - __ bind(&miss);
|
| - GenerateMiss(masm);
|
| - }
|
| + __ bind(&miss);
|
| + GenerateMiss(masm);
|
| }
|
|
|
|
|
|
|