v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::compiler::turboshaft::TurboshaftSpecialRPONumberer Class Reference

#include <instruction-selection-phase.h>

Collaboration diagram for v8::internal::compiler::turboshaft::TurboshaftSpecialRPONumberer:

Classes

struct  BlockData
 
struct  LoopInfo
 
struct  SpecialRPOStackFrame
 

Public Types

using Backedge = std::pair<const Block*, size_t>
 

Public Member Functions

 TurboshaftSpecialRPONumberer (const Graph &graph, Zone *zone)
 
ZoneVector< uint32_t > ComputeSpecialRPO ()
 

Static Public Attributes

static const int kBlockOnStack = -2
 
static const int kBlockVisited1 = -3
 
static const int kBlockVisited2 = -4
 
static const int kBlockUnvisited = -1
 

Private Member Functions

void ComputeLoopInfo (size_t num_loops, ZoneVector< Backedge > &backedges)
 
ZoneVector< uint32_t > ComputeBlockPermutation (const Block *entry)
 
int32_t rpo_number (const Block *block) const
 
void set_rpo_number (const Block *block, int32_t rpo_number)
 
bool has_loop_number (const Block *block) const
 
size_t loop_number (const Block *block) const
 
void set_loop_number (const Block *block, size_t loop_number)
 
const BlockPushFront (const Block *head, const Block *block)
 
Zonezone () const
 

Private Attributes

const Graphgraph_
 
FixedBlockSidetable< BlockDatablock_data_
 
ZoneVector< LoopInfoloops_
 

Detailed Description

Definition at line 31 of file instruction-selection-phase.h.

Member Typedef Documentation

◆ Backedge

Constructor & Destructor Documentation

◆ TurboshaftSpecialRPONumberer()

v8::internal::compiler::turboshaft::TurboshaftSpecialRPONumberer::TurboshaftSpecialRPONumberer ( const Graph & graph,
Zone * zone )
inline

Definition at line 71 of file instruction-selection-phase.h.

Member Function Documentation

◆ ComputeBlockPermutation()

ZoneVector< uint32_t > v8::internal::compiler::turboshaft::TurboshaftSpecialRPONumberer::ComputeBlockPermutation ( const Block * entry)
private

Definition at line 246 of file instruction-selection-phase.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ComputeLoopInfo()

void v8::internal::compiler::turboshaft::TurboshaftSpecialRPONumberer::ComputeLoopInfo ( size_t num_loops,
ZoneVector< Backedge > & backedges )
private

Definition at line 204 of file instruction-selection-phase.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ComputeSpecialRPO()

ZoneVector< uint32_t > v8::internal::compiler::turboshaft::TurboshaftSpecialRPONumberer::ComputeSpecialRPO ( )

Definition at line 53 of file instruction-selection-phase.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ has_loop_number()

bool v8::internal::compiler::turboshaft::TurboshaftSpecialRPONumberer::has_loop_number ( const Block * block) const
inlineprivate

Definition at line 88 of file instruction-selection-phase.h.

Here is the caller graph for this function:

◆ loop_number()

size_t v8::internal::compiler::turboshaft::TurboshaftSpecialRPONumberer::loop_number ( const Block * block) const
inlineprivate

Definition at line 92 of file instruction-selection-phase.h.

Here is the caller graph for this function:

◆ PushFront()

const Block * v8::internal::compiler::turboshaft::TurboshaftSpecialRPONumberer::PushFront ( const Block * head,
const Block * block )
inlineprivate

Definition at line 101 of file instruction-selection-phase.h.

Here is the caller graph for this function:

◆ rpo_number()

int32_t v8::internal::compiler::turboshaft::TurboshaftSpecialRPONumberer::rpo_number ( const Block * block) const
inlineprivate

Definition at line 80 of file instruction-selection-phase.h.

Here is the caller graph for this function:

◆ set_loop_number()

void v8::internal::compiler::turboshaft::TurboshaftSpecialRPONumberer::set_loop_number ( const Block * block,
size_t loop_number )
inlineprivate

Definition at line 97 of file instruction-selection-phase.h.

Here is the caller graph for this function:

◆ set_rpo_number()

void v8::internal::compiler::turboshaft::TurboshaftSpecialRPONumberer::set_rpo_number ( const Block * block,
int32_t rpo_number )
inlineprivate

Definition at line 84 of file instruction-selection-phase.h.

Here is the caller graph for this function:

◆ zone()

Zone * v8::internal::compiler::turboshaft::TurboshaftSpecialRPONumberer::zone ( ) const
inlineprivate

Definition at line 106 of file instruction-selection-phase.h.

Here is the caller graph for this function:

Member Data Documentation

◆ block_data_

FixedBlockSidetable<BlockData> v8::internal::compiler::turboshaft::TurboshaftSpecialRPONumberer::block_data_
private

Definition at line 109 of file instruction-selection-phase.h.

◆ graph_

const Graph* v8::internal::compiler::turboshaft::TurboshaftSpecialRPONumberer::graph_
private

Definition at line 108 of file instruction-selection-phase.h.

◆ kBlockOnStack

const int v8::internal::compiler::turboshaft::TurboshaftSpecialRPONumberer::kBlockOnStack = -2
static

Definition at line 34 of file instruction-selection-phase.h.

◆ kBlockUnvisited

const int v8::internal::compiler::turboshaft::TurboshaftSpecialRPONumberer::kBlockUnvisited = -1
static

Definition at line 37 of file instruction-selection-phase.h.

◆ kBlockVisited1

const int v8::internal::compiler::turboshaft::TurboshaftSpecialRPONumberer::kBlockVisited1 = -3
static

Definition at line 35 of file instruction-selection-phase.h.

◆ kBlockVisited2

const int v8::internal::compiler::turboshaft::TurboshaftSpecialRPONumberer::kBlockVisited2 = -4
static

Definition at line 36 of file instruction-selection-phase.h.

◆ loops_

ZoneVector<LoopInfo> v8::internal::compiler::turboshaft::TurboshaftSpecialRPONumberer::loops_
private

Definition at line 110 of file instruction-selection-phase.h.


The documentation for this class was generated from the following files: