|
| GraphAssembler (MachineGraph *jsgraph, Zone *zone, BranchSemantics default_branch_semantics, std::optional< NodeChangedCallback > node_changed_callback=std::nullopt, bool mark_loop_exits=false) |
|
virtual | ~GraphAssembler () |
|
virtual SimplifiedOperatorBuilder * | simplified () |
|
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 |
|
Definition at line 277 of file graph-assembler.h.