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

#include <optimized-compilation-info.h>

Collaboration diagram for v8::internal::OptimizedCompilationInfo:

Classes

struct  InlinedFunctionHolder
 

Public Types

enum  Flag
 
using InlinedFunctionList = std::vector<InlinedFunctionHolder>
 

Public Member Functions

 OptimizedCompilationInfo (Zone *zone, Isolate *isolate, IndirectHandle< SharedFunctionInfo > shared, IndirectHandle< JSFunction > closure, CodeKind code_kind, BytecodeOffset osr_offset)
 
 OptimizedCompilationInfo (Zone *zone, Isolate *isolate, IndirectHandle< SharedFunctionInfo > shared, IndirectHandle< JSFunction > closure, CodeKind code_kind)
 
 OptimizedCompilationInfo (base::Vector< const char > debug_name, Zone *zone, CodeKind code_kind, Builtin builtin=Builtin::kNoBuiltinId)
 
 OptimizedCompilationInfo (const OptimizedCompilationInfo &)=delete
 
OptimizedCompilationInfooperator= (const OptimizedCompilationInfo &)=delete
 
 ~OptimizedCompilationInfo ()
 
Zonezone ()
 
bool is_osr () const
 
IndirectHandle< SharedFunctionInfoshared_info () const
 
bool has_shared_info () const
 
IndirectHandle< BytecodeArraybytecode_array () const
 
bool has_bytecode_array () const
 
IndirectHandle< JSFunctionclosure () const
 
IndirectHandle< Codecode () const
 
CodeKind code_kind () const
 
Builtin builtin () const
 
void set_builtin (Builtin builtin)
 
BytecodeOffset osr_offset () const
 
void SetNodeObserver (compiler::NodeObserver *observer)
 
compiler::NodeObservernode_observer () const
 
void SetCode (IndirectHandle< Code > code)
 
bool has_context () const
 
Tagged< Contextcontext () const
 
bool has_native_context () const
 
Tagged< NativeContextnative_context () const
 
bool has_global_object () const
 
Tagged< JSGlobalObjectglobal_object () const
 
bool IsOptimizing () const
 
void set_persistent_handles (std::unique_ptr< PersistentHandles > persistent_handles)
 
void set_canonical_handles (std::unique_ptr< CanonicalHandlesMap > canonical_handles)
 
template<typename T >
IndirectHandle< TCanonicalHandle (Tagged< T > object, Isolate *isolate)
 
void ReopenAndCanonicalizeHandlesInNewScope (Isolate *isolate)
 
void AbortOptimization (BailoutReason reason)
 
void RetryOptimization (BailoutReason reason)
 
BailoutReason bailout_reason () const
 
int optimization_id () const
 
unsigned inlined_bytecode_size () const
 
void set_inlined_bytecode_size (unsigned size)
 
InlinedFunctionListinlined_functions ()
 
int AddInlinedFunction (IndirectHandle< SharedFunctionInfo > inlined_function, IndirectHandle< BytecodeArray > inlined_bytecode, SourcePosition pos)
 
std::unique_ptr< char[]> GetDebugName () const
 
StackFrame::Type GetOutputStackFrameType () const
 
const char * trace_turbo_filename () const
 
void set_trace_turbo_filename (std::unique_ptr< char[]> filename)
 
TickCountertick_counter ()
 
bool was_cancelled () const
 
void mark_cancelled ()
 
BasicBlockProfilerDataprofiler_data () const
 
void set_profiler_data (BasicBlockProfilerData *profiler_data)
 
std::unique_ptr< PersistentHandlesDetachPersistentHandles ()
 
std::unique_ptr< CanonicalHandlesMapDetachCanonicalHandles ()
 

Private Member Functions

void ConfigureFlags ()
 
void SetFlag (Flag flag)
 
bool GetFlag (Flag flag) const
 
void SetTracingFlags (bool passes_filter)
 
CanonicalHandlesMapcanonical_handles ()
 

Private Attributes

unsigned flags_ = 0
 
Isolate *const isolate_unsafe_
 
const CodeKind code_kind_
 
Builtin builtin_ = Builtin::kNoBuiltinId
 
IndirectHandle< BytecodeArraybytecode_array_
 
IndirectHandle< SharedFunctionInfoshared_info_
 
IndirectHandle< JSFunctionclosure_
 
IndirectHandle< Codecode_
 
BasicBlockProfilerDataprofiler_data_ = nullptr
 
