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

#include <wasm-graph-assembler.h>

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

Public Member Functions

 WasmGraphAssembler (MachineGraph *mcgraph, Zone *zone)
 
template<typename... Args>
Node * CallBuiltinThroughJumptable (Builtin builtin, Operator::Properties properties, Args... args)
 
Node * GetBuiltinPointerTarget (Builtin builtin)
 
template<typename... Args>
Node * CallBuiltin (Builtin name, Operator::Properties properties, Args... args)
 
template<typename... Args>
Node * CallBuiltinWithFrameState (Builtin name, Operator::Properties properties, Node *frame_state, Args... args)
 
Node * Branch (Node *cond, Node **true_node, Node **false_node, BranchHint hint)
 
Node * NumberConstant (double value)
 
Node * SmiConstant (Tagged_t value)
 
void MergeControlToEnd (Node *control)
 
Node * BuildTruncateIntPtrToInt32 (Node *value)
 
Node * BuildChangeInt32ToIntPtr (Node *value)
 
Node * BuildChangeIntPtrToInt64 (Node *value)
 
Node * BuildChangeUint32ToUintPtr (Node *node)
 
Node * BuildSmiShiftBitsConstant ()
 
Node * BuildSmiShiftBitsConstant32 ()
 
Node * BuildChangeInt32ToSmi (Node *value)
 
Node * BuildChangeUint31ToSmi (Node *value)
 
Node * BuildChangeSmiToInt32 (Node *value)
 
Node * BuildConvertUint32ToSmiWithSaturation (Node *value, uint32_t maxval)
 
Node * BuildChangeSmiToIntPtr (Node *value)
 
Node * Allocate (int size)
 
Node * Allocate (Node *size)
 
Node * LoadFromObject (MachineType type, Node *base, Node *offset)
 
Node * LoadFromObject (MachineType type, Node *base, int offset)
 
Node * LoadProtectedPointerFromObject (Node *object, Node *offset)
 
Node * LoadProtectedPointerFromObject (Node *object, int offset)
 
Node * LoadImmutableProtectedPointerFromObject (Node *object, Node *offset)
 
Node * LoadImmutableProtectedPointerFromObject (Node *object, int offset)
 
Node * LoadImmutableFromObject (MachineType type, Node *base, Node *offset)
 
Node * LoadImmutableFromObject (MachineType type, Node *base, int offset)
 
Node * LoadImmutable (LoadRepresentation rep, Node *base, Node *offset)
 
Node * LoadImmutable (LoadRepresentation rep, Node *base, int offset)
 
Node * LoadWasmCodePointer (Node *code_pointer)
 
Node * StoreToObject (ObjectAccess access, Node *base, Node *offset, Node *value)
 
Node * StoreToObject (ObjectAccess access, Node *base, int offset, Node *value)
 
Node * InitializeImmutableInObject (ObjectAccess access, Node *base, Node *offset, Node *value)
 
Node * InitializeImmutableInObject (ObjectAccess access, Node *base, int offset, Node *value)
 
Node * BuildDecodeSandboxedExternalPointer (Node *handle, ExternalPointerTagRange tag_range, Node *isolate_root)
 
Node * BuildLoadExternalPointerFromObject (Node *object, int offset, ExternalPointerTagRange tag_range, Node *isolate_root)
 
Node * BuildLoadExternalPointerFromObject (Node *object, int offset, Node *index, ExternalPointerTagRange tag_range, Node *isolate_root)
 
Node * LoadImmutableTrustedPointerFromObject (Node *object, int offset, IndirectPointerTag tag)
 
Node * LoadTrustedPointerFromObject (Node *object, int offset, IndirectPointerTag tag)
 
std::pair< Node *, Node * > LoadTrustedPointerFromObjectTrapOnNull (Node *object, int offset, IndirectPointerTag tag)
 
Node * BuildDecodeTrustedPointer (Node *handle, IndirectPointerTag tag)
 
Node * IsSmi (Node *object)
 
Node * LoadMap (Node *object)
 
void StoreMap (Node *heap_object, Node *map)
 
Node * LoadInstanceType (Node *map)
 
Node * LoadWasmTypeInfo (Node *map)
 
Node * LoadFixedArrayLengthAsSmi (Node *fixed_array)
 
Node * LoadFixedArrayElement (Node *fixed_array, Node *index_intptr, MachineType type=MachineType::AnyTagged())
 
Node * LoadImmutableFixedArrayElement (Node *fixed_array, Node *index_intptr, MachineType type=MachineType::AnyTagged())
 
Node * LoadFixedArrayElement (Node *array, int index, MachineType type)
 
Node * LoadFixedArrayElementSmi (Node *array, int index)
 
Node * LoadFixedArrayElementPtr (Node *array, int index)
 
Node * LoadFixedArrayElementAny (Node *array, int index)
 
Node * LoadProtectedFixedArrayElement (Node *array, int index)
 
Node * LoadProtectedFixedArrayElement (Node *array, Node *index_intptr)
 
