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); |
} |