const BytecodeOffset osr_offset_ = BytecodeOffset::None()
 
Zone *const zone_
 
compiler::NodeObservernode_observer_ = nullptr
 
BailoutReason bailout_reason_ = BailoutReason::kNoReason
 
InlinedFunctionList inlined_functions_
 
const int optimization_id_
 
unsigned inlined_bytecode_size_ = 0
 
base::Vector< const char > debug_name_
 
std::unique_ptr< char[]> trace_turbo_filename_
 
TickCounter tick_counter_
 
std::atomic< boolwas_cancelled_ = false
 
std::unique_ptr< PersistentHandlesph_
 
std::unique_ptr< CanonicalHandlesMapcanonical_handles_
 

Static Private Attributes

static constexpr int kNoOptimizationId = -1
 

Friends

class compiler::JSHeapBroker
 

Detailed Description

Definition at line 54 of file optimized-compilation-info.h.

Member Typedef Documentation

◆ InlinedFunctionList

Member Enumeration Documentation

◆ Flag

Constructor & Destructor Documentation

◆ OptimizedCompilationInfo() [1/4]

v8::internal::OptimizedCompilationInfo::OptimizedCompilationInfo ( Zone * zone,
Isolate * isolate,
IndirectHandle< SharedFunctionInfo > shared,
IndirectHandle< JSFunction > closure,
CodeKind code_kind,
BytecodeOffset osr_offset )

Definition at line 24 of file optimized-compilation-info.cc.

Here is the call graph for this function:

◆ OptimizedCompilationInfo() [2/4]

v8::internal::OptimizedCompilationInfo::OptimizedCompilationInfo ( Zone * zone,
Isolate * isolate,
IndirectHandle< SharedFunctionInfo > shared,
IndirectHandle< JSFunction > closure,
CodeKind code_kind )
inline

Definition at line 108 of file optimized-compilation-info.h.

◆ OptimizedCompilationInfo() [3/4]

v8::internal::OptimizedCompilationInfo::OptimizedCompilationInfo ( base::Vector< const char > debug_name,
Zone * zone,
CodeKind code_kind,
Builtin builtin = Builtin::kNoBuiltinId )

Definition at line 61 of file optimized-compilation-info.cc.

Here is the call graph for this function:

◆ OptimizedCompilationInfo() [4/4]

v8::internal::OptimizedCompilationInfo::OptimizedCompilationInfo ( const OptimizedCompilationInfo & )
delete

◆ ~OptimizedCompilationInfo()

v8::internal::OptimizedCompilationInfo::~OptimizedCompilationInfo ( )

Definition at line 128 of file optimized-compilation-info.cc.

Here is the call graph for this function:

Member Function Documentation

◆ AbortOptimization()

void v8::internal::OptimizedCompilationInfo::AbortOptimization ( BailoutReason reason)

Definition at line 149 of file optimized-compilation-info.cc.

Here is the caller graph for this function:

◆ AddInlinedFunction()

int v8::internal::OptimizedCompilationInfo::AddInlinedFunction ( IndirectHandle< SharedFunctionInfo > inlined_function,
IndirectHandle< BytecodeArray > inlined_bytecode,
SourcePosition pos )

Definition at line 230 of file optimized-compilation-info.cc.

Here is the caller graph for this function:

◆ bailout_reason()

BailoutReason v8::internal::OptimizedCompilationInfo::bailout_reason ( ) const
inline

Definition at line 208 of file optimized-compilation-info.h.

Here is the caller graph for this function:

◆ builtin()

Builtin v8::internal::OptimizedCompilationInfo::builtin ( ) const
inline

Definition at line 137 of file optimized-compilation-info.h.

Here is the caller graph for this function:

◆ bytecode_array()

IndirectHandle< BytecodeArray > v8::internal::OptimizedCompilationInfo::bytecode_array ( ) const
inline

Definition at line 130 of file optimized-compilation-info.h.

◆ canonical_handles()

CanonicalHandlesMap * v8::internal::OptimizedCompilationInfo::canonical_handles ( )
inlineprivate

Definition at line 292 of file optimized-compilation-info.h.

◆ CanonicalHandle()

template<typename T >
IndirectHandle< T > v8::internal::OptimizedCompilationInfo::CanonicalHandle ( Tagged< T > object,
Isolate * isolate )
inline

Definition at line 192 of file optimized-compilation-info.h.

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

◆ closure()