Node * LoadByteArrayElement (Node *byte_array, Node *index_intptr, MachineType type)
 
Node * StoreFixedArrayElement (Node *array, int index, Node *value, ObjectAccess access)
 
Node * StoreFixedArrayElementSmi (Node *array, int index, Node *value)
 
Node * StoreFixedArrayElementAny (Node *array, int index, Node *value)
 
Node * LoadWeakFixedArrayElement (Node *fixed_array, Node *index_intptr)
 
Node * LoadSharedFunctionInfo (Node *js_function)
 
Node * LoadContextFromJSFunction (Node *js_function)
 
Node * LoadFunctionDataFromJSFunction (Node *js_function)
 
Node * LoadExportedFunctionIndexAsSmi (Node *exported_function_data)
 
Node * LoadExportedFunctionInstanceData (Node *exported_function_data)
 
Node * LoadJSArrayElements (Node *js_array)
 
Node * FieldOffset (const wasm::StructType *type, uint32_t field_index)
 
Node * WasmArrayElementOffset (Node *index, wasm::ValueType element_type)
 
Node * IsDataRefMap (Node *map)
 
Node * WasmTypeCheck (Node *object, Node *rtt, WasmTypeCheckConfig config)
 
Node * WasmTypeCheckAbstract (Node *object, WasmTypeCheckConfig config)
 
Node * WasmTypeCast (Node *object, Node *rtt, WasmTypeCheckConfig config)
 
Node * WasmTypeCastAbstract (Node *object, WasmTypeCheckConfig config)
 
Node * Null (wasm::ValueType type)
 
Node * IsNull (Node *object, wasm::ValueType type)
 
Node * IsNotNull (Node *object, wasm::ValueType type)
 
Node * AssertNotNull (Node *object, wasm::ValueType type, TrapId trap_id)
 
Node * WasmAnyConvertExtern (Node *object)
 
Node * WasmExternConvertAny (Node *object)
 
Node * StructGet (Node *object, const wasm::StructType *type, int field_index, bool is_signed, CheckForNull null_check)
 
void StructSet (Node *object, Node *value, const wasm::StructType *type, int field_index, CheckForNull null_check)
 
Node * ArrayGet (Node *array, Node *index, const wasm::ArrayType *type, bool is_signed)
 
void ArraySet (Node *array, Node *index, Node *value, const wasm::ArrayType *type)
 
Node * ArrayLength (Node *array, CheckForNull null_check)
 
void ArrayInitializeLength (Node *array, Node *length)
 
Node * LoadStringLength (Node *string)
 
Node * StringAsWtf16 (Node *string)
 
Node * StringPrepareForGetCodeunit (Node *string)
 
Node * HasInstanceType (Node *heap_object, InstanceType type)
 
void TrapIf (Node *condition, TrapId reason)
 
void TrapUnless (Node *condition, TrapId reason)
 
Node * LoadTrustedDataFromInstanceObject (Node *instance_object)
 
SimplifiedOperatorBuilder * simplified () override
 
- Public Member Functions inherited from v8::internal::compiler::GraphAssembler
 GraphAssembler (MachineGraph *jsgraph, Zone *zone, BranchSemantics default_branch_semantics, std::optional< NodeChangedCallback > node_changed_callback=std::nullopt, bool mark_loop_exits=false)
 
virtual ~GraphAssembler ()
 
void Reset ()
 
void InitializeEffectControl (Node *effect, Node *control)
 
template<typename... Reps>
detail::GraphAssemblerLabelForReps< Reps... > MakeLabelFor (GraphAssemblerLabelType type, Reps... reps)
 
GraphAssemblerDynamicLabel MakeLabelFor (GraphAssemblerLabelType type, base::SmallVector< MachineRepresentation, 4 > reps)
 
template<typename... Reps>
detail::GraphAssemblerLabelForReps< Reps... > MakeLabel (Reps... reps)
 
template<typename... Reps>
detail::GraphAssemblerLabelForReps< Reps... > MakeLoopLabel (Reps... reps)
 
template<typename... Reps>
detail::GraphAssemblerLabelForReps< Reps... > MakeDeferredLabel (Reps... reps)
 
Node * IntPtrConstant (intptr_t value)
 
TNode< UintPtrT > UintPtrConstant (uintptr_t value)
 
Node * Int32Constant (int32_t value)
 
TNode< Uint32T > Uint32Constant (uint32_t value)
 
Node * Int64Constant (int64_t value)
 
Node * Uint64Constant (uint64_t value)
 
Node * UniqueIntPtrConstant (intptr_t value)
 
Node * Float64Constant (double value)
 
Node * ExternalConstant (ExternalReference ref)
 
Node * IsolateField (IsolateFieldId id)
 
Node * Projection (int index, Node *value, Node *ctrl=nullptr)
 
Node * Parameter (int index)
 
Node * LoadFramePointer ()
 
Node * LoadRootRegister ()
 
Node * LoadHeapNumberValue (Node *heap_number)
 
TNode< BoolT > UintPtrLessThan (TNode< UintPtrT > left, TNode< UintPtrT > right)
 
