Index: src/ic/ic.cc |
diff --git a/src/ic/ic.cc b/src/ic/ic.cc |
index 1f2c4d74722cbac0095af2f9c840d64d237e9796..0513bee75ee7d935dedc1a66d25bf27e1885e0ec 100644 |
--- a/src/ic/ic.cc |
+++ b/src/ic/ic.cc |
@@ -2482,48 +2482,6 @@ MaybeHandle<Object> KeyedStoreIC::Store(Handle<Object> object, |
} |
-void CallIC::HandleMiss(Handle<Object> function) { |
- Handle<Object> name = isolate()->factory()->empty_string(); |
- CallICNexus* nexus = casted_nexus<CallICNexus>(); |
- Object* feedback = nexus->GetFeedback(); |
- |
- // Hand-coded MISS handling is easier if CallIC slots don't contain smis. |
- DCHECK(!feedback->IsSmi()); |
- |
- if (feedback->IsWeakCell() || !function->IsJSFunction() || |
- feedback->IsAllocationSite()) { |
- // We are going generic. |
- nexus->ConfigureMegamorphic(); |
- } else { |
- DCHECK(feedback == *TypeFeedbackVector::UninitializedSentinel(isolate())); |
- Handle<JSFunction> js_function = Handle<JSFunction>::cast(function); |
- |
- Handle<JSFunction> array_function = |
- Handle<JSFunction>(isolate()->native_context()->array_function()); |
- if (array_function.is_identical_to(js_function)) { |
- // Alter the slot. |
- nexus->ConfigureMonomorphicArray(); |
- } else if (js_function->context()->native_context() != |
- *isolate()->native_context()) { |
- // Don't collect cross-native context feedback for the CallIC. |
- // TODO(bmeurer): We should collect the SharedFunctionInfo as |
- // feedback in this case instead. |
- nexus->ConfigureMegamorphic(); |
- } else { |
- nexus->ConfigureMonomorphic(js_function); |
- } |
- } |
- |
- if (function->IsJSFunction()) { |
- Handle<JSFunction> js_function = Handle<JSFunction>::cast(function); |
- name = handle(js_function->shared()->name(), isolate()); |
- } |
- |
- OnTypeFeedbackChanged(isolate(), get_host()); |
- TRACE_IC("CallIC", name); |
-} |
- |
- |
#undef TRACE_IC |
@@ -2532,22 +2490,6 @@ void CallIC::HandleMiss(Handle<Object> function) { |
// |
// Used from ic-<arch>.cc. |
-RUNTIME_FUNCTION(Runtime_CallIC_Miss) { |
- HandleScope scope(isolate); |
- DCHECK_EQ(3, args.length()); |
- // Runtime functions don't follow the IC's calling convention. |
- Handle<Object> function = args.at(0); |
- Handle<TypeFeedbackVector> vector = args.at<TypeFeedbackVector>(1); |
- Handle<Smi> slot = args.at<Smi>(2); |
- FeedbackVectorSlot vector_slot = vector->ToSlot(slot->value()); |
- CallICNexus nexus(vector, vector_slot); |
- CallIC ic(isolate, &nexus); |
- ic.HandleMiss(function); |
- return *function; |
-} |
- |
- |
-// Used from ic-<arch>.cc. |
RUNTIME_FUNCTION(Runtime_LoadIC_Miss) { |
HandleScope scope(isolate); |
DCHECK_EQ(4, args.length()); |