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

#include <maglev-compilation-info.h>

Collaboration diagram for v8::internal::maglev::MaglevCompilationInfo:

Public Member Functions

 ~MaglevCompilationInfo ()
 
Zonezone ()
 
compiler::JSHeapBrokerbroker () const
 
MaglevCompilationUnittoplevel_compilation_unit () const
 
IndirectHandle< JSFunctiontoplevel_function () const
 
BytecodeOffset toplevel_osr_offset () const
 
bool toplevel_is_osr () const
 
void set_code (IndirectHandle< Code > code)
 
MaybeIndirectHandle< Codeget_code ()
 
bool is_turbolev () const
 
bool has_graph_labeller () const
 
void set_graph_labeller (MaglevGraphLabeller *graph_labeller)
 
MaglevGraphLabellergraph_labeller () const
 
bool collect_source_positions () const
 
bool specialize_to_function_context () const
 
void ReopenAndCanonicalizeHandlesInNewScope (Isolate *isolate)
 
void set_persistent_handles (std::unique_ptr< PersistentHandles > &&persistent_handles)
 
std::unique_ptr< PersistentHandlesDetachPersistentHandles ()
 
void set_canonical_handles (std::unique_ptr< CanonicalHandlesMap > &&canonical_handles)
 
std::unique_ptr< CanonicalHandlesMapDetachCanonicalHandles ()
 
bool is_detached ()
 
bool could_not_inline_all_candidates ()
 
void set_could_not_inline_all_candidates ()
 

Static Public Member Functions

static std::unique_ptr< MaglevCompilationInfoNewForTurboshaft (Isolate *isolate, compiler::JSHeapBroker *broker, IndirectHandle< JSFunction > function, BytecodeOffset osr_offset, bool specialize_to_function_context)
 
static std::unique_ptr< MaglevCompilationInfoNew (Isolate *isolate, IndirectHandle< JSFunction > function, BytecodeOffset osr_offset)
 

Private Member Functions

 MaglevCompilationInfo (Isolate *isolate, IndirectHandle< JSFunction > function, BytecodeOffset osr_offset, std::optional< compiler::JSHeapBroker * > broker=std::nullopt, std::optional< bool > specialize_to_function_context=std::nullopt, bool for_turboshaft_frontend=false)
 
CanonicalHandlesMapcanonical_handles ()
 

Private Attributes

Zone zone_
 
compiler::JSHeapBrokerbroker_
 
MaglevCompilationUnittoplevel_compilation_unit_ = nullptr
 
IndirectHandle< JSFunctiontoplevel_function_
 
IndirectHandle< Codecode_
 
BytecodeOffset osr_offset_
 
bool owns_broker_ = true
 
bool is_turbolev_ = false
 
bool could_not_inline_all_candidates_ = false
 
std::unique_ptr< MaglevGraphLabellergraph_labeller_
 
bool collect_source_positions_
 
const bool specialize_to_function_context_
 
std::unique_ptr< PersistentHandlesph_
 
std::unique_ptr< CanonicalHandlesMapcanonical_handles_
 

Detailed Description

Definition at line 48 of file maglev-compilation-info.h.

Constructor & Destructor Documentation

◆ ~MaglevCompilationInfo()

v8::internal::maglev::MaglevCompilationInfo::~MaglevCompilationInfo ( )

Definition at line 129 of file maglev-compilation-info.cc.

◆ MaglevCompilationInfo()

v8::internal::maglev::MaglevCompilationInfo::MaglevCompilationInfo ( Isolate * isolate,
IndirectHandle< JSFunction > function,
BytecodeOffset osr_offset,
std::optional< compiler::JSHeapBroker * > broker = std::nullopt,
std::optional< bool > specialize_to_function_context = std::nullopt,
bool for_turboshaft_frontend = false )
private

Definition at line 76 of file maglev-compilation-info.cc.

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

Member Function Documentation

◆ broker()

compiler::JSHeapBroker * v8::internal::maglev::MaglevCompilationInfo::broker ( ) const
inline

Definition at line 69 of file maglev-compilation-info.h.

Here is the caller graph for this function:

◆ canonical_handles()

CanonicalHandlesMap * v8::internal::maglev::MaglevCompilationInfo::canonical_handles ( )
inlineprivate

