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

#include <control-path-state.h>

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

Public Member Functions

 ControlPathState (Zone *zone)
 
NodeState LookupState (Node *node) const
 
void AddState (Zone *zone, Node *node, NodeState state, ControlPathState hint)
 
void AddStateInNewBlock (Zone *zone, Node *node, NodeState state)
 
void ResetToCommonAncestor (ControlPathState other)
 
bool IsEmpty ()
 
bool operator== (const ControlPathState &other) const
 
bool operator!= (const ControlPathState &other) const
 

Private Types

using NodeWithPathDepth = std::pair<Node*, size_t>
 

Private Member Functions

size_t depth (size_t depth_if_multiple_instances)
 

Private Attributes

FunctionalList< FunctionalList< NodeState > > blocks_
 
PersistentMap< NodeWithPathDepth, NodeState > states_
 

Detailed Description

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

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

Member Typedef Documentation

◆ NodeWithPathDepth

template<typename NodeState , NodeUniqueness node_uniqueness>
using v8::internal::compiler::ControlPathState< NodeState, node_uniqueness >::NodeWithPathDepth = std::pair<Node*, size_t>
private

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

Constructor & Destructor Documentation

◆ ControlPathState()

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

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

Member Function Documentation

◆ AddState()

template<typename NodeState , NodeUniqueness node_uniqueness>
void v8::internal::compiler::ControlPathState< NodeState, node_uniqueness >::AddState ( Zone * zone,
Node * node,
NodeState state,
ControlPathState< NodeState, node_uniqueness > hint )

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

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

◆ AddStateInNewBlock()

template<typename NodeState , NodeUniqueness node_uniqueness>
void v8::internal::compiler::ControlPathState< NodeState, node_uniqueness >::AddStateInNewBlock ( Zone * zone,
Node * node,
NodeState state )

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

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

◆ depth()

template<typename NodeState , NodeUniqueness node_uniqueness>
size_t v8::internal::compiler::ControlPathState< NodeState, node_uniqueness >::depth ( size_t depth_if_multiple_instances)
inlineprivate

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

◆ IsEmpty()

template<typename NodeState , NodeUniqueness node_uniqueness>
bool v8::internal::compiler::ControlPathState< NodeState, node_uniqueness >::IsEmpty ( )
inline

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

Here is the caller graph for this function:

◆ LookupState()

template<typename NodeState , NodeUniqueness node_uniqueness>
NodeState v8::internal::compiler::ControlPathState< NodeState, node_uniqueness >::LookupState ( Node * node) const

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

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

◆ operator!=()

template<typename NodeState , NodeUniqueness node_uniqueness>
bool v8::internal::compiler::ControlPathState< NodeState, node_uniqueness >::operator!= ( const ControlPathState< NodeState, node_uniqueness > & other) const
inline

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

◆ operator==()

template<typename NodeState , NodeUniqueness node_uniqueness>
bool v8::internal::compiler::ControlPathState< NodeState, node_uniqueness >::operator== ( const ControlPathState< NodeState, node_uniqueness > & other) const
inline

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

◆ ResetToCommonAncestor()

template<typename NodeState , NodeUniqueness node_uniqueness>
void v8::internal::compiler::ControlPathState< NodeState, node_uniqueness >::ResetToCommonAncestor ( ControlPathState< NodeState, node_uniqueness > other)

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

Here is the caller graph for this function:

Member Data Documentation

◆ blocks_

template<typename NodeState , NodeUniqueness node_uniqueness>
FunctionalList<FunctionalList<NodeState> > v8::internal::compiler::ControlPathState< NodeState, node_uniqueness >::blocks_
private

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

◆ states_

template<typename NodeState , NodeUniqueness node_uniqueness>
PersistentMap<NodeWithPathDepth, NodeState> v8::internal::compiler::ControlPathState< NodeState, node_uniqueness >::states_
private

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


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