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

#include <pipelines.h>

Inheritance diagram for v8::internal::compiler::turboshaft::Pipeline:
Collaboration diagram for v8::internal::compiler::turboshaft::Pipeline:

Public Member Functions

 Pipeline (PipelineData *data)
 
PipelineDatadata () const
 
void BeginPhaseKind (const char *phase_kind_name)
 
void EndPhaseKind ()
 
template<TurboshaftPhase Phase, typename... Args>
V8_WARN_UNUSED_RESULT auto Run (Args &&... args)
 
void PrintGraph (Zone *zone, const char *phase_name)
 
void TraceSequence (const char *phase_name)
 
bool CreateGraphWithMaglev (Linkage *linkage)
 
bool CreateGraphFromTurbofan (compiler::TFPipelineData *turbofan_data, Linkage *linkage)
 
bool OptimizeTurboshaftGraph (Linkage *linkage)
 
V8_WARN_UNUSED_RESULT bool RunSimplificationAndNormalizationPhase ()
 
V8_WARN_UNUSED_RESULT bool PrepareForInstructionSelection (const ProfileDataFromFile *profile=nullptr)
 
bool SelectInstructions (Linkage *linkage)
 
V8_WARN_UNUSED_RESULT bool AllocateRegisters (CallDescriptor *call_descriptor)
 
bool MayHaveUnverifiableGraph () const
 
void VerifyGeneratedCodeIsIdempotent ()
 
V8_WARN_UNUSED_RESULT bool AllocateRegisters (const RegisterConfiguration *config, CallDescriptor *call_descriptor, bool run_verifier)
 
V8_WARN_UNUSED_RESULT bool AssembleCode (Linkage *linkage)
 
MaybeHandle< CodeGenerateCode (CallDescriptor *call_descriptor)
 
bool GenerateCode (Linkage *linkage, std::shared_ptr< OsrHelper > osr_helper={}, JumpOptimizationInfo *jump_optimization_info=nullptr, const ProfileDataFromFile *profile=nullptr, int initial_graph_hash=0)
 
OptimizedCompilationInfoinfo ()
 
MaybeIndirectHandle< CodeFinalizeCode (bool retire_broker=true)
 
bool CommitDependencies (Handle< Code > code)
 

Private Attributes

PipelineDatadata_
 

Detailed Description

Definition at line 51 of file pipelines.h.

Constructor & Destructor Documentation

◆ Pipeline()

v8::internal::compiler::turboshaft::Pipeline::Pipeline ( PipelineData * data)
inlineexplicit

Definition at line 53 of file pipelines.h.

Member Function Documentation

◆ AllocateRegisters() [1/2]

V8_WARN_UNUSED_RESULT bool v8::internal::compiler::turboshaft::Pipeline::AllocateRegisters ( CallDescriptor * call_descriptor)
inline

Definition at line 333 of file pipelines.h.

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

◆ AllocateRegisters() [2/2]

bool v8::internal::compiler::turboshaft::Pipeline::AllocateRegisters ( const RegisterConfiguration * config,
CallDescriptor * call_descriptor,
bool run_verifier )

Definition at line 25 of file pipelines.cc.

Here is the call graph for this function:

◆ AssembleCode()

V8_WARN_UNUSED_RESULT bool v8::internal::compiler::turboshaft::Pipeline::AssembleCode ( Linkage * linkage)
inline

Definition at line 401 of file pipelines.h.

Here is the caller graph for this function:

◆ BeginPhaseKind()

void v8::internal::compiler::turboshaft::Pipeline::BeginPhaseKind ( const char * phase_kind_name)
inline

Definition at line 56 of file pipelines.h.

◆ CommitDependencies()

bool v8::internal::compiler::turboshaft::Pipeline::CommitDependencies ( Handle< Code > code)
inline

Definition at line 506 of file pipelines.h.

Here is the caller graph for this function:

◆ CreateGraphFromTurbofan()

bool v8::internal::compiler::turboshaft::Pipeline::CreateGraphFromTurbofan ( compiler::TFPipelineData * turbofan_data,
Linkage * linkage )
inline

Definition at line 152 of file pipelines.h.

Here is the caller graph for this function:

◆ CreateGraphWithMaglev()