Definition at line 145 of file maglev-compilation-info.h.

Here is the caller graph for this function:

◆ collect_source_positions()

bool v8::internal::maglev::MaglevCompilationInfo::collect_source_positions ( ) const
inline

Definition at line 104 of file maglev-compilation-info.h.

Here is the caller graph for this function:

◆ could_not_inline_all_candidates()

bool v8::internal::maglev::MaglevCompilationInfo::could_not_inline_all_candidates ( )
inline

Definition at line 125 of file maglev-compilation-info.h.

◆ DetachCanonicalHandles()

std::unique_ptr< CanonicalHandlesMap > v8::internal::maglev::MaglevCompilationInfo::DetachCanonicalHandles ( )

Definition at line 192 of file maglev-compilation-info.cc.

◆ DetachPersistentHandles()

std::unique_ptr< PersistentHandles > v8::internal::maglev::MaglevCompilationInfo::DetachPersistentHandles ( )

Definition at line 175 of file maglev-compilation-info.cc.

◆ get_code()

MaybeIndirectHandle< Code > v8::internal::maglev::MaglevCompilationInfo::get_code ( )
inline

Definition at line 82 of file maglev-compilation-info.h.

◆ graph_labeller()

MaglevGraphLabeller * v8::internal::maglev::MaglevCompilationInfo::graph_labeller ( ) const
inline

Definition at line 88 of file maglev-compilation-info.h.

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

◆ has_graph_labeller()

bool v8::internal::maglev::MaglevCompilationInfo::has_graph_labeller ( ) const
inline

Definition at line 86 of file maglev-compilation-info.h.

Here is the caller graph for this function:

◆ is_detached()

bool v8::internal::maglev::MaglevCompilationInfo::is_detached ( )

Definition at line 187 of file maglev-compilation-info.cc.

Here is the caller graph for this function:

◆ is_turbolev()

bool v8::internal::maglev::MaglevCompilationInfo::is_turbolev ( ) const
inline

Definition at line 84 of file maglev-compilation-info.h.

◆ New()

static std::unique_ptr< MaglevCompilationInfo > v8::internal::maglev::MaglevCompilationInfo::New ( Isolate * isolate,
IndirectHandle< JSFunction > function,
BytecodeOffset osr_offset )
inlinestatic

Definition at line 59 of file maglev-compilation-info.h.

Here is the call graph for this function:

◆ NewForTurboshaft()

static std::unique_ptr< MaglevCompilationInfo > v8::internal::maglev::MaglevCompilationInfo::NewForTurboshaft ( Isolate * isolate,
compiler::JSHeapBroker * broker,
IndirectHandle< JSFunction > function,
BytecodeOffset osr_offset,
bool specialize_to_function_context )
inlinestatic

Definition at line 50 of file maglev-compilation-info.h.

Here is the call graph for this function:

◆ ReopenAndCanonicalizeHandlesInNewScope()

void v8::internal::maglev::MaglevCompilationInfo::ReopenAndCanonicalizeHandlesInNewScope ( Isolate * isolate)

Definition at line 161 of file maglev-compilation-info.cc.

◆ set_canonical_handles()

void v8::internal::maglev::MaglevCompilationInfo::set_canonical_handles ( std::unique_ptr< CanonicalHandlesMap > && canonical_handles)

Definition at line 180 of file maglev-compilation-info.cc.

Here is the call graph for this function:

◆ set_code()

void v8::internal::maglev::MaglevCompilationInfo::set_code ( IndirectHandle< Code > code)
inline

Definition at line 78 of file maglev-compilation-info.h.

◆ set_could_not_inline_all_candidates()

void v8::internal::maglev::MaglevCompilationInfo::set_could_not_inline_all_candidates ( )
inline

Definition at line 128 of file maglev-compilation-info.h.

Here is the caller graph for this function:

◆ set_graph_labeller()

void v8::internal::maglev::MaglevCompilationInfo::set_graph_labeller ( MaglevGraphLabeller * graph_labeller)

Definition at line 135 of file maglev-compilation-info.cc.

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

◆ set_persistent_handles()

void v8::internal::maglev::MaglevCompilationInfo::set_persistent_handles ( std::unique_ptr< PersistentHandles > && persistent_handles)

