| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index b59f5c79494117a109f487f0fc09baad83229167..54007c524a6cd376a357770eaeaaa28b6e04af8f 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -9348,7 +9348,19 @@ void HOptimizedGraphBuilder::VisitCall(Call* expr) {
|
| Push(graph()->GetConstantUndefined());
|
| CHECK_ALIVE(VisitExpressions(expr->arguments()));
|
| PushArgumentsFromEnvironment(argument_count);
|
| - call = New<HCallFunction>(function, argument_count);
|
| + HCallFunction* call_function =
|
| + New<HCallFunction>(function, argument_count);
|
| + call = call_function;
|
| + if (expr->is_uninitialized() && expr->HasCallFeedbackSlot()) {
|
| + // We've never seen this call before, so let's have Crankshaft learn
|
| + // through the type vector.
|
| + Handle<SharedFunctionInfo> current_shared =
|
| + function_state()->compilation_info()->shared_info();
|
| + Handle<TypeFeedbackVector> vector =
|
| + handle(current_shared->feedback_vector(), isolate());
|
| + FeedbackVectorICSlot slot = expr->CallFeedbackSlot();
|
| + call_function->SetVectorAndSlot(vector, slot);
|
| + }
|
| }
|
| }
|
|
|
|
|