| Index: src/ic/ia32/ic-ia32.cc
|
| diff --git a/src/ic/ia32/ic-ia32.cc b/src/ic/ia32/ic-ia32.cc
|
| index f6dac32b1395c29cd6ba52b7bae339b1063bc788..a622ba4faf3bbbeb4c30a8cd0bfac0138950efac 100644
|
| --- a/src/ic/ia32/ic-ia32.cc
|
| +++ b/src/ic/ia32/ic-ia32.cc
|
| @@ -507,7 +507,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;
|
| @@ -645,9 +645,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;
|
| @@ -696,12 +695,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
|
| @@ -740,15 +734,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);
|
| }
|
|
|
|
|
|
|