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

#include <escape-analysis.h>

Collaboration diagram for v8::internal::compiler::EffectGraphReducer:

Classes

struct  NodeState
 
class  Reduction
 

Public Member Functions

 EffectGraphReducer (TFGraph *graph, std::function< void(Node *, Reduction *)> reduce, TickCounter *tick_counter, Zone *zone)
 
void ReduceGraph ()
 
void Revisit (Node *node)
 
void AddRoot (Node *node)
 
bool Complete ()
 
TickCountertick_counter () const
 

Private Types

enum class  State : uint8_t { kUnvisited = 0 , kRevisit , kOnStack , kVisited }
 

Private Member Functions

void ReduceFrom (Node *node)
 

Private Attributes

const uint8_t kNumStates = static_cast<uint8_t>(State::kVisited) + 1
 
TFGraphgraph_
 
NodeMarker< Statestate_
 
ZoneStack< Node * > revisit_
 
ZoneStack< NodeStatestack_
 
std::function< void(Node *, Reduction *)> reduce_
 
TickCounter *const tick_counter_
 

Detailed Description

Definition at line 29 of file escape-analysis.h.

Member Enumeration Documentation

◆ State

enum class v8::internal::compiler::EffectGraphReducer::State : uint8_t
strongprivate
Enumerator
kUnvisited 
kRevisit 
kOnStack 
kVisited 

Definition at line 71 of file escape-analysis.h.

Constructor & Destructor Documentation

◆ EffectGraphReducer()

v8::internal::compiler::EffectGraphReducer::EffectGraphReducer ( TFGraph * graph,
std::function< void(Node *, Reduction *)> reduce,
TickCounter * tick_counter,
Zone * zone )

Definition at line 320 of file escape-analysis.cc.

Member Function Documentation

◆ AddRoot()

void v8::internal::compiler::EffectGraphReducer::AddRoot ( Node * node)
inline

Definition at line 55 of file escape-analysis.h.

Here is the caller graph for this function:

◆ Complete()

bool v8::internal::compiler::EffectGraphReducer::Complete ( )
inline

Definition at line 61 of file escape-analysis.h.

◆ ReduceFrom()

void v8::internal::compiler::EffectGraphReducer::ReduceFrom ( Node * node)
private

Definition at line 330 of file escape-analysis.cc.

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

◆ ReduceGraph()

void v8::internal::compiler::EffectGraphReducer::ReduceGraph ( )
inline

Definition at line 47 of file escape-analysis.h.

Here is the call graph for this function:

◆ Revisit()

void v8::internal::compiler::EffectGraphReducer::Revisit ( Node * node)

Definition at line 387 of file escape-analysis.cc.

Here is the caller graph for this function:

◆ tick_counter()

TickCounter * v8::internal::compiler::EffectGraphReducer::tick_counter ( ) const
inline

Definition at line 63 of file escape-analysis.h.

Member Data Documentation

◆ graph_

TFGraph* v8::internal::compiler::EffectGraphReducer::graph_
private

Definition at line 73 of file escape-analysis.h.

◆ kNumStates

const uint8_t v8::internal::compiler::EffectGraphReducer::kNumStates = static_cast<uint8_t>(State::kVisited) + 1
private

Definition at line 72 of file escape-analysis.h.

◆ reduce_

std::function<void(Node*, Reduction*)> v8::internal::compiler::EffectGraphReducer::reduce_
private

Definition at line 77 of file escape-analysis.h.

◆ revisit_

ZoneStack<Node*> v8::internal::compiler::EffectGraphReducer::revisit_
private

Definition at line 75 of file escape-analysis.h.

◆ stack_

ZoneStack<NodeState> v8::internal::compiler::EffectGraphReducer::stack_
private

Definition at line 76 of file escape-analysis.h.

◆ state_

NodeMarker<State> v8::internal::compiler::EffectGraphReducer::state_
private

Definition at line 74 of file escape-analysis.h.

◆ tick_counter_

TickCounter* const v8::internal::compiler::EffectGraphReducer::tick_counter_
private

Definition at line 78 of file escape-analysis.h.


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