v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
basic-block-instrumentor.h
Go to the documentation of this file.
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
3// found in the LICENSE file.
4
5#ifndef V8_COMPILER_BASIC_BLOCK_INSTRUMENTOR_H_
6#define V8_COMPILER_BASIC_BLOCK_INSTRUMENTOR_H_
7
10
11namespace v8 {
12namespace internal {
13
14class OptimizedCompilationInfo;
15
16namespace compiler {
17
18class TFGraph;
19class Schedule;
20
21namespace turboshaft {
22class Graph;
23} // namespace turboshaft
24
26 public:
28 TFGraph* graph, Schedule* schedule,
29 Isolate* isolate);
30};
31
32// A profiler which works when reorder_builtins flag was set as true, it will
33// store the call graph between builtins, the call graph will be used to reorder
34// builtins.
36 public:
37 // The method will iterate all the basic blocks and visit all the nodes inside
38 // the block, if there is a Call/TailCall node to another builtin, it will
39 // save a record line (like builtin A calls builtin B at block N).
43 const turboshaft::Graph& graph);
44};
45
46} // namespace compiler
47} // namespace internal
48} // namespace v8
49
50#endif // V8_COMPILER_BASIC_BLOCK_INSTRUMENTOR_H_
Schedule * schedule
static void StoreCallGraph(OptimizedCompilationInfo *info, Schedule *schedule)
static BasicBlockProfilerData * Instrument(OptimizedCompilationInfo *info, TFGraph *graph, Schedule *schedule, Isolate *isolate)