IndirectHandle< JSFunction > v8::internal::OptimizedCompilationInfo::closure ( ) const
inline

Definition at line 134 of file optimized-compilation-info.h.

Here is the caller graph for this function:

◆ code()

IndirectHandle< Code > v8::internal::OptimizedCompilationInfo::code ( ) const
inline

Definition at line 135 of file optimized-compilation-info.h.

Here is the caller graph for this function:

◆ code_kind()

CodeKind v8::internal::OptimizedCompilationInfo::code_kind ( ) const
inline

Definition at line 136 of file optimized-compilation-info.h.

Here is the caller graph for this function:

◆ ConfigureFlags()

void v8::internal::OptimizedCompilationInfo::ConfigureFlags ( )
private

Definition at line 79 of file optimized-compilation-info.cc.

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

◆ context()

Tagged< Context > v8::internal::OptimizedCompilationInfo::context ( ) const

Definition at line 207 of file optimized-compilation-info.cc.

Here is the call graph for this function:

◆ DetachCanonicalHandles()

std::unique_ptr< CanonicalHandlesMap > v8::internal::OptimizedCompilationInfo::DetachCanonicalHandles ( )
inline

Definition at line 274 of file optimized-compilation-info.h.

◆ DetachPersistentHandles()

std::unique_ptr< PersistentHandles > v8::internal::OptimizedCompilationInfo::DetachPersistentHandles ( )
inline

Definition at line 269 of file optimized-compilation-info.h.

◆ GetDebugName()

std::unique_ptr< char[]> v8::internal::OptimizedCompilationInfo::GetDebugName ( ) const

Definition at line 163 of file optimized-compilation-info.cc.

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

◆ GetFlag()

bool v8::internal::OptimizedCompilationInfo::GetFlag ( Flag flag) const
inlineprivate

Definition at line 283 of file optimized-compilation-info.h.

◆ GetOutputStackFrameType()

StackFrame::Type v8::internal::OptimizedCompilationInfo::GetOutputStackFrameType ( ) const

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

Here is the call graph for this function:

◆ global_object()

Tagged< JSGlobalObject > v8::internal::OptimizedCompilationInfo::global_object ( ) const

Definition at line 225 of file optimized-compilation-info.cc.

Here is the call graph for this function:

◆ has_bytecode_array()

bool v8::internal::OptimizedCompilationInfo::has_bytecode_array ( ) const
inline

Definition at line 133 of file optimized-compilation-info.h.

◆ has_context()

bool v8::internal::OptimizedCompilationInfo::has_context ( ) const

Definition at line 203 of file optimized-compilation-info.cc.

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

◆ has_global_object()

bool v8::internal::OptimizedCompilationInfo::has_global_object ( ) const

Definition at line 221 of file optimized-compilation-info.cc.

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

◆ has_native_context()

bool v8::internal::OptimizedCompilationInfo::has_native_context ( ) const

Definition at line 212 of file optimized-compilation-info.cc.

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

◆ has_shared_info()

bool v8::internal::OptimizedCompilationInfo::has_shared_info ( ) const
inline

Definition at line 129 of file optimized-compilation-info.h.

Here is the caller graph for this function:

◆ inlined_bytecode_size()

unsigned v8::internal::OptimizedCompilationInfo::inlined_bytecode_size ( ) const
inline

Definition at line 215 of file optimized-compilation-info.h.

◆ inlined_functions()

InlinedFunctionList & v8::internal::OptimizedCompilationInfo::inlined_functions ( )
inline

Definition at line 237 of file optimized-compilation-info.h.

Here is the caller graph for this function:

◆ is_osr()

bool v8::internal::OptimizedCompilationInfo::is_osr ( ) const
inline

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

Here is the caller graph for this function:

◆ IsOptimizing()

bool v8::internal::OptimizedCompilationInfo::IsOptimizing ( ) const
inline

Definition at line 160 of file optimized-compilation-info.h.

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

◆ mark_cancelled()

void v8::internal::OptimizedCompilationInfo::mark_cancelled ( )

Definition at line 249 of file optimized-compilation-info.cc.

Here is the caller graph for this function:

◆ native_context()

Tagged< NativeContext > v8::internal::OptimizedCompilationInfo::native_context ( ) const

Definition at line 216 of file optimized-compilation-info.cc.

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

◆ node_observer()

compiler::NodeObserver * v8::internal::OptimizedCompilationInfo::node_observer ( ) const
inline

Definition at line 144 of file optimized-compilation-info.h.

