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

#include <wasm-gc-operator-reducer.h>

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

Public Member Functions

 WasmGCOperatorReducer (Editor *editor, Zone *temp_zone_, MachineGraph *mcgraph, const wasm::WasmModule *module, SourcePositionTable *source_position_table)
 
const char * reducer_name () const override
 
Reduction Reduce (Node *node) final
 
- Public Member Functions inherited from v8::internal::compiler::AdvancedReducer
 AdvancedReducer (Editor *editor)
 
- Public Member Functions inherited from v8::internal::compiler::Reducer
virtual ~Reducer ()=default
 
Reduction Reduce (Node *node, ObserveNodeManager *observe_node_manager)
 
virtual void Finalize ()
 

Private Types

using ControlPathTypes = ControlPathState<NodeWithType, kMultipleInstances>
 

Private Member Functions

Reduction ReduceWasmStructOperation (Node *node)
 
Reduction ReduceWasmArrayLength (Node *node)
 
Reduction ReduceAssertNotNull (Node *node)
 
Reduction ReduceCheckNull (Node *node)
 
Reduction ReduceWasmTypeCheck (Node *node)
 
Reduction ReduceWasmTypeCheckAbstract (Node *node)
 
Reduction ReduceWasmTypeCast (Node *node)
 
Reduction ReduceWasmTypeCastAbstract (Node *node)
 
Reduction ReduceTypeGuard (Node *node)
 
Reduction ReduceWasmAnyConvertExtern (Node *node)
 
Reduction ReduceMerge (Node *node)
 
Reduction ReduceIf (Node *node, bool condition)
 
Reduction ReduceStart (Node *node)
 
NodeSetType (Node *node, wasm::ValueType type)
 
void UpdateSourcePosition (Node *new_node, Node *old_node)
 
wasm::TypeInModule ObjectTypeFromContext (Node *object, Node *control, bool allow_non_wasm=false)
 
Reduction UpdateNodeAndAliasesTypes (Node *state_owner, ControlPathTypes parent_state, Node *node, wasm::TypeInModule type, bool in_new_block)
 
TFGraphgraph ()
 
CommonOperatorBuildercommon ()
 
SimplifiedOperatorBuildersimplified ()
 

Private Attributes

MachineGraphmcgraph_
 
WasmGraphAssembler gasm_
 
const wasm::WasmModulemodule_
 
SourcePositionTablesource_position_table_
 

Additional Inherited Members

- Static Public Member Functions inherited from v8::internal::compiler::Reducer
static Reduction NoChange ()
 
static Reduction Replace (Node *node)
 
static Reduction Changed (Node *node)
 
- Protected Member Functions inherited from v8::internal::compiler::AdvancedReducerWithControlPathState< NodeWithType, kMultipleInstances >
 AdvancedReducerWithControlPathState (Editor *editor, Zone *zone, TFGraph *graph)
 
Reduction TakeStatesFromFirstControl (Node *node)
 
Reduction UpdateStates (Node *state_owner, ControlPathState< NodeWithType, node_uniqueness > new_state)
 
Reduction UpdateStates (Node *state_owner, ControlPathState< NodeWithType, node_uniqueness > prev_states, Node *additional_node, NodeWithType additional_state, bool in_new_block)
 
Zonezone ()
 
ControlPathState< NodeWithType, 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)
 
- Static Protected Member Functions inherited from v8::internal::compiler::AdvancedReducer
static Reduction Replace (Node *node)
 

Detailed Description

Definition at line 44 of file wasm-gc-operator-reducer.h.

Member Typedef Documentation

◆ ControlPathTypes

Constructor & Destructor Documentation

◆ WasmGCOperatorReducer()

v8::internal::compiler::WasmGCOperatorReducer::WasmGCOperatorReducer ( Editor * editor,
Zone * temp_zone_,
MachineGraph * mcgraph,
const wasm::WasmModule * module,
SourcePositionTable * source_position_table )

Definition at line 17 of file wasm-gc-operator-reducer.cc.

Member Function Documentation

◆ common()

CommonOperatorBuilder * v8::internal::compiler::WasmGCOperatorReducer::common ( )
inlineprivate

Definition at line 87 of file wasm-gc-operator-reducer.h.

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

◆ graph()

TFGraph * v8::internal::compiler::WasmGCOperatorReducer::graph ( )
inlineprivate

Definition at line 86 of file wasm-gc-operator-reducer.h.

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

◆ ObjectTypeFromContext()

wasm::TypeInModule v8::internal::compiler::WasmGCOperatorReducer::ObjectTypeFromContext ( Node * object,
Node * control,
bool allow_non_wasm = false )
private

Definition at line 122 of file wasm-gc-operator-reducer.cc.

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

◆ Reduce()

Reduction v8::internal::compiler::WasmGCOperatorReducer::Reduce ( Node * node)
finalvirtual

Implements v8::internal::compiler::Reducer.

Definition at line 26 of file wasm-gc-operator-reducer.cc.

Here is the call graph for this function:

