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

#include <cfg.h>

Collaboration diagram for v8::internal::torque::CfgAssembler:

Public Member Functions

 CfgAssembler (Stack< const Type * > input_types)
 
const ControlFlowGraphResult ()
 
BlockNewBlock (std::optional< Stack< const Type * > > input_types=std::nullopt, bool is_deferred=false)
 
bool CurrentBlockIsComplete () const
 
bool CfgIsComplete () const
 
void Emit (Instruction instruction)
 
const Stack< const Type * > & CurrentStack () const
 
StackRange TopRange (size_t slot_count) const
 
void Bind (Block *block)
 
void Goto (Block *block)
 
StackRange Goto (Block *block, size_t preserved_slots)
 
void Branch (Block *if_true, Block *if_false)
 
void DeleteRange (StackRange range)
 
void DropTo (BottomOffset new_level)
 
StackRange Peek (StackRange range, std::optional< const Type * > type)
 
void Poke (StackRange destination, StackRange origin, std::optional< const Type * > type)
 
void Print (std::string s)
 
void AssertionFailure (std::string message)
 
void Unreachable ()
 
void DebugBreak ()
 
void PrintCurrentStack (std::ostream &s)
 
void OptimizeCfg ()
 
void ComputeInputDefinitions ()
 

Private Attributes

Stack< const Type * > current_stack_
 
ControlFlowGraph cfg_
 
Blockcurrent_block_ = cfg_.start()
 

Friends

class CfgAssemblerScopedTemporaryBlock
 

Detailed Description

Definition at line 147 of file cfg.h.

Constructor & Destructor Documentation

◆ CfgAssembler()

v8::internal::torque::CfgAssembler::CfgAssembler ( Stack< const Type * > input_types)
inlineexplicit

Definition at line 149 of file cfg.h.

Member Function Documentation

◆ AssertionFailure()

void v8::internal::torque::CfgAssembler::AssertionFailure ( std::string message)

Definition at line 150 of file cfg.cc.

Here is the call graph for this function:

◆ Bind()

void v8::internal::torque::CfgAssembler::Bind ( Block * block)

Definition at line 72 of file cfg.cc.

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

◆ Branch()

void v8::internal::torque::CfgAssembler::Branch ( Block * if_true,
Block * if_false )

Definition at line 99 of file cfg.cc.

Here is the call graph for this function:

◆ CfgIsComplete()

bool v8::internal::torque::CfgAssembler::CfgIsComplete ( ) const
inline

Definition at line 168 of file cfg.h.

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

◆ ComputeInputDefinitions()

void v8::internal::torque::CfgAssembler::ComputeInputDefinitions ( )

Definition at line 212 of file cfg.cc.

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

◆ CurrentBlockIsComplete()

bool v8::internal::torque::CfgAssembler::CurrentBlockIsComplete ( ) const
inline

Definition at line 167 of file cfg.h.

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

◆ CurrentStack()

const Stack< const Type * > & v8::internal::torque::CfgAssembler::CurrentStack ( ) const
inline

Definition at line 180 of file cfg.h.

Here is the caller graph for this function:

◆ DebugBreak()

void v8::internal::torque::CfgAssembler::DebugBreak ( )

Definition at line 159 of file cfg.cc.

Here is the call graph for this function:

◆ DeleteRange()

void v8::internal::torque::CfgAssembler::DeleteRange ( StackRange range)

Definition at line 104 of file cfg.cc.

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

◆ DropTo()

void v8::internal::torque::CfgAssembler::DropTo ( BottomOffset new_level)

Definition at line 110 of file cfg.cc.

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

◆ Emit()

void v8::internal::torque::CfgAssembler::Emit ( Instruction instruction)
inline

Definition at line 175 of file cfg.h.

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

◆ Goto() [1/2]

void v8::internal::torque::CfgAssembler::Goto ( Block * block)

Definition at line 81 of file cfg.cc.

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

◆ Goto() [2/2]

StackRange v8::internal::torque::CfgAssembler::Goto ( Block * block,
size_t preserved_slots )

Definition at line 88 of file cfg.cc.

Here is the call graph for this function:

◆ NewBlock()

Block * v8::internal::torque::CfgAssembler::NewBlock ( std::optional< Stack< const Type * > > input_types = std::nullopt,
bool is_deferred = false )
inline

Definition at line 162 of file cfg.h.

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

◆ OptimizeCfg()

void v8::internal::torque::CfgAssembler::OptimizeCfg ( )

Definition at line 181 of file cfg.cc.

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

◆ Peek()

StackRange v8::internal::torque::CfgAssembler::Peek ( StackRange range,
std::optional< const Type * > type )

Definition at line 114 of file cfg.cc.

Here is the call graph for this function:

◆ Poke()

void v8::internal::torque::CfgAssembler::Poke ( StackRange destination,
StackRange origin,
std::optional< const Type * > type )

Definition at line 129 of file cfg.cc.

Here is the call graph for this function:

◆ Print()

void v8::internal::torque::CfgAssembler::Print ( std::string s)

Definition at line 146 of file cfg.cc.

Here is the call graph for this function:

◆ PrintCurrentStack()

void v8::internal::torque::CfgAssembler::PrintCurrentStack ( std::ostream & s)
inline

Definition at line 207 of file cfg.h.

◆ Result()

const ControlFlowGraph & v8::internal::torque::CfgAssembler::Result ( )
inline

Definition at line 152 of file cfg.h.

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

◆ TopRange()

StackRange v8::internal::torque::CfgAssembler::TopRange ( size_t slot_count) const
inline

Definition at line 182 of file cfg.h.

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

◆ Unreachable()

void v8::internal::torque::CfgAssembler::Unreachable ( )

Definition at line 155 of file cfg.cc.

Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ CfgAssemblerScopedTemporaryBlock

friend class CfgAssemblerScopedTemporaryBlock
friend

Definition at line 212 of file cfg.h.

Member Data Documentation

◆ cfg_

ControlFlowGraph v8::internal::torque::CfgAssembler::cfg_
private

Definition at line 214 of file cfg.h.

◆ current_block_

Block* v8::internal::torque::CfgAssembler::current_block_ = cfg_.start()
private

Definition at line 215 of file cfg.h.

◆ current_stack_

Stack<const Type*> v8::internal::torque::CfgAssembler::current_stack_
private

Definition at line 213 of file cfg.h.


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