Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(310)

Side by Side Diff: src/crankshaft/hydrogen.cc

Issue 2426693002: [ic] Unify CallIC feedback collection and handling. (Closed)
Patch Set: Also simplify BytecodeGraphBuilder::ComputeCallFrequency Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/compiler/bytecode-graph-builder.cc ('k') | src/crankshaft/typing.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/crankshaft/hydrogen.h" 5 #include "src/crankshaft/hydrogen.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <sstream> 8 #include <sstream>
9 9
10 #include "src/allocation-site-scopes.h" 10 #include "src/allocation-site-scopes.h"
(...skipping 9587 matching lines...) Expand 10 before | Expand all | Expand 10 after
9598 } 9598 }
9599 if (TryInlineApiFunctionCall(expr, receiver)) return; 9599 if (TryInlineApiFunctionCall(expr, receiver)) return;
9600 if (TryHandleArrayCall(expr, function)) return; 9600 if (TryHandleArrayCall(expr, function)) return;
9601 if (TryInlineCall(expr)) return; 9601 if (TryInlineCall(expr)) return;
9602 9602
9603 PushArgumentsFromEnvironment(argument_count); 9603 PushArgumentsFromEnvironment(argument_count);
9604 call = NewCallConstantFunction(expr->target(), argument_count, 9604 call = NewCallConstantFunction(expr->target(), argument_count,
9605 syntactic_tail_call_mode, tail_call_mode); 9605 syntactic_tail_call_mode, tail_call_mode);
9606 } else { 9606 } else {
9607 PushArgumentsFromEnvironment(argument_count); 9607 PushArgumentsFromEnvironment(argument_count);
9608 if (expr->is_uninitialized() && expr->IsUsingCallFeedbackICSlot()) { 9608 if (expr->is_uninitialized()) {
9609 // We've never seen this call before, so let's have Crankshaft learn 9609 // We've never seen this call before, so let's have Crankshaft learn
9610 // through the type vector. 9610 // through the type vector.
9611 call = NewCallFunctionViaIC(function, argument_count, 9611 call = NewCallFunctionViaIC(function, argument_count,
9612 syntactic_tail_call_mode, 9612 syntactic_tail_call_mode,
9613 ConvertReceiverMode::kNullOrUndefined, 9613 ConvertReceiverMode::kNullOrUndefined,
9614 tail_call_mode, expr->CallFeedbackICSlot()); 9614 tail_call_mode, expr->CallFeedbackICSlot());
9615 } else { 9615 } else {
9616 call = NewCallFunction( 9616 call = NewCallFunction(
9617 function, argument_count, syntactic_tail_call_mode, 9617 function, argument_count, syntactic_tail_call_mode,
9618 ConvertReceiverMode::kNullOrUndefined, tail_call_mode); 9618 ConvertReceiverMode::kNullOrUndefined, tail_call_mode);
(...skipping 3525 matching lines...) Expand 10 before | Expand all | Expand 10 after
13144 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); 13144 isolate()->GetHTracer()->TraceHydrogen(name(), graph_);
13145 } 13145 }
13146 13146
13147 #ifdef DEBUG 13147 #ifdef DEBUG
13148 graph_->Verify(false); // No full verify. 13148 graph_->Verify(false); // No full verify.
13149 #endif 13149 #endif
13150 } 13150 }
13151 13151
13152 } // namespace internal 13152 } // namespace internal
13153 } // namespace v8 13153 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/bytecode-graph-builder.cc ('k') | src/crankshaft/typing.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698