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

Classes

struct  LoopStackEntry
 

Public Member Functions

std::ostream & PrintLivenessTo (std::ostream &os) const
 
 BytecodeAnalysisImpl (BytecodeAnalysis &res, Handle< BytecodeArray > bytecode_array, Zone *zone)
 
void Analyze ()
 

Private Member Functions

template<Bytecode BC>
void AnalyzeBCInLoop (int current_offset, LoopInfo *current_loop_info)
 
void PushLoop (int loop_header, int loop_end)
 
bool analyze_liveness () const
 
Zonezone () const
 
DirectHandle< BytecodeArraybytecode_array () const
 
BytecodeLivenessMapliveness_map ()
 

Private Attributes

BytecodeAnalysisres_
 
Zonezone_
 
Handle< BytecodeArray > const bytecode_array_
 
ZoneStack< LoopStackEntryloop_stack_
 
ZoneVector< int > loop_end_index_queue_
 
interpreter::BytecodeArrayRandomIterator iterator_
 

Detailed Description

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

Constructor & Destructor Documentation

◆ BytecodeAnalysisImpl()

v8::internal::compiler::BytecodeAnalysis::BytecodeAnalysisImpl::BytecodeAnalysisImpl ( BytecodeAnalysis & res,
Handle< BytecodeArray > bytecode_array,
Zone * zone )
inline

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

Member Function Documentation

◆ Analyze()

void v8::internal::compiler::BytecodeAnalysis::BytecodeAnalysisImpl::Analyze ( )

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

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

◆ analyze_liveness()

bool v8::internal::compiler::BytecodeAnalysis::BytecodeAnalysisImpl::analyze_liveness ( ) const
inlineprivate

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

Here is the caller graph for this function:

◆ AnalyzeBCInLoop()

template<Bytecode BC>
void v8::internal::compiler::BytecodeAnalysis::BytecodeAnalysisImpl::AnalyzeBCInLoop ( int current_offset,
LoopInfo * current_loop_info )
inlineprivate

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

◆ bytecode_array()

DirectHandle< BytecodeArray > v8::internal::compiler::BytecodeAnalysis::BytecodeAnalysisImpl::bytecode_array ( ) const
inlineprivate

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

Here is the caller graph for this function:

◆ liveness_map()

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

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

Here is the caller graph for this function:

◆ PrintLivenessTo()

std::ostream & v8::internal::compiler::BytecodeAnalysis::BytecodeAnalysisImpl::PrintLivenessTo ( std::ostream & os) const

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

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

◆ PushLoop()

void v8::internal::compiler::BytecodeAnalysis::BytecodeAnalysisImpl::PushLoop ( int loop_header,
int loop_end )
inlineprivate

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

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

◆ zone()

Zone * v8::internal::compiler::BytecodeAnalysis::BytecodeAnalysisImpl::zone ( ) const
inlineprivate

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

Here is the caller graph for this function:

Member Data Documentation

◆ bytecode_array_

Handle<BytecodeArray> const v8::internal::compiler::BytecodeAnalysis::BytecodeAnalysisImpl::bytecode_array_
private

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

◆ iterator_

interpreter::BytecodeArrayRandomIterator v8::internal::compiler::BytecodeAnalysis::BytecodeAnalysisImpl::iterator_
private

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

◆ loop_end_index_queue_

ZoneVector<int> v8::internal::compiler::BytecodeAnalysis::BytecodeAnalysisImpl::loop_end_index_queue_
private

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

◆ loop_stack_

ZoneStack<LoopStackEntry> v8::internal::compiler::BytecodeAnalysis::BytecodeAnalysisImpl::loop_stack_
private

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

◆ res_

BytecodeAnalysis& v8::internal::compiler::BytecodeAnalysis::BytecodeAnalysisImpl::res_
private

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

◆ zone_

Zone* v8::internal::compiler::BytecodeAnalysis::BytecodeAnalysisImpl::zone_
private

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


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