TNode< BoolT > UintPtrLessThanOrEqual (TNode< UintPtrT > left, TNode< UintPtrT > right)
 
TNode< UintPtrT > UintPtrAdd (TNode< UintPtrT > left, TNode< UintPtrT > right)
 
TNode< UintPtrT > UintPtrSub (TNode< UintPtrT > left, TNode< UintPtrT > right)
 
TNode< UintPtrT > UintPtrDiv (TNode< UintPtrT > left, TNode< UintPtrT > right)
 
TNode< UintPtrT > ChangeUint32ToUintPtr (SloppyTNode< Uint32T > value)
 
TNode< Map > LoadMap (Node *object)
 
Node * DebugBreak ()
 
Node * Unreachable ()
 
Node * UnreachableWithoutConnectToEnd ()
 
Node * IntPtrEqual (Node *left, Node *right)
 
Node * TaggedEqual (Node *left, Node *right)
 
Node * SmiSub (Node *left, Node *right)
 
Node * SmiLessThan (Node *left, Node *right)
 
Node * Float64RoundDown (Node *value)
 
Node * Float64RoundTruncate (Node *value)
 
Node * TruncateFloat64ToInt64 (Node *value, TruncateKind kind)
 
Node * BitcastWordToTagged (Node *value)
 
Node * BitcastWordToTaggedSigned (Node *value)
 
Node * BitcastTaggedToWord (Node *value)
 
Node * BitcastTaggedToWordForTagAndSmiBits (Node *value)
 
Node * BitcastMaybeObjectToWord (Node *value)
 
Node * TypeGuard (Type type, Node *value)
 
template<typename T >
TNode< T > TypeGuard (Type type, TNode< T > value)
 
Node * Checkpoint (FrameState frame_state)
 
TNode< RawPtrT > StackSlot (int size, int alignment, bool is_tagged=false)
 
Node * AdaptLocalArgument (Node *argument)
 
Node * Store (StoreRepresentation rep, Node *object, Node *offset, Node *value)
 
Node * Store (StoreRepresentation rep, Node *object, int offset, Node *value)
 
Node * Load (MachineType type, Node *object, Node *offset)
 
Node * Load (MachineType type, Node *object, int offset)
 
Node * StoreUnaligned (MachineRepresentation rep, Node *object, Node *offset, Node *value)
 
Node * LoadUnaligned (MachineType type, Node *object, Node *offset)
 
Node * ProtectedStore (MachineRepresentation rep, Node *object, Node *offset, Node *value)
 
Node * ProtectedLoad (MachineType type, Node *object, Node *offset)
 
Node * LoadTrapOnNull (MachineType type, Node *object, Node *offset)
 
Node * StoreTrapOnNull (StoreRepresentation rep, Node *object, Node *offset, Node *value)
 
Node * Retain (Node *buffer)
 
Node * IntPtrAdd (Node *a, Node *b)
 
Node * IntPtrSub (Node *a, Node *b)
 
Node * DeoptimizeIf (DeoptimizeReason reason, FeedbackSource const &feedback, Node *condition, Node *frame_state)
 
Node * DeoptimizeIfNot (DeoptimizeReason reason, FeedbackSource const &feedback, Node *condition, Node *frame_state)
 
TNode< Object > Call (const CallDescriptor *call_descriptor, int inputs_size, Node **inputs)
 
TNode< Object > Call (const Operator *op, int inputs_size, Node **inputs)
 
template<typename... Args>
TNode< Object > Call (const CallDescriptor *call_descriptor, Node *first_arg, Args... args)
 
template<typename... Args>
TNode< Object > Call (const Operator *op, Node *first_arg, Args... args)
 
void TailCall (const CallDescriptor *call_descriptor, int inputs_size, Node **inputs)
 
template<size_t VarCount>
void Bind (GraphAssemblerLabel< VarCount > *label)
 
template<typename... Vars>
void Goto (detail::GraphAssemblerLabelForVars< Vars... > *label, Vars...)
 
void BranchWithCriticalSafetyCheck (Node *condition, GraphAssemblerLabel< 0u > *if_true, GraphAssemblerLabel< 0u > *if_false)
 
template<typename... Vars>
void Branch (Node *condition, detail::GraphAssemblerLabelForVars< Vars... > *if_true, detail::GraphAssemblerLabelForVars< Vars... > *if_false, Vars...)
 
template<typename... Vars>
void BranchWithHint (Node *condition, detail::GraphAssemblerLabelForVars< Vars... > *if_true, detail::GraphAssemblerLabelForVars< Vars... > *if_false, BranchHint hint, Vars...)
 
template<typename... Vars>
void MachineBranch (TNode< Word32T > condition, GraphAssemblerLabel< sizeof...(Vars)> *if_true, GraphAssemblerLabel< sizeof...(Vars)> *if_false, BranchHint hint, Vars...)
 
template<typename... Vars>
void JSBranch (TNode< Boolean > condition, GraphAssemblerLabel< sizeof...(Vars)> *if_true, GraphAssemblerLabel< sizeof...(Vars)> *if_false, BranchHint hint, Vars...)
 
