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

#include <late-escape-analysis.h>

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

Public Member Functions

 LateEscapeAnalysis (Editor *editor, TFGraph *graph, CommonOperatorBuilder *common, Zone *zone)
 
const char * reducer_name () const override
 
Reduction Reduce (Node *node) final
 
void Finalize () override
 
- Public Member Functions inherited from v8::internal::compiler::AdvancedReducer
 AdvancedReducer (Editor *editor)
 
- Public Member Functions inherited from v8::internal::compiler::Reducer
virtual ~Reducer ()=default
 
Reduction Reduce (Node *node, ObserveNodeManager *observe_node_manager)
 

Private Member Functions

bool IsEscaping (Node *node)
 
void RemoveAllocation (Node *node)
 
void RecordEscapingAllocation (Node *allocation)
 
void RemoveWitness (Node *allocation)
 
Nodedead () const
 

Private Attributes

Nodedead_
 
ZoneUnorderedSet< Node * > all_allocations_
 
ZoneUnorderedMap< Node *, int > escaping_allocations_
 
NodeDeque revisit_
 

Additional Inherited Members

- Static Public Member Functions inherited from v8::internal::compiler::Reducer
static Reduction NoChange ()
 
static Reduction Replace (Node *node)
 
static Reduction Changed (Node *node)
 
- Protected Member Functions inherited from v8::internal::compiler::AdvancedReducer
void Replace (Node *node, Node *replacement)
 
void Replace (Node *node, Node *replacement, NodeId max_id)
 
void Revisit (Node *node)
 
void ReplaceWithValue (Node *node, Node *value, Node *effect=nullptr, Node *control=nullptr)
 
void RelaxEffectsAndControls (Node *node)
 
void RelaxControls (Node *node, Node *control=nullptr)
 
void MergeControlToEnd (TFGraph *graph, CommonOperatorBuilder *common, Node *node)
 
- Static Protected Member Functions inherited from v8::internal::compiler::AdvancedReducer
static Reduction Replace (Node *node)
 

Detailed Description

Definition at line 18 of file late-escape-analysis.h.

Constructor & Destructor Documentation

◆ LateEscapeAnalysis()

v8::internal::compiler::LateEscapeAnalysis::LateEscapeAnalysis ( Editor * editor,
TFGraph * graph,
CommonOperatorBuilder * common,
Zone * zone )

Definition at line 16 of file late-escape-analysis.cc.

Member Function Documentation

◆ dead()

Node * v8::internal::compiler::LateEscapeAnalysis::dead ( ) const
inlineprivate

Definition at line 33 of file late-escape-analysis.h.

Here is the caller graph for this function:

◆ Finalize()

void v8::internal::compiler::LateEscapeAnalysis::Finalize ( )
overridevirtual

Reimplemented from v8::internal::compiler::Reducer.

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

Here is the call graph for this function:

◆ IsEscaping()

bool v8::internal::compiler::LateEscapeAnalysis::IsEscaping ( Node * node)
private

Definition at line 104 of file late-escape-analysis.cc.

Here is the caller graph for this function:

◆ RecordEscapingAllocation()

void v8::internal::compiler::LateEscapeAnalysis::RecordEscapingAllocation ( Node * allocation)
private

Definition at line 135 of file late-escape-analysis.cc.

Here is the caller graph for this function:

◆ Reduce()

Reduction v8::internal::compiler::LateEscapeAnalysis::Reduce ( Node * node)
finalvirtual

Implements v8::internal::compiler::Reducer.

Definition at line 51 of file late-escape-analysis.cc.

Here is the call graph for this function:

◆ reducer_name()

const char * v8::internal::compiler::LateEscapeAnalysis::reducer_name ( ) const
inlineoverridevirtual

Implements v8::internal::compiler::Reducer.

Definition at line 23 of file late-escape-analysis.h.

◆ RemoveAllocation()

void v8::internal::compiler::LateEscapeAnalysis::RemoveAllocation ( Node * node)
private

Definition at line 111 of file late-escape-analysis.cc.

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

◆ RemoveWitness()

void v8::internal::compiler::LateEscapeAnalysis::RemoveWitness ( Node * allocation)
private

Definition at line 140 of file late-escape-analysis.cc.

Here is the caller graph for this function:

Member Data Documentation

◆ all_allocations_

ZoneUnorderedSet<Node*> v8::internal::compiler::LateEscapeAnalysis::all_allocations_
private

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

◆ dead_

Node* v8::internal::compiler::LateEscapeAnalysis::dead_
private

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

◆ escaping_allocations_

ZoneUnorderedMap<Node*, int> v8::internal::compiler::LateEscapeAnalysis::escaping_allocations_
private

Definition at line 38 of file late-escape-analysis.h.

◆ revisit_

NodeDeque v8::internal::compiler::LateEscapeAnalysis::revisit_
private

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


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