|
| 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 |
|
| 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 |
|