template<typename... Vars>
void GotoIf (Node *condition, detail::GraphAssemblerLabelForVars< Vars... > *label, BranchHint hint, Vars...)
 
template<typename... Vars>
void GotoIfNot (Node *condition, detail::GraphAssemblerLabelForVars< Vars... > *label, BranchHint hint, Vars...)
 
template<typename... Vars>
void GotoIf (Node *condition, detail::GraphAssemblerLabelForVars< Vars... > *label, Vars...)
 
template<typename... Vars>
void GotoIfNot (Node *condition, detail::GraphAssemblerLabelForVars< Vars... > *label, Vars...)
 
void RuntimeAbort (AbortReason reason)
 
bool HasActiveBlock () const
 
V8_INLINE void UpdateEffectControlWith (Node *node)
 
Node * AddNode (Node *node)
 
template<typename T >
TNode< T > AddNode (Node *node)
 
void ConnectUnreachableToEnd ()
 
void AddInlineReducer (Reducer *reducer)
 
Control control () const
 
Effect effect () const
 
Node * start () const
 

Private Member Functions

template<typename... Args>
Node * CallBuiltinImpl (Builtin name, bool needs_frame_state, Operator::Properties properties, Args... args)
 

Private Attributes

SimplifiedOperatorBuilder simplified_
 

Additional Inherited Members

- Protected Member Functions inherited from v8::internal::compiler::GraphAssembler
constexpr bool Is64 () const
 
template<typename... Vars>
void MergeState (detail::GraphAssemblerLabelForVars< Vars... > *label, Vars... vars)
 
V8_INLINE Node * AddClonedNode (Node *node)
 
MachineGraph * mcgraph () const
 
TFGraph * graph () const
 
Zone * temp_zone () const
 
CommonOperatorBuilder * common () const
 
MachineOperatorBuilder * machine () const
 

Detailed Description

Definition at line 26 of file wasm-graph-assembler.h.

Constructor & Destructor Documentation

◆ WasmGraphAssembler()

v8::internal::compiler::WasmGraphAssembler::WasmGraphAssembler ( MachineGraph * mcgraph,
Zone * zone )
inline

Definition at line 28 of file wasm-graph-assembler.h.

Member Function Documentation

◆ Allocate() [1/2]

Node * v8::internal::compiler::WasmGraphAssembler::Allocate ( int size)

Definition at line 130 of file wasm-graph-assembler.cc.

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

◆ Allocate() [2/2]

Node * v8::internal::compiler::WasmGraphAssembler::Allocate ( Node * size)

Definition at line 134 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ ArrayGet()

Node * v8::internal::compiler::WasmGraphAssembler::ArrayGet ( Node * array,
Node * index,
const wasm::ArrayType * type,
bool is_signed )

Definition at line 573 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ ArrayInitializeLength()

void v8::internal::compiler::WasmGraphAssembler::ArrayInitializeLength ( Node * array,
Node * length )

Definition at line 591 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ ArrayLength()

Node * v8::internal::compiler::WasmGraphAssembler::ArrayLength ( Node * array,
CheckForNull null_check )

Definition at line 586 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ ArraySet()

void v8::internal::compiler::WasmGraphAssembler::ArraySet ( Node * array,
Node * index,
Node * value,
const wasm::ArrayType * type )

Definition at line 580 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ AssertNotNull()

Node * v8::internal::compiler::WasmGraphAssembler::AssertNotNull ( Node * object,
wasm::ValueType type,
TrapId trap_id )

Definition at line 541 of file wasm-graph-assembler.cc.

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

◆ Branch()

Node * v8::internal::compiler::WasmGraphAssembler::Branch ( Node * cond,
Node ** true_node,
Node ** false_node,
BranchHint hint )

Definition at line 45 of file wasm-graph-assembler.cc.

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

◆ BuildChangeInt32ToIntPtr()

Node * v8::internal::compiler::WasmGraphAssembler::BuildChangeInt32ToIntPtr ( Node * value)

Definition at line 59 of file wasm-graph-assembler.cc.

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

◆ BuildChangeInt32ToSmi()

Node * v8::internal::compiler::WasmGraphAssembler::BuildChangeInt32ToSmi ( Node * value)

Definition at line 86 of file wasm-graph-assembler.cc.

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

◆ BuildChangeIntPtrToInt64()

Node * v8::internal::compiler::WasmGraphAssembler::BuildChangeIntPtrToInt64 ( Node * value)

Definition at line 63 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ BuildChangeSmiToInt32()

Node * v8::internal::compiler::WasmGraphAssembler::BuildChangeSmiToInt32 ( Node * value)

Definition at line 101 of file wasm-graph-assembler.cc.

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

◆ BuildChangeSmiToIntPtr()

Node * v8::internal::compiler::WasmGraphAssembler::BuildChangeSmiToIntPtr ( Node * value)

Definition at line 120 of file wasm-graph-assembler.cc.

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

