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

#include <cc-generator.h>

Inheritance diagram for v8::internal::torque::CCGenerator:
Collaboration diagram for v8::internal::torque::CCGenerator:

Public Member Functions

 CCGenerator (const ControlFlowGraph &cfg, std::ostream &out, bool is_cc_debug=false)
 
std::optional< Stack< std::string > > EmitGraph (Stack< std::string > parameters)
 
- Public Member Functions inherited from v8::internal::torque::TorqueCodeGenerator
 TorqueCodeGenerator (const ControlFlowGraph &cfg, std::ostream &out)
 

Static Public Member Functions

static void EmitCCValue (VisitResult result, const Stack< std::string > &values, std::ostream &out)
 

Private Member Functions

void EmitSourcePosition (SourcePosition pos, bool always_emit=false) override
 
void EmitGoto (const Block *destination, Stack< std::string > *stack, std::string indentation)
 
std::vector< std::string > ProcessArgumentsCommon (const TypeVector &parameter_types, std::vector< std::string > constexpr_arguments, Stack< std::string > *stack)
 
Stack< std::string > EmitBlock (const Block *block)
 

Private Attributes

bool is_cc_debug_
 

Additional Inherited Members

- Protected Member Functions inherited from v8::internal::torque::TorqueCodeGenerator
std::string DefinitionToVariable (const DefinitionLocation &location)
 
void SetDefinitionVariable (const DefinitionLocation &definition, const std::string &str)
 
std::ostream & out ()
 
std::ostream & decls ()
 
std::string FreshNodeName ()
 
std::string FreshCatchName ()
 
std::string FreshLabelName ()
 
std::string BlockName (const Block *block)
 
void EmitInstruction (const Instruction &instruction, Stack< std::string > *stack)
 
template<typename T >
void EmitIRAnnotation (const T &instruction, Stack< std::string > *stack)
 
- Static Protected Member Functions inherited from v8::internal::torque::TorqueCodeGenerator
static bool IsEmptyInstruction (const Instruction &instruction)
 
- Protected Attributes inherited from v8::internal::torque::TorqueCodeGenerator
const ControlFlowGraphcfg_
 
std::ostream * out_
 
std::ostream * out_decls_
 
size_t fresh_id_ = 0
 
SourcePosition previous_position_
 
std::map< DefinitionLocation, std::string > location_map_
 

Detailed Description

Definition at line 14 of file cc-generator.h.

Constructor & Destructor Documentation

◆ CCGenerator()

v8::internal::torque::CCGenerator::CCGenerator ( const ControlFlowGraph & cfg,
std::ostream & out,
bool is_cc_debug = false )
inline

Definition at line 16 of file cc-generator.h.

Member Function Documentation

◆ EmitBlock()

Stack< std::string > v8::internal::torque::CCGenerator::EmitBlock ( const Block * block)
private

Definition at line 51 of file cc-generator.cc.

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

◆ EmitCCValue()

void v8::internal::torque::CCGenerator::EmitCCValue ( VisitResult result,
const Stack< std::string > & values,
std::ostream & out )
static

Definition at line 514 of file cc-generator.cc.

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

◆ EmitGoto()

void v8::internal::torque::CCGenerator::EmitGoto ( const Block * destination,
Stack< std::string > * stack,
std::string indentation )
private

Definition at line 302 of file cc-generator.cc.

Here is the call graph for this function:

◆ EmitGraph()

std::optional< Stack< std::string > > v8::internal::torque::CCGenerator::EmitGraph ( Stack< std::string > parameters)

Definition at line 17 of file cc-generator.cc.

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

◆ EmitSourcePosition()

void v8::internal::torque::CCGenerator::EmitSourcePosition ( SourcePosition pos,
bool always_emit = false )
overrideprivatevirtual

Implements v8::internal::torque::TorqueCodeGenerator.

Definition at line 74 of file cc-generator.cc.

Here is the call graph for this function:

◆ ProcessArgumentsCommon()

std::vector< std::string > v8::internal::torque::CCGenerator::ProcessArgumentsCommon ( const TypeVector & parameter_types,
std::vector< std::string > constexpr_arguments,
Stack< std::string > * stack )
private

Definition at line 102 of file cc-generator.cc.

Here is the call graph for this function:

Member Data Documentation

◆ is_cc_debug_

bool v8::internal::torque::CCGenerator::is_cc_debug_
private

Definition at line 25 of file cc-generator.h.


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