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

#include <control-path-state.h>

Inheritance diagram for v8::internal::compiler::AdvancedReducerWithControlPathState< NodeState, node_uniqueness >:
Collaboration diagram for v8::internal::compiler::AdvancedReducerWithControlPathState< NodeState, node_uniqueness >:

Protected Member Functions

 AdvancedReducerWithControlPathState (Editor *editor, Zone *zone, TFGraph *graph)
 
Reduction TakeStatesFromFirstControl (Node *node)
 
Reduction UpdateStates (Node *state_owner, ControlPathState< NodeState, node_uniqueness > new_state)
 
Reduction UpdateStates (Node *state_owner, ControlPathState< NodeState, node_uniqueness > prev_states, Node *additional_node, NodeState additional_state, bool in_new_block)
 
Zonezone ()
 
ControlPathState< NodeState, node_uniqueness > GetState (Node *node)
 
bool IsReduced (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)
 

Private Attributes

Zonezone_
 
NodeAuxData< ControlPathState< NodeState, node_uniqueness >, ZoneConstruct< ControlPathState< NodeState, node_uniqueness > > > node_states_
 
NodeAuxData< boolreduced_
 

Additional Inherited Members

- Public Member Functions inherited from v8::internal::compiler::AdvancedReducer
 AdvancedReducer (Editor *editor)
 
- Public Member Functions inherited from v8::internal::compiler::Reducer
virtual ~Reducer ()=default
 
virtual const char * reducer_name () const =0
 
Reduction Reduce (Node *node, ObserveNodeManager *observe_node_manager)
 
virtual void Finalize ()
 
- Static Public Member Functions inherited from v8::internal::compiler::Reducer
static Reduction NoChange ()
 
static Reduction Replace (Node *node)
 
static Reduction Changed (Node *node)
 
- Static Protected Member Functions inherited from v8::internal::compiler::AdvancedReducer
static Reduction Replace (Node *node)
 

Detailed Description

template<typename NodeState, NodeUniqueness node_uniqueness>
class v8::internal::compiler::AdvancedReducerWithControlPathState< NodeState, node_uniqueness >

Definition at line 87 of file control-path-state.h.

Constructor & Destructor Documentation

◆ AdvancedReducerWithControlPathState()

template<typename NodeState , NodeUniqueness node_uniqueness>
v8::internal::compiler::AdvancedReducerWithControlPathState< NodeState, node_uniqueness >::AdvancedReducerWithControlPathState ( Editor * editor,
Zone * zone,
TFGraph * graph )
inlineprotected

Definition at line 89 of file control-path-state.h.

Member Function Documentation

◆ GetState()

template<typename NodeState , NodeUniqueness node_uniqueness>
ControlPathState< NodeState, node_uniqueness > v8::internal::compiler::AdvancedReducerWithControlPathState< NodeState, node_uniqueness >::GetState ( Node * node)
inlineprotected

Definition at line 108 of file control-path-state.h.

◆ IsReduced()

template<typename NodeState , NodeUniqueness node_uniqueness>
bool v8::internal::compiler::AdvancedReducerWithControlPathState< NodeState, node_uniqueness >::IsReduced ( Node * node)
inlineprotected

Definition at line 111 of file control-path-state.h.

Here is the call graph for this function:

◆ TakeStatesFromFirstControl()

template<typename NodeState , NodeUniqueness node_uniqueness>
Reduction v8::internal::compiler::AdvancedReducerWithControlPathState< NodeState, node_uniqueness >::TakeStatesFromFirstControl ( Node * node)
protected

Definition at line 219 of file control-path-state.h.

Here is the call graph for this function:

◆ UpdateStates() [1/2]

template<typename NodeState , NodeUniqueness node_uniqueness>
Reduction v8::internal::compiler::AdvancedReducerWithControlPathState< NodeState, node_uniqueness >::UpdateStates ( Node * state_owner,
ControlPathState< NodeState, node_uniqueness > new_state )
protected

Definition at line 229 of file control-path-state.h.

◆ UpdateStates() [2/2]

template<typename NodeState , NodeUniqueness node_uniqueness>
Reduction v8::internal::compiler::AdvancedReducerWithControlPathState< NodeState, node_uniqueness >::UpdateStates ( Node * state_owner,
ControlPathState< NodeState, node_uniqueness > prev_states,
Node * additional_node,
NodeState additional_state,
bool in_new_block )
protected

Definition at line 242 of file control-path-state.h.

Here is the call graph for this function:

◆ zone()

template<typename NodeState , NodeUniqueness node_uniqueness>
Zone * v8::internal::compiler::AdvancedReducerWithControlPathState< NodeState, node_uniqueness >::zone ( )
inlineprotected

Definition at line 107 of file control-path-state.h.

Member Data Documentation

◆ node_states_

template<typename NodeState , NodeUniqueness node_uniqueness>
NodeAuxData<ControlPathState<NodeState, node_uniqueness>, ZoneConstruct<ControlPathState<NodeState, node_uniqueness> > > v8::internal::compiler::AdvancedReducerWithControlPathState< NodeState, node_uniqueness >::node_states_
private

Definition at line 120 of file control-path-state.h.

◆ reduced_

template<typename NodeState , NodeUniqueness node_uniqueness>
NodeAuxData<bool> v8::internal::compiler::AdvancedReducerWithControlPathState< NodeState, node_uniqueness >::reduced_
private

Definition at line 121 of file control-path-state.h.

◆ zone_

template<typename NodeState , NodeUniqueness node_uniqueness>
Zone* v8::internal::compiler::AdvancedReducerWithControlPathState< NodeState, node_uniqueness >::zone_
private

Definition at line 114 of file control-path-state.h.


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