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

Side by Side Diff: src/compiler/ast-graph-builder.h

Issue 2330883002: [turbofan] Call frequencies for JSCallFunction and JSCallConstruct. (Closed)
Patch Set: Rebase onto the correct CL. Created 4 years, 3 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 | « no previous file | src/compiler/ast-graph-builder.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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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 #ifndef V8_COMPILER_AST_GRAPH_BUILDER_H_ 5 #ifndef V8_COMPILER_AST_GRAPH_BUILDER_H_
6 #define V8_COMPILER_AST_GRAPH_BUILDER_H_ 6 #define V8_COMPILER_AST_GRAPH_BUILDER_H_
7 7
8 #include "src/ast/ast.h" 8 #include "src/ast/ast.h"
9 #include "src/compiler/js-graph.h" 9 #include "src/compiler/js-graph.h"
10 #include "src/compiler/liveness-analyzer.h" 10 #include "src/compiler/liveness-analyzer.h"
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 Node** EnsureInputBufferSize(int size); 257 Node** EnsureInputBufferSize(int size);
258 258
259 // Named and keyed loads require a VectorSlotPair for successful lowering. 259 // Named and keyed loads require a VectorSlotPair for successful lowering.
260 VectorSlotPair CreateVectorSlotPair(FeedbackVectorSlot slot) const; 260 VectorSlotPair CreateVectorSlotPair(FeedbackVectorSlot slot) const;
261 261
262 // Determine which contexts need to be checked for extension objects that 262 // Determine which contexts need to be checked for extension objects that
263 // might shadow the optimistic declaration of dynamic lookup variables. 263 // might shadow the optimistic declaration of dynamic lookup variables.
264 uint32_t ComputeBitsetForDynamicGlobal(Variable* variable); 264 uint32_t ComputeBitsetForDynamicGlobal(Variable* variable);
265 uint32_t ComputeBitsetForDynamicContext(Variable* variable); 265 uint32_t ComputeBitsetForDynamicContext(Variable* variable);
266 266
267 // Computes the frequency for JSCallFunction and JSCallConstruct nodes.
268 float ComputeCallFrequency(FeedbackVectorSlot slot) const;
269
267 // =========================================================================== 270 // ===========================================================================
268 // The following build methods all generate graph fragments and return one 271 // The following build methods all generate graph fragments and return one
269 // resulting node. The operand stack height remains the same, variables and 272 // resulting node. The operand stack height remains the same, variables and
270 // other dependencies tracked by the environment might be mutated though. 273 // other dependencies tracked by the environment might be mutated though.
271 274
272 // Builders to create local function, script and block contexts. 275 // Builders to create local function, script and block contexts.
273 Node* BuildLocalActivationContext(Node* context); 276 Node* BuildLocalActivationContext(Node* context);
274 Node* BuildLocalFunctionContext(Scope* scope); 277 Node* BuildLocalFunctionContext(Scope* scope);
275 Node* BuildLocalScriptContext(Scope* scope); 278 Node* BuildLocalScriptContext(Scope* scope);
276 Node* BuildLocalBlockContext(Scope* scope); 279 Node* BuildLocalBlockContext(Scope* scope);
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
604 607
605 // Prepare environment to be used as loop header. 608 // Prepare environment to be used as loop header.
606 void PrepareForLoop(BitVector* assigned, bool is_osr = false); 609 void PrepareForLoop(BitVector* assigned, bool is_osr = false);
607 }; 610 };
608 611
609 } // namespace compiler 612 } // namespace compiler
610 } // namespace internal 613 } // namespace internal
611 } // namespace v8 614 } // namespace v8
612 615
613 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ 616 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_
OLDNEW
« no previous file with comments | « no previous file | src/compiler/ast-graph-builder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698