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

#include <late-escape-analysis-reducer.h>

Collaboration diagram for v8::internal::compiler::turboshaft::LateEscapeAnalysisAnalyzer:

Public Member Functions

 LateEscapeAnalysisAnalyzer (Graph &graph, Zone *zone)
 
void Run ()
 

Private Member Functions

void RecordAllocateUse (OpIndex alloc, OpIndex use)
 
void CollectUsesAndAllocations ()
 
void FindRemovableAllocations ()
 
bool AllocationIsEscaping (OpIndex alloc)
 
bool EscapesThroughUse (OpIndex alloc, OpIndex using_op_idx)
 
void MarkToRemove (OpIndex alloc)
 

Private Attributes

Graphgraph_
 
Zonephase_zone_
 
ZoneAbslFlatHashMap< OpIndex, ZoneVector< OpIndex > > alloc_uses_
 
ZoneVector< OpIndexallocs_
 

Detailed Description

Definition at line 19 of file late-escape-analysis-reducer.h.

Constructor & Destructor Documentation

◆ LateEscapeAnalysisAnalyzer()

v8::internal::compiler::turboshaft::LateEscapeAnalysisAnalyzer::LateEscapeAnalysisAnalyzer ( Graph & graph,
Zone * zone )
inline

Definition at line 21 of file late-escape-analysis-reducer.h.

Member Function Documentation

◆ AllocationIsEscaping()

bool v8::internal::compiler::turboshaft::LateEscapeAnalysisAnalyzer::AllocationIsEscaping ( OpIndex alloc)
private

Definition at line 55 of file late-escape-analysis-reducer.cc.

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

◆ CollectUsesAndAllocations()

void v8::internal::compiler::turboshaft::LateEscapeAnalysisAnalyzer::CollectUsesAndAllocations ( )
private

Definition at line 24 of file late-escape-analysis-reducer.cc.

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

◆ EscapesThroughUse()

bool v8::internal::compiler::turboshaft::LateEscapeAnalysisAnalyzer::EscapesThroughUse ( OpIndex alloc,
OpIndex using_op_idx )
private

Definition at line 66 of file late-escape-analysis-reducer.cc.

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

◆ FindRemovableAllocations()

void v8::internal::compiler::turboshaft::LateEscapeAnalysisAnalyzer::FindRemovableAllocations ( )
private

Definition at line 39 of file late-escape-analysis-reducer.cc.

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

◆ MarkToRemove()

void v8::internal::compiler::turboshaft::LateEscapeAnalysisAnalyzer::MarkToRemove ( OpIndex alloc)
private

Definition at line 82 of file late-escape-analysis-reducer.cc.

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

◆ RecordAllocateUse()

void v8::internal::compiler::turboshaft::LateEscapeAnalysisAnalyzer::RecordAllocateUse ( OpIndex alloc,
OpIndex use )
private

Definition at line 14 of file late-escape-analysis-reducer.cc.

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

◆ Run()

void v8::internal::compiler::turboshaft::LateEscapeAnalysisAnalyzer::Run ( )

Definition at line 9 of file late-escape-analysis-reducer.cc.

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

Member Data Documentation

◆ alloc_uses_

ZoneAbslFlatHashMap<OpIndex, ZoneVector<OpIndex> > v8::internal::compiler::turboshaft::LateEscapeAnalysisAnalyzer::alloc_uses_
private

Definition at line 39 of file late-escape-analysis-reducer.h.

◆ allocs_

ZoneVector<OpIndex> v8::internal::compiler::turboshaft::LateEscapeAnalysisAnalyzer::allocs_
private

Definition at line 43 of file late-escape-analysis-reducer.h.

◆ graph_

Graph& v8::internal::compiler::turboshaft::LateEscapeAnalysisAnalyzer::graph_
private

Definition at line 35 of file late-escape-analysis-reducer.h.

◆ phase_zone_

Zone* v8::internal::compiler::turboshaft::LateEscapeAnalysisAnalyzer::phase_zone_
private

Definition at line 36 of file late-escape-analysis-reducer.h.


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