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