◆ BuildChangeUint31ToSmi()

Node * v8::internal::compiler::WasmGraphAssembler::BuildChangeUint31ToSmi ( Node * value)

Definition at line 94 of file wasm-graph-assembler.cc.

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

◆ BuildChangeUint32ToUintPtr()

Node * v8::internal::compiler::WasmGraphAssembler::BuildChangeUint32ToUintPtr ( Node * node)

Definition at line 67 of file wasm-graph-assembler.cc.

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

◆ BuildConvertUint32ToSmiWithSaturation()

Node * v8::internal::compiler::WasmGraphAssembler::BuildConvertUint32ToSmiWithSaturation ( Node * value,
uint32_t maxval )

Definition at line 108 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ BuildDecodeSandboxedExternalPointer()

Node * v8::internal::compiler::WasmGraphAssembler::BuildDecodeSandboxedExternalPointer ( Node * handle,
ExternalPointerTagRange tag_range,
Node * isolate_root )

Definition at line 198 of file wasm-graph-assembler.cc.

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

◆ BuildDecodeTrustedPointer()

Node * v8::internal::compiler::WasmGraphAssembler::BuildDecodeTrustedPointer ( Node * handle,
IndirectPointerTag tag )

Definition at line 245 of file wasm-graph-assembler.cc.

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

◆ BuildLoadExternalPointerFromObject() [1/2]

Node * v8::internal::compiler::WasmGraphAssembler::BuildLoadExternalPointerFromObject ( Node * object,
int offset,
ExternalPointerTagRange tag_range,
Node * isolate_root )

Definition at line 267 of file wasm-graph-assembler.cc.

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

◆ BuildLoadExternalPointerFromObject() [2/2]

Node * v8::internal::compiler::WasmGraphAssembler::BuildLoadExternalPointerFromObject ( Node * object,
int offset,
Node * index,
ExternalPointerTagRange tag_range,
Node * isolate_root )

◆ BuildSmiShiftBitsConstant()

Node * v8::internal::compiler::WasmGraphAssembler::BuildSmiShiftBitsConstant ( )

Definition at line 78 of file wasm-graph-assembler.cc.

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

◆ BuildSmiShiftBitsConstant32()

Node * v8::internal::compiler::WasmGraphAssembler::BuildSmiShiftBitsConstant32 ( )

Definition at line 82 of file wasm-graph-assembler.cc.

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

◆ BuildTruncateIntPtrToInt32()

Node * v8::internal::compiler::WasmGraphAssembler::BuildTruncateIntPtrToInt32 ( Node * value)

Definition at line 55 of file wasm-graph-assembler.cc.

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

◆ CallBuiltin()

template<typename... Args>
Node * v8::internal::compiler::WasmGraphAssembler::CallBuiltin ( Builtin name,
Operator::Properties properties,
Args... args )
inline

Definition at line 56 of file wasm-graph-assembler.h.

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

◆ CallBuiltinImpl()

template<typename... Args>
Node * v8::internal::compiler::WasmGraphAssembler::CallBuiltinImpl ( Builtin name,
bool needs_frame_state,
Operator::Properties properties,
Args... args )
inlineprivate

Definition at line 339 of file wasm-graph-assembler.h.

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

◆ CallBuiltinThroughJumptable()

template<typename... Args>
Node * v8::internal::compiler::WasmGraphAssembler::CallBuiltinThroughJumptable ( Builtin builtin,
Operator::Properties properties,
Args... args )
inline

Definition at line 38 of file wasm-graph-assembler.h.

Here is the call graph for this function:

◆ CallBuiltinWithFrameState()

template<typename... Args>
Node * v8::internal::compiler::WasmGraphAssembler::CallBuiltinWithFrameState ( Builtin name,
Operator::Properties properties,
Node * frame_state,
Args... args )
inline

Definition at line 62 of file wasm-graph-assembler.h.

Here is the call graph for this function:

◆ FieldOffset()

Node * v8::internal::compiler::WasmGraphAssembler::FieldOffset ( const wasm::StructType * type,
uint32_t field_index )

Definition at line 478 of file wasm-graph-assembler.cc.

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

◆ GetBuiltinPointerTarget()

Node * v8::internal::compiler::WasmGraphAssembler::GetBuiltinPointerTarget ( Builtin builtin)
inline

Definition at line 50 of file wasm-graph-assembler.h.

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

◆ HasInstanceType()

Node * v8::internal::compiler::WasmGraphAssembler::HasInstanceType ( Node * heap_object,
InstanceType type )

Definition at line 622 of file wasm-graph-assembler.cc.

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

◆ InitializeImmutableInObject() [1/2]

Node * v8::internal::compiler::WasmGraphAssembler::InitializeImmutableInObject ( ObjectAccess access,
Node * base,
int offset,
Node * value )
inline

Definition at line 161 of file wasm-graph-assembler.h.

Here is the call graph for this function:

◆ InitializeImmutableInObject() [2/2]

