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

#include <escape-analysis-reducer.h>

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

Public Member Functions

 EscapeAnalysisReducer (Editor *editor, JSGraph *jsgraph, JSHeapBroker *broker, EscapeAnalysisResult analysis_result, Zone *zone)
 
 EscapeAnalysisReducer (const EscapeAnalysisReducer &)=delete
 
EscapeAnalysisReduceroperator= (const EscapeAnalysisReducer &)=delete
 
Reduction Reduce (Node *node) override
 
const char * reducer_name () const override
 
void Finalize () override
 
void VerifyReplacement () const
 

Private Member Functions

void ReduceFrameStateInputs (Node *node)
 
NodeReduceDeoptState (Node *node, Node *effect, Deduplicator *deduplicator)
 
NodeObjectIdNode (const VirtualObject *vobject)
 
Reduction ReplaceNode (Node *original, Node *replacement)
 
JSGraphjsgraph () const
 
Isolateisolate () const
 
EscapeAnalysisResult analysis_result () const
 
Zonezone () const
 

Private Attributes

JSGraph *const jsgraph_
 
JSHeapBroker *const broker_
 
EscapeAnalysisResult analysis_result_
 
ZoneVector< Node * > object_id_cache_
 
NodeHashCache node_cache_
 
ZoneSet< Node * > arguments_elements_
 
Zone *const zone_
 

Detailed Description

Definition at line 82 of file escape-analysis-reducer.h.

Constructor & Destructor Documentation

◆ EscapeAnalysisReducer() [1/2]

v8::internal::compiler::EscapeAnalysisReducer::EscapeAnalysisReducer ( Editor * editor,
JSGraph * jsgraph,
JSHeapBroker * broker,
EscapeAnalysisResult analysis_result,
Zone * zone )

Definition at line 17 of file escape-analysis-reducer.cc.

◆ EscapeAnalysisReducer() [2/2]

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

Member Function Documentation

◆ analysis_result()

EscapeAnalysisResult v8::internal::compiler::EscapeAnalysisReducer::analysis_result ( ) const
inlineprivate

Definition at line 106 of file escape-analysis-reducer.h.

Here is the caller graph for this function:

◆ Finalize()

void v8::internal::compiler::EscapeAnalysisReducer::Finalize ( )
override

Definition at line 217 of file escape-analysis-reducer.cc.

Here is the call graph for this function:

◆ isolate()

Isolate * v8::internal::compiler::EscapeAnalysisReducer::isolate ( ) const
inlineprivate

Definition at line 105 of file escape-analysis-reducer.h.

Here is the call graph for this function:

◆ jsgraph()

JSGraph * v8::internal::compiler::EscapeAnalysisReducer::jsgraph ( ) const
inlineprivate

Definition at line 104 of file escape-analysis-reducer.h.

Here is the caller graph for this function:

◆ ObjectIdNode()

Node * v8::internal::compiler::EscapeAnalysisReducer::ObjectIdNode ( const VirtualObject * vobject)
private

Definition at line 64 of file escape-analysis-reducer.cc.

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

◆ operator=()

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

◆ Reduce()

Reduction v8::internal::compiler::EscapeAnalysisReducer::Reduce ( Node * node)
override

Definition at line 75 of file escape-analysis-reducer.cc.

Here is the call graph for this function:

◆ ReduceDeoptState()

Node * v8::internal::compiler::EscapeAnalysisReducer::ReduceDeoptState ( Node * node,
Node * effect,
Deduplicator * deduplicator )
private

Definition at line 149 of file escape-analysis-reducer.cc.

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

◆ ReduceFrameStateInputs()

void v8::internal::compiler::EscapeAnalysisReducer::ReduceFrameStateInputs ( Node * node)
private

Definition at line 136 of file escape-analysis-reducer.cc.

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

◆ reducer_name()

const char * v8::internal::compiler::EscapeAnalysisReducer::reducer_name ( ) const
inlineoverride

Definition at line 91 of file escape-analysis-reducer.h.

◆ ReplaceNode()

Reduction v8::internal::compiler::EscapeAnalysisReducer::ReplaceNode ( Node * original,
Node * replacement )
private

Definition at line 29 of file escape-analysis-reducer.cc.

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

◆ VerifyReplacement()

void v8::internal::compiler::EscapeAnalysisReducer::VerifyReplacement ( ) const

Definition at line 202 of file escape-analysis-reducer.cc.

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

◆ zone()

Zone * v8::internal::compiler::EscapeAnalysisReducer::zone ( ) const
inlineprivate

Definition at line 107 of file escape-analysis-reducer.h.

Here is the caller graph for this function:

Member Data Documentation

◆ analysis_result_

EscapeAnalysisResult v8::internal::compiler::EscapeAnalysisReducer::analysis_result_
private

Definition at line 111 of file escape-analysis-reducer.h.

◆ arguments_elements_

ZoneSet<Node*> v8::internal::compiler::EscapeAnalysisReducer::arguments_elements_
private

Definition at line 114 of file escape-analysis-reducer.h.

◆ broker_

JSHeapBroker* const v8::internal::compiler::EscapeAnalysisReducer::broker_
private

Definition at line 110 of file escape-analysis-reducer.h.

◆ jsgraph_

JSGraph* const v8::internal::compiler::EscapeAnalysisReducer::jsgraph_
private

Definition at line 109 of file escape-analysis-reducer.h.

◆ node_cache_

NodeHashCache v8::internal::compiler::EscapeAnalysisReducer::node_cache_
private

Definition at line 113 of file escape-analysis-reducer.h.

◆ object_id_cache_

ZoneVector<Node*> v8::internal::compiler::EscapeAnalysisReducer::object_id_cache_
private

Definition at line 112 of file escape-analysis-reducer.h.

◆ zone_

Zone* const v8::internal::compiler::EscapeAnalysisReducer::zone_
private

Definition at line 115 of file escape-analysis-reducer.h.


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