Definition at line 167 of file maglev-compilation-info.cc.

◆ specialize_to_function_context()

bool v8::internal::maglev::MaglevCompilationInfo::specialize_to_function_context ( ) const
inline

Definition at line 106 of file maglev-compilation-info.h.

Here is the caller graph for this function:

◆ toplevel_compilation_unit()

MaglevCompilationUnit * v8::internal::maglev::MaglevCompilationInfo::toplevel_compilation_unit ( ) const
inline

Definition at line 70 of file maglev-compilation-info.h.

Here is the caller graph for this function:

◆ toplevel_function()

IndirectHandle< JSFunction > v8::internal::maglev::MaglevCompilationInfo::toplevel_function ( ) const
inline

Definition at line 73 of file maglev-compilation-info.h.

Here is the caller graph for this function:

◆ toplevel_is_osr()

bool v8::internal::maglev::MaglevCompilationInfo::toplevel_is_osr ( ) const
inline

Definition at line 77 of file maglev-compilation-info.h.

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

◆ toplevel_osr_offset()

BytecodeOffset v8::internal::maglev::MaglevCompilationInfo::toplevel_osr_offset ( ) const
inline

Definition at line 76 of file maglev-compilation-info.h.

Here is the caller graph for this function:

◆ zone()

Zone * v8::internal::maglev::MaglevCompilationInfo::zone ( )
inline

Definition at line 68 of file maglev-compilation-info.h.

Here is the caller graph for this function:

Member Data Documentation

◆ broker_

compiler::JSHeapBroker* v8::internal::maglev::MaglevCompilationInfo::broker_
private

Definition at line 149 of file maglev-compilation-info.h.

◆ canonical_handles_

std::unique_ptr<CanonicalHandlesMap> v8::internal::maglev::MaglevCompilationInfo::canonical_handles_
private

Definition at line 203 of file maglev-compilation-info.h.

◆ code_

IndirectHandle<Code> v8::internal::maglev::MaglevCompilationInfo::code_
private

Definition at line 153 of file maglev-compilation-info.h.

◆ collect_source_positions_

bool v8::internal::maglev::MaglevCompilationInfo::collect_source_positions_
private

Definition at line 178 of file maglev-compilation-info.h.

◆ could_not_inline_all_candidates_

bool v8::internal::maglev::MaglevCompilationInfo::could_not_inline_all_candidates_ = false
private

Definition at line 166 of file maglev-compilation-info.h.

◆ graph_labeller_

std::unique_ptr<MaglevGraphLabeller> v8::internal::maglev::MaglevCompilationInfo::graph_labeller_
private

Definition at line 168 of file maglev-compilation-info.h.

◆ is_turbolev_

bool v8::internal::maglev::MaglevCompilationInfo::is_turbolev_ = false
private

Definition at line 163 of file maglev-compilation-info.h.

◆ osr_offset_

BytecodeOffset v8::internal::maglev::MaglevCompilationInfo::osr_offset_
private

Definition at line 154 of file maglev-compilation-info.h.

◆ owns_broker_

bool v8::internal::maglev::MaglevCompilationInfo::owns_broker_ = true
private

Definition at line 159 of file maglev-compilation-info.h.

◆ ph_

std::unique_ptr<PersistentHandles> v8::internal::maglev::MaglevCompilationInfo::ph_
private

Definition at line 198 of file maglev-compilation-info.h.

◆ specialize_to_function_context_

const bool v8::internal::maglev::MaglevCompilationInfo::specialize_to_function_context_
private

Definition at line 184 of file maglev-compilation-info.h.

◆ toplevel_compilation_unit_

MaglevCompilationUnit* v8::internal::maglev::MaglevCompilationInfo::toplevel_compilation_unit_ = nullptr
private

Definition at line 151 of file maglev-compilation-info.h.

◆ toplevel_function_

IndirectHandle<JSFunction> v8::internal::maglev::MaglevCompilationInfo::toplevel_function_
private

Definition at line 152 of file maglev-compilation-info.h.

◆ zone_

Zone v8::internal::maglev::MaglevCompilationInfo::zone_
private

Definition at line 148 of file maglev-compilation-info.h.


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