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

#include <wasm-load-elimination.h>

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

Classes

struct  AbstractState
 
struct  FieldOrElementValue
 
class  HalfState
 

Public Member Functions

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

Private Member Functions

Reduction ReduceWasmStructGet (Node *node)
 
Reduction ReduceWasmStructSet (Node *node)
 
Reduction ReduceWasmArrayLength (Node *node)
 
Reduction ReduceWasmArrayInitializeLength (Node *node)
 
Reduction ReduceStringPrepareForGetCodeunit (Node *node)
 
Reduction ReduceStringAsWtf16 (Node *node)
 
Reduction ReduceAnyConvertExtern (Node *node)
 
Reduction ReduceEffectPhi (Node *node)
 
Reduction ReduceStart (Node *node)
 
Reduction ReduceOtherNode (Node *node)
 
Reduction ReduceLoadLikeFromImmutable (Node *node, int index)
 
Reduction UpdateState (Node *node, AbstractState const *state)
 
AbstractState const * ComputeLoopState (Node *node, AbstractState const *state) const
 
std::tuple< Node *, Node * > TruncateAndExtendOrType (Node *value, Node *effect, Node *control, wasm::ValueType field_type, bool is_signed)
 
Reduction AssertUnreachable (Node *node)
 
CommonOperatorBuildercommon () const
 
MachineOperatorBuildermachine () const
 
Isolateisolate () const
 
TFGraphgraph () const
 
JSGraphjsgraph () const
 
Nodedead () const
 
Zonezone () const
 
AbstractState const * empty_state () const
 

Private Attributes

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

Detailed Description

Definition at line 23 of file wasm-load-elimination.h.

Constructor & Destructor Documentation

◆ WasmLoadElimination() [1/2]

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

Definition at line 579 of file wasm-load-elimination.cc.

◆ ~WasmLoadElimination()

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

◆ WasmLoadElimination() [2/2]

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

Member Function Documentation

◆ AssertUnreachable()

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

◆ common()

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

Definition at line 588 of file wasm-load-elimination.cc.

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

◆ ComputeLoopState()

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

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

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

◆ dead()

Node * v8::internal::compiler::WasmLoadElimination::dead ( ) const
inlineprivate

Definition at line 153 of file wasm-load-elimination.h.

Here is the caller graph for this function:

◆ empty_state()

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

Definition at line 155 of file wasm-load-elimination.h.

Here is the caller graph for this function:

◆ graph()

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

Definition at line 596 of file wasm-load-elimination.cc.

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

◆ isolate()

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

Definition at line 598 of file wasm-load-elimination.cc.

Here is the call graph for this function:

◆ jsgraph()

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

Definition at line 152 of file wasm-load-elimination.h.

Here is the caller graph for this function:

◆ machine()

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

Definition at line 592 of file wasm-load-elimination.cc.

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

◆ operator=()

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

◆ Reduce()

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

Definition at line 135 of file wasm-load-elimination.cc.

Here is the call graph for this function:

◆ ReduceAnyConvertExtern()

Reduction v8::internal::compiler::WasmLoadElimination::ReduceAnyConvertExtern ( Node * node)
private

Definition at line 418 of file wasm-load-elimination.cc.

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

◆ ReduceEffectPhi()

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

Definition at line 453 of file wasm-load-elimination.cc.

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

◆ ReduceLoadLikeFromImmutable()

Reduction v8::internal::compiler::WasmLoadElimination::ReduceLoadLikeFromImmutable ( Node * node,
int index )
private

Definition at line 320 of file wasm-load-elimination.cc.

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

◆ ReduceOtherNode()

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

Definition at line 426 of file wasm-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::WasmLoadElimination::reducer_name ( ) const
inlineoverride

Definition at line 31 of file wasm-load-elimination.h.

◆ ReduceStart()

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

Definition at line 449 of file wasm-load-elimination.cc.

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

◆ ReduceStringAsWtf16()

Reduction v8::internal::compiler::WasmLoadElimination::ReduceStringAsWtf16 ( Node * node)
private

Definition at line 413 of file wasm-load-elimination.cc.

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

◆ ReduceStringPrepareForGetCodeunit()

Reduction v8::internal::compiler::WasmLoadElimination::ReduceStringPrepareForGetCodeunit ( Node * node)
private

Definition at line 377 of file wasm-load-elimination.cc.

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

◆ ReduceWasmArrayInitializeLength()

Reduction v8::internal::compiler::WasmLoadElimination::ReduceWasmArrayInitializeLength ( Node * node)
private

Definition at line 357 of file wasm-load-elimination.cc.

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

◆ ReduceWasmArrayLength()

Reduction v8::internal::compiler::WasmLoadElimination::ReduceWasmArrayLength ( Node * node)
private

Definition at line 352 of file wasm-load-elimination.cc.

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

◆ ReduceWasmStructGet()

Reduction v8::internal::compiler::WasmLoadElimination::ReduceWasmStructGet ( Node * node)
private

Definition at line 165 of file wasm-load-elimination.cc.

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

◆ ReduceWasmStructSet()

Reduction v8::internal::compiler::WasmLoadElimination::ReduceWasmStructSet ( Node * node)
private

Definition at line 248 of file wasm-load-elimination.cc.

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

◆ TruncateAndExtendOrType()

std::tuple< Node *, Node * > v8::internal::compiler::WasmLoadElimination::TruncateAndExtendOrType ( Node * value,
Node * effect,
Node * control,
wasm::ValueType field_type,
bool is_signed )
private

Definition at line 79 of file wasm-load-elimination.cc.

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

◆ UpdateState()

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

Definition at line 65 of file wasm-load-elimination.cc.

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

◆ zone()

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

Definition at line 154 of file wasm-load-elimination.h.

Here is the caller graph for this function:

Member Data Documentation

◆ dead_

Node* v8::internal::compiler::WasmLoadElimination::dead_
private

Definition at line 160 of file wasm-load-elimination.h.

◆ empty_state_

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

Definition at line 157 of file wasm-load-elimination.h.

◆ jsgraph_

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

Definition at line 159 of file wasm-load-elimination.h.

◆ node_states_

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

Definition at line 158 of file wasm-load-elimination.h.

◆ zone_

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

Definition at line 161 of file wasm-load-elimination.h.


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