Node * v8::internal::compiler::WasmGraphAssembler::InitializeImmutableInObject ( ObjectAccess access,
Node * base,
Node * offset,
Node * value )

Definition at line 190 of file wasm-graph-assembler.cc.

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

◆ IsDataRefMap()

Node * v8::internal::compiler::WasmGraphAssembler::IsDataRefMap ( Node * map)

Definition at line 493 of file wasm-graph-assembler.cc.

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

◆ IsNotNull()

Node * v8::internal::compiler::WasmGraphAssembler::IsNotNull ( Node * object,
wasm::ValueType type )

Definition at line 536 of file wasm-graph-assembler.cc.

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

◆ IsNull()

Node * v8::internal::compiler::WasmGraphAssembler::IsNull ( Node * object,
wasm::ValueType type )

Definition at line 532 of file wasm-graph-assembler.cc.

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

◆ IsSmi()

Node * v8::internal::compiler::WasmGraphAssembler::IsSmi ( Node * object)

Definition at line 281 of file wasm-graph-assembler.cc.

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

◆ LoadByteArrayElement()

Node * v8::internal::compiler::WasmGraphAssembler::LoadByteArrayElement ( Node * byte_array,
Node * index_intptr,
MachineType type )

Definition at line 378 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ LoadContextFromJSFunction()

Node * v8::internal::compiler::WasmGraphAssembler::LoadContextFromJSFunction ( Node * js_function)

Definition at line 439 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ LoadExportedFunctionIndexAsSmi()

Node * v8::internal::compiler::WasmGraphAssembler::LoadExportedFunctionIndexAsSmi ( Node * exported_function_data)

Definition at line 453 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ LoadExportedFunctionInstanceData()

Node * v8::internal::compiler::WasmGraphAssembler::LoadExportedFunctionInstanceData ( Node * exported_function_data)

Definition at line 460 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ LoadFixedArrayElement() [1/2]

Node * v8::internal::compiler::WasmGraphAssembler::LoadFixedArrayElement ( Node * array,
int index,
MachineType type )

Definition at line 358 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ LoadFixedArrayElement() [2/2]

Node * v8::internal::compiler::WasmGraphAssembler::LoadFixedArrayElement ( Node * fixed_array,
Node * index_intptr,
MachineType type = MachineType::AnyTagged() )

Definition at line 331 of file wasm-graph-assembler.cc.

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

◆ LoadFixedArrayElementAny()

Node * v8::internal::compiler::WasmGraphAssembler::LoadFixedArrayElementAny ( Node * array,
int index )
inline

Definition at line 222 of file wasm-graph-assembler.h.

Here is the call graph for this function:

◆ LoadFixedArrayElementPtr()

Node * v8::internal::compiler::WasmGraphAssembler::LoadFixedArrayElementPtr ( Node * array,
int index )
inline

Definition at line 218 of file wasm-graph-assembler.h.

Here is the call graph for this function:

◆ LoadFixedArrayElementSmi()

Node * v8::internal::compiler::WasmGraphAssembler::LoadFixedArrayElementSmi ( Node * array,
int index )
inline

Definition at line 214 of file wasm-graph-assembler.h.

Here is the call graph for this function:

◆ LoadFixedArrayLengthAsSmi()

Node * v8::internal::compiler::WasmGraphAssembler::LoadFixedArrayLengthAsSmi ( Node * fixed_array)

Definition at line 325 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ LoadFromObject() [1/2]

Node * v8::internal::compiler::WasmGraphAssembler::LoadFromObject ( MachineType type,
Node * base,
int offset )
inline

Definition at line 121 of file wasm-graph-assembler.h.

Here is the call graph for this function:

◆ LoadFromObject() [2/2]

Node * v8::internal::compiler::WasmGraphAssembler::LoadFromObject ( MachineType type,
Node * base,
Node * offset )

Definition at line 140 of file wasm-graph-assembler.cc.

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

◆ LoadFunctionDataFromJSFunction()

Node * v8::internal::compiler::WasmGraphAssembler::LoadFunctionDataFromJSFunction ( Node * js_function)

Definition at line 444 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ LoadImmutable() [1/2]

Node * v8::internal::compiler::WasmGraphAssembler::LoadImmutable ( LoadRepresentation rep,
Node * base,
int offset )
inline

Definition at line 144 of file wasm-graph-assembler.h.

Here is the call graph for this function:

◆ LoadImmutable() [2/2]

Node * v8::internal::compiler::WasmGraphAssembler::LoadImmutable ( LoadRepresentation rep,
Node * base,
Node * offset )

Definition at line 169 of file wasm-graph-assembler.cc.

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

◆ LoadImmutableFixedArrayElement()

Node * v8::internal::compiler::WasmGraphAssembler::LoadImmutableFixedArrayElement ( Node * fixed_array,
Node * index_intptr,
MachineType type = MachineType::AnyTagged() )

Definition at line 349 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ LoadImmutableFromObject() [1/2]

Node * v8::internal::compiler::WasmGraphAssembler::LoadImmutableFromObject ( MachineType type,
Node * base,
int offset )
inline