bool v8::internal::compiler::turboshaft::Pipeline::CreateGraphWithMaglev ( Linkage * linkage)
inline

Definition at line 135 of file pipelines.h.

Here is the caller graph for this function:

◆ data()

PipelineData * v8::internal::compiler::turboshaft::Pipeline::data ( ) const
inline

Definition at line 55 of file pipelines.h.

Here is the caller graph for this function:

◆ EndPhaseKind()

void v8::internal::compiler::turboshaft::Pipeline::EndPhaseKind ( )
inline

Definition at line 61 of file pipelines.h.

◆ FinalizeCode()

MaybeIndirectHandle< Code > v8::internal::compiler::turboshaft::Pipeline::FinalizeCode ( bool retire_broker = true)
inline

Definition at line 441 of file pipelines.h.

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

◆ GenerateCode() [1/2]

MaybeHandle< Code > v8::internal::compiler::turboshaft::Pipeline::GenerateCode ( CallDescriptor * call_descriptor)
inline

Definition at line 423 of file pipelines.h.

Here is the caller graph for this function:

◆ GenerateCode() [2/2]

bool v8::internal::compiler::turboshaft::Pipeline::GenerateCode ( Linkage * linkage,
std::shared_ptr< OsrHelper > osr_helper = {},
JumpOptimizationInfo * jump_optimization_info = nullptr,
const ProfileDataFromFile * profile = nullptr,
int initial_graph_hash = 0 )
nodiscard

Definition at line 116 of file pipelines.cc.

Here is the call graph for this function:

◆ info()

OptimizedCompilationInfo * v8::internal::compiler::turboshaft::Pipeline::info ( )
inline

Definition at line 439 of file pipelines.h.

Here is the caller graph for this function:

◆ MayHaveUnverifiableGraph()

bool v8::internal::compiler::turboshaft::Pipeline::MayHaveUnverifiableGraph ( ) const
inline

Definition at line 369 of file pipelines.h.

Here is the caller graph for this function:

◆ OptimizeTurboshaftGraph()

bool v8::internal::compiler::turboshaft::Pipeline::OptimizeTurboshaftGraph ( Linkage * linkage)
inline

Definition at line 171 of file pipelines.h.

Here is the caller graph for this function:

◆ PrepareForInstructionSelection()

V8_WARN_UNUSED_RESULT bool v8::internal::compiler::turboshaft::Pipeline::PrepareForInstructionSelection ( const ProfileDataFromFile * profile = nullptr)
inline

Definition at line 230 of file pipelines.h.

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

◆ PrintGraph()

void v8::internal::compiler::turboshaft::Pipeline::PrintGraph ( Zone * zone,
const char * phase_name )
inline

Definition at line 100 of file pipelines.h.

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

◆ Run()

template<TurboshaftPhase Phase, typename... Args>
V8_WARN_UNUSED_RESULT auto v8::internal::compiler::turboshaft::Pipeline::Run ( Args &&... args)
inline

Definition at line 68 of file pipelines.h.

Here is the caller graph for this function:

◆ RunSimplificationAndNormalizationPhase()

V8_WARN_UNUSED_RESULT bool v8::internal::compiler::turboshaft::Pipeline::RunSimplificationAndNormalizationPhase ( )
inline

Definition at line 225 of file pipelines.h.

Here is the caller graph for this function:

◆ SelectInstructions()

bool v8::internal::compiler::turboshaft::Pipeline::SelectInstructions ( Linkage * linkage)
inlinenodiscard

Definition at line 284 of file pipelines.h.

Here is the caller graph for this function:

◆ TraceSequence()

void v8::internal::compiler::turboshaft::Pipeline::TraceSequence ( const char * phase_name)
inline

Definition at line 112 of file pipelines.h.

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

◆ VerifyGeneratedCodeIsIdempotent()

void v8::internal::compiler::turboshaft::Pipeline::VerifyGeneratedCodeIsIdempotent ( )
inline

Definition at line 374 of file pipelines.h.

Here is the call graph for this function:

Member Data Documentation

◆ data_

PipelineData* v8::internal::compiler::turboshaft::Pipeline::data_
private

Definition at line 516 of file pipelines.h.


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