◆ operator=()

OptimizedCompilationInfo & v8::internal::OptimizedCompilationInfo::operator= ( const OptimizedCompilationInfo & )
delete

◆ optimization_id()

int v8::internal::OptimizedCompilationInfo::optimization_id ( ) const
inline

Definition at line 210 of file optimized-compilation-info.h.

◆ osr_offset()

BytecodeOffset v8::internal::OptimizedCompilationInfo::osr_offset ( ) const
inline

Definition at line 139 of file optimized-compilation-info.h.

Here is the caller graph for this function:

◆ profiler_data()

BasicBlockProfilerData * v8::internal::OptimizedCompilationInfo::profiler_data ( ) const
inline

Definition at line 264 of file optimized-compilation-info.h.

Here is the caller graph for this function:

◆ ReopenAndCanonicalizeHandlesInNewScope()

void v8::internal::OptimizedCompilationInfo::ReopenAndCanonicalizeHandlesInNewScope ( Isolate * isolate)

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

Here is the call graph for this function:

◆ RetryOptimization()

void v8::internal::OptimizedCompilationInfo::RetryOptimization ( BailoutReason reason)

Definition at line 157 of file optimized-compilation-info.cc.

Here is the caller graph for this function:

◆ set_builtin()

void v8::internal::OptimizedCompilationInfo::set_builtin ( Builtin builtin)
inline

Definition at line 138 of file optimized-compilation-info.h.

Here is the caller graph for this function:

◆ set_canonical_handles()

void v8::internal::OptimizedCompilationInfo::set_canonical_handles ( std::unique_ptr< CanonicalHandlesMap > canonical_handles)
inline

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

◆ set_inlined_bytecode_size()

void v8::internal::OptimizedCompilationInfo::set_inlined_bytecode_size ( unsigned size)
inline

Definition at line 217 of file optimized-compilation-info.h.

◆ set_persistent_handles()

void v8::internal::OptimizedCompilationInfo::set_persistent_handles ( std::unique_ptr< PersistentHandles > persistent_handles)
inline

Definition at line 177 of file optimized-compilation-info.h.

Here is the caller graph for this function:

◆ set_profiler_data()

void v8::internal::OptimizedCompilationInfo::set_profiler_data ( BasicBlockProfilerData * profiler_data)
inline

Definition at line 265 of file optimized-compilation-info.h.

◆ set_trace_turbo_filename()

void v8::internal::OptimizedCompilationInfo::set_trace_turbo_filename ( std::unique_ptr< char[]> filename)
inline

Definition at line 252 of file optimized-compilation-info.h.

◆ SetCode()

void v8::internal::OptimizedCompilationInfo::SetCode ( IndirectHandle< Code > code)

Definition at line 198 of file optimized-compilation-info.cc.

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

◆ SetFlag()

void v8::internal::OptimizedCompilationInfo::SetFlag ( Flag flag)
inlineprivate

Definition at line 282 of file optimized-compilation-info.h.

◆ SetNodeObserver()

void v8::internal::OptimizedCompilationInfo::SetNodeObserver ( compiler::NodeObserver * observer)
inline

Definition at line 140 of file optimized-compilation-info.h.

Here is the caller graph for this function:

◆ SetTracingFlags()

void v8::internal::OptimizedCompilationInfo::SetTracingFlags ( bool passes_filter)
private

Definition at line 239 of file optimized-compilation-info.cc.

Here is the caller graph for this function:

◆ shared_info()

IndirectHandle< SharedFunctionInfo > v8::internal::OptimizedCompilationInfo::shared_info ( ) const
inline

Definition at line 126 of file optimized-compilation-info.h.

Here is the caller graph for this function:

◆ tick_counter()

TickCounter & v8::internal::OptimizedCompilationInfo::tick_counter ( )
inline

Definition at line 256 of file optimized-compilation-info.h.

Here is the caller graph for this function:

◆ trace_turbo_filename()

const char * v8::internal::OptimizedCompilationInfo::trace_turbo_filename ( ) const
inline

Definition at line 248 of file optimized-compilation-info.h.

◆ was_cancelled()

bool v8::internal::OptimizedCompilationInfo::was_cancelled ( ) const
inline

Definition at line 258 of file optimized-compilation-info.h.

Here is the caller graph for this function:

◆ zone()

Zone * v8::internal::OptimizedCompilationInfo::zone ( )
inline

