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

#include <bytecode-analysis.h>

Inheritance diagram for v8::internal::compiler::BytecodeAnalysis:
Collaboration diagram for v8::internal::compiler::BytecodeAnalysis:

Classes

class  BytecodeAnalysisImpl
 

Public Member Functions

 BytecodeAnalysis (Handle< BytecodeArray > bytecode_array, Zone *zone, BytecodeOffset osr_bailout_id, bool analyze_liveness)
 
 BytecodeAnalysis (const BytecodeAnalysis &)=delete
 
BytecodeAnalysisoperator= (const BytecodeAnalysis &)=delete
 
bool IsLoopHeader (int offset) const
 
int GetLoopOffsetFor (int offset) const
 
int GetLoopEndOffsetForInnermost (int header_offset) const
 
const LoopInfoGetLoopInfoFor (int header_offset) const
 
const LoopInfoTryGetLoopInfoFor (int header_offset) const
 
const ZoneMap< int, LoopInfo > & GetLoopInfos () const
 
const ZoneVector< ResumeJumpTarget > & resume_jump_targets () const
 
const BytecodeLivenessStateGetInLivenessFor (int offset) const
 
const BytecodeLivenessStateGetOutLivenessFor (int offset) const
 
int osr_entry_point () const
 
BytecodeOffset osr_bailout_id () const
 
bool liveness_analyzed () const
 
int bytecode_count () const
 
- Public Member Functions inherited from v8::internal::ZoneObject
void * operator new (size_t, Zone *)=delete
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)=delete
 

Private Member Functions

BytecodeLivenessMapliveness_map ()
 
const BytecodeLivenessMapliveness_map () const
 

Private Attributes

BytecodeOffset const osr_bailout_id_
 
bool const analyze_liveness_
 
ZoneVector< ResumeJumpTargetresume_jump_targets_
 
ZoneMap< int, int > end_to_header_
 
ZoneMap< int, LoopInfoheader_to_info_
 
int osr_entry_point_
 
std::optional< BytecodeLivenessMapliveness_map_
 
int bytecode_count_ = -1
 

Friends

class BytecodeAnalysisImpl
 

Detailed Description

Definition at line 116 of file bytecode-analysis.h.

Constructor & Destructor Documentation

◆ BytecodeAnalysis() [1/2]

v8::internal::compiler::BytecodeAnalysis::BytecodeAnalysis ( Handle< BytecodeArray > bytecode_array,
Zone * zone,
BytecodeOffset osr_bailout_id,
bool analyze_liveness )

Definition at line 1165 of file bytecode-analysis.cc.

Here is the call graph for this function:

◆ BytecodeAnalysis() [2/2]

v8::internal::compiler::BytecodeAnalysis::BytecodeAnalysis ( const BytecodeAnalysis & )
delete

Member Function Documentation

◆ bytecode_count()

int v8::internal::compiler::BytecodeAnalysis::bytecode_count ( ) const
inline

Definition at line 162 of file bytecode-analysis.h.

◆ GetInLivenessFor()

const BytecodeLivenessState * v8::internal::compiler::BytecodeAnalysis::GetInLivenessFor ( int offset) const

Definition at line 812 of file bytecode-analysis.cc.

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

◆ GetLoopEndOffsetForInnermost()

int v8::internal::compiler::BytecodeAnalysis::GetLoopEndOffsetForInnermost ( int header_offset) const

Definition at line 793 of file bytecode-analysis.cc.

Here is the call graph for this function:

◆ GetLoopInfoFor()

const LoopInfo & v8::internal::compiler::BytecodeAnalysis::GetLoopInfoFor ( int header_offset) const

Definition at line 800 of file bytecode-analysis.cc.

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

◆ GetLoopInfos()

const ZoneMap< int, LoopInfo > & v8::internal::compiler::BytecodeAnalysis::GetLoopInfos ( ) const
inline

Definition at line 136 of file bytecode-analysis.h.

◆ GetLoopOffsetFor()

