Index: src/ic/x64/ic-x64.cc |
diff --git a/src/ic/x64/ic-x64.cc b/src/ic/x64/ic-x64.cc |
index b945d207d0c985c0d49f3bdd9db03c585d09b545..f125322645ceaf6a565f80187a6a86d51ea926c7 100644 |
--- a/src/ic/x64/ic-x64.cc |
+++ b/src/ic/x64/ic-x64.cc |
@@ -403,7 +403,7 @@ void KeyedLoadIC::GenerateGeneric(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; |
@@ -540,9 +540,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, slow_with_tagged_index, fast_object, fast_object_grow; |
Label fast_double, fast_double_grow; |
@@ -594,12 +593,7 @@ void KeyedStoreIC::GenerateGeneric( |
masm->isolate()->stub_cache()->GenerateProbe(masm, flags, false, receiver, |
key, rbx, no_reg); |
// Cache miss. |
- if (handler_requirement == kCallRuntimeOnMissingHandler) { |
- __ jmp(&slow_with_tagged_index); |
- } 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 |
@@ -635,15 +629,14 @@ void KeyedStoreIC::GenerateGeneric( |
__ SmiCompareInteger32(FieldOperand(receiver, JSArray::kLengthOffset), key); |
__ j(below_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); |
} |