◆ ReduceAssertNotNull()

Reduction v8::internal::compiler::WasmGCOperatorReducer::ReduceAssertNotNull ( Node * node)
private

Definition at line 273 of file wasm-gc-operator-reducer.cc.

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

◆ ReduceCheckNull()

Reduction v8::internal::compiler::WasmGCOperatorReducer::ReduceCheckNull ( Node * node)
private

Definition at line 296 of file wasm-gc-operator-reducer.cc.

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

◆ ReduceIf()

Reduction v8::internal::compiler::WasmGCOperatorReducer::ReduceIf ( Node * node,
bool condition )
private

Definition at line 199 of file wasm-gc-operator-reducer.cc.

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

◆ ReduceMerge()

Reduction v8::internal::compiler::WasmGCOperatorReducer::ReduceMerge ( Node * node)
private

Definition at line 247 of file wasm-gc-operator-reducer.cc.

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

◆ reducer_name()

const char * v8::internal::compiler::WasmGCOperatorReducer::reducer_name ( ) const
inlineoverridevirtual

Implements v8::internal::compiler::Reducer.

Definition at line 52 of file wasm-gc-operator-reducer.h.

◆ ReduceStart()

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

Definition at line 118 of file wasm-gc-operator-reducer.cc.

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

◆ ReduceTypeGuard()

Reduction v8::internal::compiler::WasmGCOperatorReducer::ReduceTypeGuard ( Node * node)
private

Definition at line 349 of file wasm-gc-operator-reducer.cc.

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

◆ ReduceWasmAnyConvertExtern()

Reduction v8::internal::compiler::WasmGCOperatorReducer::ReduceWasmAnyConvertExtern ( Node * node)
private

Definition at line 328 of file wasm-gc-operator-reducer.cc.

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

◆ ReduceWasmArrayLength()

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

Definition at line 174 of file wasm-gc-operator-reducer.cc.

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

◆ ReduceWasmStructOperation()

Reduction v8::internal::compiler::WasmGCOperatorReducer::ReduceWasmStructOperation ( Node * node)
private

Definition at line 144 of file wasm-gc-operator-reducer.cc.

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

◆ ReduceWasmTypeCast()

Reduction v8::internal::compiler::WasmGCOperatorReducer::ReduceWasmTypeCast ( Node * node)
private

Definition at line 369 of file wasm-gc-operator-reducer.cc.

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

◆ ReduceWasmTypeCastAbstract()

Reduction v8::internal::compiler::WasmGCOperatorReducer::ReduceWasmTypeCastAbstract ( Node * node)
private

Definition at line 440 of file wasm-gc-operator-reducer.cc.

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

◆ ReduceWasmTypeCheck()

Reduction v8::internal::compiler::WasmGCOperatorReducer::ReduceWasmTypeCheck ( Node * node)
private

Definition at line 501 of file wasm-gc-operator-reducer.cc.

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

◆ ReduceWasmTypeCheckAbstract()

Reduction v8::internal::compiler::WasmGCOperatorReducer::ReduceWasmTypeCheckAbstract ( Node * node)
private

Definition at line 561 of file wasm-gc-operator-reducer.cc.

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

◆ SetType()

Node * v8::internal::compiler::WasmGCOperatorReducer::SetType ( Node * node,
wasm::ValueType type )
private

Definition at line 93 of file wasm-gc-operator-reducer.cc.

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

◆ simplified()

SimplifiedOperatorBuilder * v8::internal::compiler::WasmGCOperatorReducer::simplified ( )
inlineprivate

Definition at line 88 of file wasm-gc-operator-reducer.h.

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

◆ UpdateNodeAndAliasesTypes()

Reduction v8::internal::compiler::WasmGCOperatorReducer::UpdateNodeAndAliasesTypes ( Node * state_owner,
ControlPathTypes parent_state,
Node * node,
wasm::TypeInModule type,
bool in_new_block )
private

Definition at line 98 of file wasm-gc-operator-reducer.cc.

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

◆ UpdateSourcePosition()

void v8::internal::compiler::WasmGCOperatorReducer::UpdateSourcePosition ( Node * new_node,
Node * old_node )
private

Definition at line 618 of file wasm-gc-operator-reducer.cc.

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

Member Data Documentation

◆ gasm_

WasmGraphAssembler v8::internal::compiler::WasmGCOperatorReducer::gasm_
private

Definition at line 91 of file wasm-gc-operator-reducer.h.

◆ mcgraph_

MachineGraph* v8::internal::compiler::WasmGCOperatorReducer::mcgraph_
private

Definition at line 90 of file wasm-gc-operator-reducer.h.

◆ module_

const wasm::WasmModule* v8::internal::compiler::WasmGCOperatorReducer::module_
private

Definition at line 92 of file wasm-gc-operator-reducer.h.

◆ source_position_table_

SourcePositionTable* v8::internal::compiler::WasmGCOperatorReducer::source_position_table_
private

Definition at line 93 of file wasm-gc-operator-reducer.h.


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