int v8::internal::compiler::BytecodeAnalysis::GetLoopOffsetFor ( int offset) const

Definition at line 760 of file bytecode-analysis.cc.

◆ GetOutLivenessFor()

const BytecodeLivenessState * v8::internal::compiler::BytecodeAnalysis::GetOutLivenessFor ( int offset) const

Definition at line 819 of file bytecode-analysis.cc.

Here is the call graph for this function:

◆ IsLoopHeader()

bool v8::internal::compiler::BytecodeAnalysis::IsLoopHeader ( int offset) const

Definition at line 756 of file bytecode-analysis.cc.

Here is the caller graph for this function:

◆ liveness_analyzed()

bool v8::internal::compiler::BytecodeAnalysis::liveness_analyzed ( ) const
inline

Definition at line 158 of file bytecode-analysis.h.

◆ liveness_map() [1/2]

BytecodeLivenessMap & v8::internal::compiler::BytecodeAnalysis::liveness_map ( )
inlineprivate

Definition at line 165 of file bytecode-analysis.h.

Here is the caller graph for this function:

◆ liveness_map() [2/2]

const BytecodeLivenessMap & v8::internal::compiler::BytecodeAnalysis::liveness_map ( ) const
inlineprivate

Definition at line 169 of file bytecode-analysis.h.

◆ operator=()

BytecodeAnalysis & v8::internal::compiler::BytecodeAnalysis::operator= ( const BytecodeAnalysis & )
delete

◆ osr_bailout_id()

BytecodeOffset v8::internal::compiler::BytecodeAnalysis::osr_bailout_id ( ) const
inline

Definition at line 155 of file bytecode-analysis.h.

Here is the caller graph for this function:

◆ osr_entry_point()

int v8::internal::compiler::BytecodeAnalysis::osr_entry_point ( ) const
inline

Definition at line 150 of file bytecode-analysis.h.

◆ resume_jump_targets()

const ZoneVector< ResumeJumpTarget > & v8::internal::compiler::BytecodeAnalysis::resume_jump_targets ( ) const
inline

Definition at line 139 of file bytecode-analysis.h.

◆ TryGetLoopInfoFor()

const LoopInfo * v8::internal::compiler::BytecodeAnalysis::TryGetLoopInfoFor ( int header_offset) const

Definition at line 806 of file bytecode-analysis.cc.

Friends And Related Symbol Documentation

◆ BytecodeAnalysisImpl

friend class BytecodeAnalysisImpl
friend

Definition at line 184 of file bytecode-analysis.h.

Member Data Documentation

◆ analyze_liveness_

bool const v8::internal::compiler::BytecodeAnalysis::analyze_liveness_
private

Definition at line 175 of file bytecode-analysis.h.

◆ bytecode_count_

int v8::internal::compiler::BytecodeAnalysis::bytecode_count_ = -1
private

Definition at line 181 of file bytecode-analysis.h.

◆ end_to_header_

ZoneMap<int, int> v8::internal::compiler::BytecodeAnalysis::end_to_header_
private

Definition at line 177 of file bytecode-analysis.h.

◆ header_to_info_

ZoneMap<int, LoopInfo> v8::internal::compiler::BytecodeAnalysis::header_to_info_
private

Definition at line 178 of file bytecode-analysis.h.

◆ liveness_map_

std::optional<BytecodeLivenessMap> v8::internal::compiler::BytecodeAnalysis::liveness_map_
private

Definition at line 180 of file bytecode-analysis.h.

◆ osr_bailout_id_

BytecodeOffset const v8::internal::compiler::BytecodeAnalysis::osr_bailout_id_
private

Definition at line 174 of file bytecode-analysis.h.

◆ osr_entry_point_

int v8::internal::compiler::BytecodeAnalysis::osr_entry_point_
private

Definition at line 179 of file bytecode-analysis.h.

◆ resume_jump_targets_

ZoneVector<ResumeJumpTarget> v8::internal::compiler::BytecodeAnalysis::resume_jump_targets_
private

Definition at line 176 of file bytecode-analysis.h.


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