Definition at line 124 of file optimized-compilation-info.h.

Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ compiler::JSHeapBroker

friend class compiler::JSHeapBroker
friend

Definition at line 293 of file optimized-compilation-info.h.

Member Data Documentation

◆ bailout_reason_

BailoutReason v8::internal::OptimizedCompilationInfo::bailout_reason_ = BailoutReason::kNoReason
private

Definition at line 325 of file optimized-compilation-info.h.

◆ builtin_

Builtin v8::internal::OptimizedCompilationInfo::builtin_ = Builtin::kNoBuiltinId
private

Definition at line 302 of file optimized-compilation-info.h.

◆ bytecode_array_

IndirectHandle<BytecodeArray> v8::internal::OptimizedCompilationInfo::bytecode_array_
private

Definition at line 306 of file optimized-compilation-info.h.

◆ canonical_handles_

std::unique_ptr<CanonicalHandlesMap> v8::internal::OptimizedCompilationInfo::canonical_handles_
private

Definition at line 355 of file optimized-compilation-info.h.

◆ closure_

IndirectHandle<JSFunction> v8::internal::OptimizedCompilationInfo::closure_
private

Definition at line 308 of file optimized-compilation-info.h.

◆ code_

IndirectHandle<Code> v8::internal::OptimizedCompilationInfo::code_
private

Definition at line 311 of file optimized-compilation-info.h.

◆ code_kind_

const CodeKind v8::internal::OptimizedCompilationInfo::code_kind_
private

Definition at line 301 of file optimized-compilation-info.h.

◆ debug_name_

base::Vector<const char> v8::internal::OptimizedCompilationInfo::debug_name_
private

Definition at line 333 of file optimized-compilation-info.h.

◆ flags_

unsigned v8::internal::OptimizedCompilationInfo::flags_ = 0
private

Definition at line 296 of file optimized-compilation-info.h.

◆ inlined_bytecode_size_

unsigned v8::internal::OptimizedCompilationInfo::inlined_bytecode_size_ = 0
private

Definition at line 331 of file optimized-compilation-info.h.

◆ inlined_functions_

InlinedFunctionList v8::internal::OptimizedCompilationInfo::inlined_functions_
private

Definition at line 327 of file optimized-compilation-info.h.

◆ isolate_unsafe_

Isolate* const v8::internal::OptimizedCompilationInfo::isolate_unsafe_
private

Definition at line 299 of file optimized-compilation-info.h.

◆ kNoOptimizationId

int v8::internal::OptimizedCompilationInfo::kNoOptimizationId = -1
staticconstexprprivate

Definition at line 329 of file optimized-compilation-info.h.

◆ node_observer_

compiler::NodeObserver* v8::internal::OptimizedCompilationInfo::node_observer_ = nullptr
private

Definition at line 323 of file optimized-compilation-info.h.

◆ optimization_id_

const int v8::internal::OptimizedCompilationInfo::optimization_id_
private

Definition at line 330 of file optimized-compilation-info.h.

◆ osr_offset_

const BytecodeOffset v8::internal::OptimizedCompilationInfo::osr_offset_ = BytecodeOffset::None()
private

Definition at line 317 of file optimized-compilation-info.h.

◆ ph_

std::unique_ptr<PersistentHandles> v8::internal::OptimizedCompilationInfo::ph_
private

Definition at line 350 of file optimized-compilation-info.h.

◆ profiler_data_

BasicBlockProfilerData* v8::internal::OptimizedCompilationInfo::profiler_data_ = nullptr
private

Definition at line 314 of file optimized-compilation-info.h.

◆ shared_info_

IndirectHandle<SharedFunctionInfo> v8::internal::OptimizedCompilationInfo::shared_info_
private

Definition at line 307 of file optimized-compilation-info.h.

◆ tick_counter_

TickCounter v8::internal::OptimizedCompilationInfo::tick_counter_
private

Definition at line 336 of file optimized-compilation-info.h.

◆ trace_turbo_filename_

std::unique_ptr<char[]> v8::internal::OptimizedCompilationInfo::trace_turbo_filename_
private

Definition at line 334 of file optimized-compilation-info.h.

◆ was_cancelled_

std::atomic<bool> v8::internal::OptimizedCompilationInfo::was_cancelled_ = false
private

Definition at line 338 of file optimized-compilation-info.h.

◆ zone_

Zone* const v8::internal::OptimizedCompilationInfo::zone_
private

Definition at line 321 of file optimized-compilation-info.h.


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