Definition at line 138 of file wasm-graph-assembler.h.

Here is the call graph for this function:

◆ LoadImmutableFromObject() [2/2]

Node * v8::internal::compiler::WasmGraphAssembler::LoadImmutableFromObject ( MachineType type,
Node * base,
Node * offset )

Definition at line 162 of file wasm-graph-assembler.cc.

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

◆ LoadImmutableProtectedPointerFromObject() [1/2]

Node * v8::internal::compiler::WasmGraphAssembler::LoadImmutableProtectedPointerFromObject ( Node * object,
int offset )
inline

Definition at line 131 of file wasm-graph-assembler.h.

Here is the call graph for this function:

◆ LoadImmutableProtectedPointerFromObject() [2/2]

Node * v8::internal::compiler::WasmGraphAssembler::LoadImmutableProtectedPointerFromObject ( Node * object,
Node * offset )

Definition at line 154 of file wasm-graph-assembler.cc.

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

◆ LoadImmutableTrustedPointerFromObject()

Node * v8::internal::compiler::WasmGraphAssembler::LoadImmutableTrustedPointerFromObject ( Node * object,
int offset,
IndirectPointerTag tag )

Definition at line 388 of file wasm-graph-assembler.cc.

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

◆ LoadInstanceType()

Node * v8::internal::compiler::WasmGraphAssembler::LoadInstanceType ( Node * map)

Definition at line 312 of file wasm-graph-assembler.cc.

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

◆ LoadJSArrayElements()

Node * v8::internal::compiler::WasmGraphAssembler::LoadJSArrayElements ( Node * js_array)

Definition at line 470 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ LoadMap()

Node * v8::internal::compiler::WasmGraphAssembler::LoadMap ( Node * object)

Definition at line 292 of file wasm-graph-assembler.cc.

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

◆ LoadProtectedFixedArrayElement() [1/2]

Node * v8::internal::compiler::WasmGraphAssembler::LoadProtectedFixedArrayElement ( Node * array,
int index )

Definition at line 364 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ LoadProtectedFixedArrayElement() [2/2]

Node * v8::internal::compiler::WasmGraphAssembler::LoadProtectedFixedArrayElement ( Node * array,
Node * index_intptr )

Definition at line 370 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ LoadProtectedPointerFromObject() [1/2]

Node * v8::internal::compiler::WasmGraphAssembler::LoadProtectedPointerFromObject ( Node * object,
int offset )
inline

Definition at line 126 of file wasm-graph-assembler.h.

Here is the call graph for this function:

◆ LoadProtectedPointerFromObject() [2/2]

Node * v8::internal::compiler::WasmGraphAssembler::LoadProtectedPointerFromObject ( Node * object,
Node * offset )

Definition at line 147 of file wasm-graph-assembler.cc.

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

◆ LoadSharedFunctionInfo()

Node * v8::internal::compiler::WasmGraphAssembler::LoadSharedFunctionInfo ( Node * js_function)

Definition at line 434 of file wasm-graph-assembler.cc.

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

◆ LoadStringLength()

Node * v8::internal::compiler::WasmGraphAssembler::LoadStringLength ( Node * string)

Definition at line 596 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ LoadTrustedDataFromInstanceObject()

Node * v8::internal::compiler::WasmGraphAssembler::LoadTrustedDataFromInstanceObject ( Node * instance_object)

Definition at line 612 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ LoadTrustedPointerFromObject()

Node * v8::internal::compiler::WasmGraphAssembler::LoadTrustedPointerFromObject ( Node * object,
int offset,
IndirectPointerTag tag )

Definition at line 399 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ LoadTrustedPointerFromObjectTrapOnNull()

std::pair< Node *, Node * > v8::internal::compiler::WasmGraphAssembler::LoadTrustedPointerFromObjectTrapOnNull ( Node * object,
int offset,
IndirectPointerTag tag )

Definition at line 412 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ LoadWasmCodePointer()

Node * v8::internal::compiler::WasmGraphAssembler::LoadWasmCodePointer ( Node * code_pointer)

Definition at line 175 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ LoadWasmTypeInfo()

Node * v8::internal::compiler::WasmGraphAssembler::LoadWasmTypeInfo ( Node * map)

Definition at line 317 of file wasm-graph-assembler.cc.

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

◆ LoadWeakFixedArrayElement()

Node * v8::internal::compiler::WasmGraphAssembler::LoadWeakFixedArrayElement ( Node * fixed_array,
Node * index_intptr )

Definition at line 341 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ MergeControlToEnd()

void v8::internal::compiler::WasmGraphAssembler::MergeControlToEnd ( Node * control)
inline

Definition at line 84 of file wasm-graph-assembler.h.

Here is the call graph for this function:

◆ Null()

Node * v8::internal::compiler::WasmGraphAssembler::Null ( wasm::ValueType type)

Definition at line 528 of file wasm-graph-assembler.cc.

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

◆ NumberConstant()

Node * v8::internal::compiler::WasmGraphAssembler::NumberConstant ( double value)
inline

