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

#include <csa-load-elimination.h>

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

Classes

struct  AbstractState
 
struct  FieldInfo
 
class  HalfState
 

Public Member Functions

 CsaLoadElimination (Editor *editor, JSGraph *jsgraph, Zone *zone)
 
 ~CsaLoadElimination () final=default
 
 CsaLoadElimination (const CsaLoadElimination &)=delete
 
CsaLoadEliminationoperator= (const CsaLoadElimination &)=delete
 
const char * reducer_name () const override
 
Reduction Reduce (Node *node) final
 

Private Member Functions

Reduction ReduceLoadFromObject (Node *node, ObjectAccess const &access)
 
Reduction ReduceStoreToObject (Node *node, ObjectAccess const &access)
 
Reduction ReduceEffectPhi (Node *node)
 
Reduction ReduceStart (Node *node)
 
Reduction ReduceCall (Node *node)
 
Reduction ReduceOtherNode (Node *node)
 
Reduction UpdateState (Node *node, AbstractState const *state)
 
Reduction PropagateInputState (Node *node)
 
AbstractState const * ComputeLoopState (Node *node, AbstractState const *state) const
 
NodeTruncateAndExtend (Node *node, MachineRepresentation from, MachineType to)
 
Reduction AssertUnreachable (Node *node)
 
CommonOperatorBuildercommon () const
 
MachineOperatorBuildermachine () const
 
Isolateisolate () const
 
TFGraphgraph () const
 
JSGraphjsgraph () const
 
Zonezone () const
 
AbstractState const * empty_state () const
 

Private Attributes

AbstractState const empty_state_
 
NodeAuxData< AbstractState const * > node_states_
 
JSGraph *const jsgraph_
 
Zonezone_
 

Detailed Description

Definition at line 26 of file csa-load-elimination.h.

Constructor & Destructor Documentation

◆ CsaLoadElimination() [1/2]

v8::internal::compiler::CsaLoadElimination::CsaLoadElimination ( Editor * editor,
JSGraph * jsgraph,
Zone * zone )
inline

Definition at line 29 of file csa-load-elimination.h.

◆ ~CsaLoadElimination()

v8::internal::compiler::CsaLoadElimination::~CsaLoadElimination ( )
finaldefault

◆ CsaLoadElimination() [2/2]

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

Member Function Documentation

◆ AssertUnreachable()

Reduction v8::internal::compiler::CsaLoadElimination::AssertUnreachable ( Node * node)
private

Definition at line 335 of file csa-load-elimination.cc.

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

◆ common()

CommonOperatorBuilder * v8::internal::compiler::CsaLoadElimination::common ( ) const
private

Definition at line 608 of file csa-load-elimination.cc.

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

◆ ComputeLoopState()

CsaLoadElimination::AbstractState const * v8::internal::compiler::CsaLoadElimination::ComputeLoopState ( Node * node,
AbstractState const * state ) const
private

Definition at line 523 of file csa-load-elimination.cc.

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

◆ empty_state()

AbstractState const * v8::internal::compiler::CsaLoadElimination::empty_state ( ) const
inlineprivate

Definition at line 173 of file csa-load-elimination.h.

Here is the caller graph for this function:

◆ graph()

TFGraph * v8::internal::compiler::CsaLoadElimination::graph ( ) const
private

Definition at line 616 of file csa-load-elimination.cc.

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

◆ isolate()

Isolate * v8::internal::compiler::CsaLoadElimination::isolate ( ) const
private

Definition at line 618 of file csa-load-elimination.cc.

Here is the call graph for this function:

◆ jsgraph()

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

Definition at line 171 of file csa-load-elimination.h.

Here is the caller graph for this function:

◆ machine()

MachineOperatorBuilder * v8::internal::compiler::CsaLoadElimination::machine ( ) const
private

Definition at line 612 of file csa-load-elimination.cc.

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

◆ operator=()

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

◆ PropagateInputState()

Reduction v8::internal::compiler::CsaLoadElimination::PropagateInputState ( Node * node)
private

Definition at line 516 of file csa-load-elimination.cc.

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

◆ Reduce()

Reduction v8::internal::compiler::CsaLoadElimination::Reduce ( Node * node)
final

Definition at line 16 of file csa-load-elimination.cc.

Here is the call graph for this function:

◆ ReduceCall()

Reduction v8::internal::compiler::CsaLoadElimination::ReduceCall ( Node * node)
private

Definition at line 471 of file csa-load-elimination.cc.

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

◆ ReduceEffectPhi()

Reduction v8::internal::compiler::CsaLoadElimination::ReduceEffectPhi ( Node * node)
private

Definition at line 434 of file csa-load-elimination.cc.

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

◆ ReduceLoadFromObject()

Reduction v8::internal::compiler::CsaLoadElimination::ReduceLoadFromObject ( Node * node,
ObjectAccess const & access )
private

Definition at line 343 of file csa-load-elimination.cc.

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

◆ ReduceOtherNode()

Reduction v8::internal::compiler::CsaLoadElimination::ReduceOtherNode ( Node * node)
private

Definition at line 480 of file csa-load-elimination.cc.

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

◆ reducer_name()

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

Definition at line 39 of file csa-load-elimination.h.

◆ ReduceStart()

Reduction v8::internal::compiler::CsaLoadElimination::ReduceStart ( Node * node)
private

Definition at line 467 of file csa-load-elimination.cc.

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

◆ ReduceStoreToObject()

Reduction v8::internal::compiler::CsaLoadElimination::ReduceStoreToObject ( Node * node,
ObjectAccess const & access )
private

Definition at line 397 of file csa-load-elimination.cc.

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

◆ TruncateAndExtend()

Node * v8::internal::compiler::CsaLoadElimination::TruncateAndExtend ( Node * node,
MachineRepresentation from,
MachineType to )
private

Definition at line 564 of file csa-load-elimination.cc.

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

◆ UpdateState()

Reduction v8::internal::compiler::CsaLoadElimination::UpdateState ( Node * node,
AbstractState const * state )
private

Definition at line 502 of file csa-load-elimination.cc.

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

◆ zone()

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

Definition at line 172 of file csa-load-elimination.h.

Here is the caller graph for this function:

Member Data Documentation

◆ empty_state_

AbstractState const v8::internal::compiler::CsaLoadElimination::empty_state_
private

Definition at line 175 of file csa-load-elimination.h.

◆ jsgraph_

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

Definition at line 177 of file csa-load-elimination.h.

◆ node_states_

NodeAuxData<AbstractState const*> v8::internal::compiler::CsaLoadElimination::node_states_
private

Definition at line 176 of file csa-load-elimination.h.

◆ zone_

Zone* v8::internal::compiler::CsaLoadElimination::zone_
private

Definition at line 178 of file csa-load-elimination.h.


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