Definition at line 73 of file wasm-graph-assembler.h.

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

◆ simplified()

SimplifiedOperatorBuilder * v8::internal::compiler::WasmGraphAssembler::simplified ( )
inlineoverridevirtual

Reimplemented from v8::internal::compiler::GraphAssembler.

Definition at line 335 of file wasm-graph-assembler.h.

Here is the caller graph for this function:

◆ SmiConstant()

Node * v8::internal::compiler::WasmGraphAssembler::SmiConstant ( Tagged_t value)
inline

Definition at line 77 of file wasm-graph-assembler.h.

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

◆ StoreFixedArrayElement()

Node * v8::internal::compiler::WasmGraphAssembler::StoreFixedArrayElement ( Node * array,
int index,
Node * value,
ObjectAccess access )

Definition at line 424 of file wasm-graph-assembler.cc.

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

◆ StoreFixedArrayElementAny()

Node * v8::internal::compiler::WasmGraphAssembler::StoreFixedArrayElementAny ( Node * array,
int index,
Node * value )
inline

Definition at line 241 of file wasm-graph-assembler.h.

Here is the call graph for this function:

◆ StoreFixedArrayElementSmi()

Node * v8::internal::compiler::WasmGraphAssembler::StoreFixedArrayElementSmi ( Node * array,
int index,
Node * value )
inline

Definition at line 235 of file wasm-graph-assembler.h.

Here is the call graph for this function:

◆ StoreMap()

void v8::internal::compiler::WasmGraphAssembler::StoreMap ( Node * heap_object,
Node * map )

Definition at line 303 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ StoreToObject() [1/2]

Node * v8::internal::compiler::WasmGraphAssembler::StoreToObject ( ObjectAccess access,
Node * base,
int offset,
Node * value )
inline

Definition at line 153 of file wasm-graph-assembler.h.

Here is the call graph for this function:

◆ StoreToObject() [2/2]

Node * v8::internal::compiler::WasmGraphAssembler::StoreToObject ( ObjectAccess access,
Node * base,
Node * offset,
Node * value )

Definition at line 184 of file wasm-graph-assembler.cc.

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

◆ StringAsWtf16()

Node * v8::internal::compiler::WasmGraphAssembler::StringAsWtf16 ( Node * string)

Definition at line 602 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ StringPrepareForGetCodeunit()

Node * v8::internal::compiler::WasmGraphAssembler::StringPrepareForGetCodeunit ( Node * string)

Definition at line 607 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ StructGet()

Node * v8::internal::compiler::WasmGraphAssembler::StructGet ( Node * object,
const wasm::StructType * type,
int field_index,
bool is_signed,
CheckForNull null_check )

Definition at line 557 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ StructSet()

void v8::internal::compiler::WasmGraphAssembler::StructSet ( Node * object,
Node * value,
const wasm::StructType * type,
int field_index,
CheckForNull null_check )

Definition at line 565 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ TrapIf()

void v8::internal::compiler::WasmGraphAssembler::TrapIf ( Node * condition,
TrapId reason )
inline

Definition at line 317 of file wasm-graph-assembler.h.

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

◆ TrapUnless()

void v8::internal::compiler::WasmGraphAssembler::TrapUnless ( Node * condition,
TrapId reason )
inline

Definition at line 325 of file wasm-graph-assembler.h.

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

◆ WasmAnyConvertExtern()

Node * v8::internal::compiler::WasmGraphAssembler::WasmAnyConvertExtern ( Node * object)

Definition at line 547 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ WasmArrayElementOffset()

Node * v8::internal::compiler::WasmGraphAssembler::WasmArrayElementOffset ( Node * index,
wasm::ValueType element_type )

Definition at line 484 of file wasm-graph-assembler.cc.

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

◆ WasmExternConvertAny()

Node * v8::internal::compiler::WasmGraphAssembler::WasmExternConvertAny ( Node * object)

Definition at line 552 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ WasmTypeCast()

Node * v8::internal::compiler::WasmGraphAssembler::WasmTypeCast ( Node * object,
Node * rtt,
WasmTypeCheckConfig config )

Definition at line 516 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ WasmTypeCastAbstract()

Node * v8::internal::compiler::WasmGraphAssembler::WasmTypeCastAbstract ( Node * object,
WasmTypeCheckConfig config )

Definition at line 522 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ WasmTypeCheck()

Node * v8::internal::compiler::WasmGraphAssembler::WasmTypeCheck ( Node * object,
Node * rtt,
WasmTypeCheckConfig config )

Definition at line 504 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

◆ WasmTypeCheckAbstract()

Node * v8::internal::compiler::WasmGraphAssembler::WasmTypeCheckAbstract ( Node * object,
WasmTypeCheckConfig config )

Definition at line 510 of file wasm-graph-assembler.cc.

Here is the call graph for this function:

Member Data Documentation

◆ simplified_

SimplifiedOperatorBuilder v8::internal::compiler::WasmGraphAssembler::simplified_
private

Definition at line 348 of file wasm-graph-assembler.h.


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