V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
|
Public Member Functions | |
RawMachineAssembler (Isolate *isolate, Graph *graph, CallDescriptor *call_descriptor, MachineRepresentation word=MachineType::PointerRepresentation(), MachineOperatorBuilder::Flags flags=MachineOperatorBuilder::Flag::kNoFlags, MachineOperatorBuilder::AlignmentRequirements alignment_requirements=MachineOperatorBuilder::AlignmentRequirements::FullUnalignedAccessSupport(), PoisoningMitigationLevel poisoning_level=PoisoningMitigationLevel::kPoisonCriticalOnly) | |
Isolate * | isolate () const |
Graph * | graph () const |
Zone * | zone () const |
MachineOperatorBuilder * | machine () |
CommonOperatorBuilder * | common () |
CallDescriptor * | call_descriptor () const |
PoisoningMitigationLevel | poisoning_level () const |
Schedule * | Export () |
Graph * | ExportForOptimization () |
Node * | NullConstant () |
Node * | UndefinedConstant () |
Node * | PointerConstant (void *value) |
Node * | IntPtrConstant (intptr_t value) |
Node * | RelocatableIntPtrConstant (intptr_t value, RelocInfo::Mode rmode) |
Node * | Int32Constant (int32_t value) |
Node * | StackSlot (MachineRepresentation rep, int alignment=0) |
Node * | Int64Constant (int64_t value) |
Node * | NumberConstant (double value) |
Node * | Float32Constant (float value) |
Node * | Float64Constant (double value) |
Node * | HeapConstant (Handle< HeapObject > object) |
Node * | ExternalConstant (ExternalReference address) |
Node * | RelocatableInt32Constant (int32_t value, RelocInfo::Mode rmode) |
Node * | RelocatableInt64Constant (int64_t value, RelocInfo::Mode rmode) |
Node * | Projection (int index, Node *a) |
Node * | Load (MachineType rep, Node *base, LoadSensitivity needs_poisoning=LoadSensitivity::kSafe) |
Node * | Load (MachineType rep, Node *base, Node *index, LoadSensitivity needs_poisoning=LoadSensitivity::kSafe) |
Node * | Store (MachineRepresentation rep, Node *base, Node *value, WriteBarrierKind write_barrier) |
Node * | Store (MachineRepresentation rep, Node *base, Node *index, Node *value, WriteBarrierKind write_barrier) |
Node * | Retain (Node *value) |
Node * | UnalignedLoad (MachineType type, Node *base) |
Node * | UnalignedLoad (MachineType type, Node *base, Node *index) |
Node * | UnalignedStore (MachineRepresentation rep, Node *base, Node *value) |
Node * | UnalignedStore (MachineRepresentation rep, Node *base, Node *index, Node *value) |
Node * | AtomicLoad (MachineType type, Node *base, Node *index) |
Node * | AtomicStore (MachineRepresentation rep, Node *base, Node *index, Node *value, Node *value_high) |
ATOMIC_FUNCTION (Exchange) | |
ATOMIC_FUNCTION (Add) | |
ATOMIC_FUNCTION (Sub) | |
ATOMIC_FUNCTION (And) | |
ATOMIC_FUNCTION (Or) | |
ATOMIC_FUNCTION (Xor) | |
Node * | AtomicCompareExchange (MachineType rep, Node *base, Node *index, Node *old_value, Node *old_value_high, Node *new_value, Node *new_value_high) |
Node * | SpeculationFence () |
Node * | WordAnd (Node *a, Node *b) |
Node * | WordOr (Node *a, Node *b) |
Node * | WordXor (Node *a, Node *b) |
Node * | WordShl (Node *a, Node *b) |
Node * | WordShr (Node *a, Node *b) |
Node * | WordSar (Node *a, Node *b) |
Node * | WordRor (Node *a, Node *b) |
Node * | WordEqual (Node *a, Node *b) |
Node * | WordNotEqual (Node *a, Node *b) |
Node * | WordNot (Node *a) |
Node * | Word32And (Node *a, Node *b) |
Node * | Word32Or (Node *a, Node *b) |
Node * | Word32Xor (Node *a, Node *b) |
Node * | Word32Shl (Node *a, Node *b) |
Node * | Word32Shr (Node *a, Node *b) |
Node * | Word32Sar (Node *a, Node *b) |
Node * | Word32Ror (Node *a, Node *b) |
Node * | Word32Clz (Node *a) |
Node * | Word32Equal (Node *a, Node *b) |
Node * | Word32NotEqual (Node *a, Node *b) |
Node * | Word32BitwiseNot (Node *a) |
Node * | Word32BinaryNot (Node *a) |
Node * | Word64And (Node *a, Node *b) |
Node * | Word64Or (Node *a, Node *b) |
Node * | Word64Xor (Node *a, Node *b) |
Node * | Word64Shl (Node *a, Node *b) |
Node * | Word64Shr (Node *a, Node *b) |
Node * | Word64Sar (Node *a, Node *b) |
Node * | Word64Ror (Node *a, Node *b) |
Node * | Word64Clz (Node *a) |
Node * | Word64Equal (Node *a, Node *b) |
Node * | Word64NotEqual (Node *a, Node *b) |
Node * | Word64Not (Node *a) |
Node * | Int32Add (Node *a, Node *b) |
Node * | Int32AddWithOverflow (Node *a, Node *b) |
Node * | Int32Sub (Node *a, Node *b) |
Node * | Int32SubWithOverflow (Node *a, Node *b) |
Node * | Int32Mul (Node *a, Node *b) |
Node * | Int32MulHigh (Node *a, Node *b) |
Node * | Int32MulWithOverflow (Node *a, Node *b) |
Node * | Int32Div (Node *a, Node *b) |
Node * | Int32Mod (Node *a, Node *b) |
Node * | Int32LessThan (Node *a, Node *b) |
Node * | Int32LessThanOrEqual (Node *a, Node *b) |
Node * | Uint32Div (Node *a, Node *b) |
Node * | Uint32LessThan (Node *a, Node *b) |
Node * | Uint32LessThanOrEqual (Node *a, Node *b) |
Node * | Uint32Mod (Node *a, Node *b) |
Node * | Uint32MulHigh (Node *a, Node *b) |
Node * | Int32GreaterThan (Node *a, Node *b) |
Node * | Int32GreaterThanOrEqual (Node *a, Node *b) |
Node * | Uint32GreaterThan (Node *a, Node *b) |
Node * | Uint32GreaterThanOrEqual (Node *a, Node *b) |
Node * | Int32Neg (Node *a) |
Node * | Int64Add (Node *a, Node *b) |
Node * | Int64AddWithOverflow (Node *a, Node *b) |
Node * | Int64Sub (Node *a, Node *b) |
Node * | Int64SubWithOverflow (Node *a, Node *b) |
Node * | Int64Mul (Node *a, Node *b) |
Node * | Int64Div (Node *a, Node *b) |
Node * | Int64Mod (Node *a, Node *b) |
Node * | Int64Neg (Node *a) |
Node * | Int64LessThan (Node *a, Node *b) |
Node * | Int64LessThanOrEqual (Node *a, Node *b) |
Node * | Uint64LessThan (Node *a, Node *b) |
Node * | Uint64LessThanOrEqual (Node *a, Node *b) |
Node * | Int64GreaterThan (Node *a, Node *b) |
Node * | Int64GreaterThanOrEqual (Node *a, Node *b) |
Node * | Uint64GreaterThan (Node *a, Node *b) |
Node * | Uint64GreaterThanOrEqual (Node *a, Node *b) |
Node * | Uint64Div (Node *a, Node *b) |
Node * | Uint64Mod (Node *a, Node *b) |
Node * | Int32PairAdd (Node *a_low, Node *a_high, Node *b_low, Node *b_high) |
Node * | Int32PairSub (Node *a_low, Node *a_high, Node *b_low, Node *b_high) |
Node * | Int32PairMul (Node *a_low, Node *a_high, Node *b_low, Node *b_high) |
Node * | Word32PairShl (Node *low_word, Node *high_word, Node *shift) |
Node * | Word32PairShr (Node *low_word, Node *high_word, Node *shift) |
Node * | Word32PairSar (Node *low_word, Node *high_word, Node *shift) |
INTPTR_BINOP (Int, Add) | |
INTPTR_BINOP (Int, AddWithOverflow) | |
INTPTR_BINOP (Int, Sub) | |
INTPTR_BINOP (Int, SubWithOverflow) | |
INTPTR_BINOP (Int, Mul) | |
INTPTR_BINOP (Int, Div) | |
INTPTR_BINOP (Int, LessThan) | |
INTPTR_BINOP (Int, LessThanOrEqual) | |
INTPTR_BINOP (Word, Equal) | |
INTPTR_BINOP (Word, NotEqual) | |
INTPTR_BINOP (Int, GreaterThanOrEqual) | |
INTPTR_BINOP (Int, GreaterThan) | |
UINTPTR_BINOP (Uint, LessThan) | |
UINTPTR_BINOP (Uint, LessThanOrEqual) | |
UINTPTR_BINOP (Uint, GreaterThanOrEqual) | |
UINTPTR_BINOP (Uint, GreaterThan) | |
Node * | Int32AbsWithOverflow (Node *a) |
Node * | Int64AbsWithOverflow (Node *a) |
Node * | IntPtrAbsWithOverflow (Node *a) |
Node * | Float32Add (Node *a, Node *b) |
Node * | Float32Sub (Node *a, Node *b) |
Node * | Float32Mul (Node *a, Node *b) |
Node * | Float32Div (Node *a, Node *b) |
Node * | Float32Abs (Node *a) |
Node * | Float32Neg (Node *a) |
Node * | Float32Sqrt (Node *a) |
Node * | Float32Equal (Node *a, Node *b) |
Node * | Float32NotEqual (Node *a, Node *b) |
Node * | Float32LessThan (Node *a, Node *b) |
Node * | Float32LessThanOrEqual (Node *a, Node *b) |
Node * | Float32GreaterThan (Node *a, Node *b) |
Node * | Float32GreaterThanOrEqual (Node *a, Node *b) |
Node * | Float32Max (Node *a, Node *b) |
Node * | Float32Min (Node *a, Node *b) |
Node * | Float64Add (Node *a, Node *b) |
Node * | Float64Sub (Node *a, Node *b) |
Node * | Float64Mul (Node *a, Node *b) |
Node * | Float64Div (Node *a, Node *b) |
Node * | Float64Mod (Node *a, Node *b) |
Node * | Float64Max (Node *a, Node *b) |
Node * | Float64Min (Node *a, Node *b) |
Node * | Float64Abs (Node *a) |
Node * | Float64Neg (Node *a) |
Node * | Float64Acos (Node *a) |
Node * | Float64Acosh (Node *a) |
Node * | Float64Asin (Node *a) |
Node * | Float64Asinh (Node *a) |
Node * | Float64Atan (Node *a) |
Node * | Float64Atanh (Node *a) |
Node * | Float64Atan2 (Node *a, Node *b) |
Node * | Float64Cbrt (Node *a) |
Node * | Float64Cos (Node *a) |
Node * | Float64Cosh (Node *a) |
Node * | Float64Exp (Node *a) |
Node * | Float64Expm1 (Node *a) |
Node * | Float64Log (Node *a) |
Node * | Float64Log1p (Node *a) |
Node * | Float64Log10 (Node *a) |
Node * | Float64Log2 (Node *a) |
Node * | Float64Pow (Node *a, Node *b) |
Node * | Float64Sin (Node *a) |
Node * | Float64Sinh (Node *a) |
Node * | Float64Sqrt (Node *a) |
Node * | Float64Tan (Node *a) |
Node * | Float64Tanh (Node *a) |
Node * | Float64Equal (Node *a, Node *b) |
Node * | Float64NotEqual (Node *a, Node *b) |
Node * | Float64LessThan (Node *a, Node *b) |
Node * | Float64LessThanOrEqual (Node *a, Node *b) |
Node * | Float64GreaterThan (Node *a, Node *b) |
Node * | Float64GreaterThanOrEqual (Node *a, Node *b) |
Node * | BitcastTaggedToWord (Node *a) |
Node * | BitcastMaybeObjectToWord (Node *a) |
Node * | BitcastWordToTagged (Node *a) |
Node * | BitcastWordToTaggedSigned (Node *a) |
Node * | TruncateFloat64ToWord32 (Node *a) |
Node * | ChangeFloat32ToFloat64 (Node *a) |
Node * | ChangeInt32ToFloat64 (Node *a) |
Node * | ChangeInt64ToFloat64 (Node *a) |
Node * | ChangeUint32ToFloat64 (Node *a) |
Node * | ChangeFloat64ToInt32 (Node *a) |
Node * | ChangeFloat64ToInt64 (Node *a) |
Node * | ChangeFloat64ToUint32 (Node *a) |
Node * | ChangeFloat64ToUint64 (Node *a) |
Node * | TruncateFloat64ToUint32 (Node *a) |
Node * | TruncateFloat32ToInt32 (Node *a) |
Node * | TruncateFloat32ToUint32 (Node *a) |
Node * | TryTruncateFloat32ToInt64 (Node *a) |
Node * | TryTruncateFloat64ToInt64 (Node *a) |
Node * | TryTruncateFloat32ToUint64 (Node *a) |
Node * | TryTruncateFloat64ToUint64 (Node *a) |
Node * | ChangeInt32ToInt64 (Node *a) |
Node * | ChangeUint32ToUint64 (Node *a) |
Node * | TruncateFloat64ToFloat32 (Node *a) |
Node * | TruncateInt64ToInt32 (Node *a) |
Node * | RoundFloat64ToInt32 (Node *a) |
Node * | RoundInt32ToFloat32 (Node *a) |
Node * | RoundInt64ToFloat32 (Node *a) |
Node * | RoundInt64ToFloat64 (Node *a) |
Node * | RoundUint32ToFloat32 (Node *a) |
Node * | RoundUint64ToFloat32 (Node *a) |
Node * | RoundUint64ToFloat64 (Node *a) |
Node * | BitcastFloat32ToInt32 (Node *a) |
Node * | BitcastFloat64ToInt64 (Node *a) |
Node * | BitcastInt32ToFloat32 (Node *a) |
Node * | BitcastInt64ToFloat64 (Node *a) |
Node * | Float32RoundDown (Node *a) |
Node * | Float64RoundDown (Node *a) |
Node * | Float32RoundUp (Node *a) |
Node * | Float64RoundUp (Node *a) |
Node * | Float32RoundTruncate (Node *a) |
Node * | Float64RoundTruncate (Node *a) |
Node * | Float64RoundTiesAway (Node *a) |
Node * | Float32RoundTiesEven (Node *a) |
Node * | Float64RoundTiesEven (Node *a) |
Node * | Word32ReverseBytes (Node *a) |
Node * | Word64ReverseBytes (Node *a) |
Node * | Float64ExtractLowWord32 (Node *a) |
Node * | Float64ExtractHighWord32 (Node *a) |
Node * | Float64InsertLowWord32 (Node *a, Node *b) |
Node * | Float64InsertHighWord32 (Node *a, Node *b) |
Node * | Float64SilenceNaN (Node *a) |
Node * | LoadStackPointer () |
Node * | LoadFramePointer () |
Node * | LoadParentFramePointer () |
Node * | TargetParameter () |
Node * | Parameter (size_t index) |
Node * | LoadFromPointer (void *address, MachineType rep, int32_t offset=0) |
Node * | StoreToPointer (void *address, MachineRepresentation rep, Node *node) |
Node * | UnalignedLoadFromPointer (void *address, MachineType rep, int32_t offset=0) |
Node * | UnalignedStoreToPointer (void *address, MachineRepresentation rep, Node *node) |
Node * | StringConstant (const char *string) |
Node * | TaggedPoisonOnSpeculation (Node *value) |
Node * | WordPoisonOnSpeculation (Node *value) |
Node * | CallN (CallDescriptor *call_descriptor, int input_count, Node *const *inputs) |
Node * | CallNWithFrameState (CallDescriptor *call_descriptor, int input_count, Node *const *inputs) |
Node * | TailCallN (CallDescriptor *call_descriptor, int input_count, Node *const *inputs) |
Node * | CallCFunction0 (MachineType return_type, Node *function) |
Node * | CallCFunction1 (MachineType return_type, MachineType arg0_type, Node *function, Node *arg0) |
Node * | CallCFunction1WithCallerSavedRegisters (MachineType return_type, MachineType arg0_type, Node *function, Node *arg0, SaveFPRegsMode mode=kSaveFPRegs) |
Node * | CallCFunction2 (MachineType return_type, MachineType arg0_type, MachineType arg1_type, Node *function, Node *arg0, Node *arg1) |
Node * | CallCFunction3 (MachineType return_type, MachineType arg0_type, MachineType arg1_type, MachineType arg2_type, Node *function, Node *arg0, Node *arg1, Node *arg2) |
Node * | CallCFunction3WithCallerSavedRegisters (MachineType return_type, MachineType arg0_type, MachineType arg1_type, MachineType arg2_type, Node *function, Node *arg0, Node *arg1, Node *arg2, SaveFPRegsMode mode=kSaveFPRegs) |
Node * | CallCFunction4 (MachineType return_type, MachineType arg0_type, MachineType arg1_type, MachineType arg2_type, MachineType arg3_type, Node *function, Node *arg0, Node *arg1, Node *arg2, Node *arg3) |
Node * | CallCFunction5 (MachineType return_type, MachineType arg0_type, MachineType arg1_type, MachineType arg2_type, MachineType arg3_type, MachineType arg4_type, Node *function, Node *arg0, Node *arg1, Node *arg2, Node *arg3, Node *arg4) |
Node * | CallCFunction6 (MachineType return_type, MachineType arg0_type, MachineType arg1_type, MachineType arg2_type, MachineType arg3_type, MachineType arg4_type, MachineType arg5_type, Node *function, Node *arg0, Node *arg1, Node *arg2, Node *arg3, Node *arg4, Node *arg5) |
Node * | CallCFunction8 (MachineType return_type, MachineType arg0_type, MachineType arg1_type, MachineType arg2_type, MachineType arg3_type, MachineType arg4_type, MachineType arg5_type, MachineType arg6_type, MachineType arg7_type, Node *function, Node *arg0, Node *arg1, Node *arg2, Node *arg3, Node *arg4, Node *arg5, Node *arg6, Node *arg7) |
Node * | CallCFunction9 (MachineType return_type, MachineType arg0_type, MachineType arg1_type, MachineType arg2_type, MachineType arg3_type, MachineType arg4_type, MachineType arg5_type, MachineType arg6_type, MachineType arg7_type, MachineType arg8_type, Node *function, Node *arg0, Node *arg1, Node *arg2, Node *arg3, Node *arg4, Node *arg5, Node *arg6, Node *arg7, Node *arg8) |
void | Goto (RawMachineLabel *label) |
void | Branch (Node *condition, RawMachineLabel *true_val, RawMachineLabel *false_val) |
void | Switch (Node *index, RawMachineLabel *default_label, const int32_t *case_values, RawMachineLabel **case_labels, size_t case_count) |
void | Return (Node *value) |
void | Return (Node *v1, Node *v2) |
void | Return (Node *v1, Node *v2, Node *v3) |
void | Return (Node *v1, Node *v2, Node *v3, Node *v4) |
void | Return (int count, Node *v[]) |
void | PopAndReturn (Node *pop, Node *value) |
void | PopAndReturn (Node *pop, Node *v1, Node *v2) |
void | PopAndReturn (Node *pop, Node *v1, Node *v2, Node *v3) |
void | PopAndReturn (Node *pop, Node *v1, Node *v2, Node *v3, Node *v4) |
void | Bind (RawMachineLabel *label) |
void | Deoptimize (Node *state) |
void | DebugAbort (Node *message) |
void | DebugBreak () |
void | Unreachable () |
void | Comment (const char *msg) |
bool | InsideBlock () |
void | Continuations (Node *call, RawMachineLabel *if_success, RawMachineLabel *if_exception) |
Node * | Phi (MachineRepresentation rep, Node *n1, Node *n2) |
Node * | Phi (MachineRepresentation rep, Node *n1, Node *n2, Node *n3) |
Node * | Phi (MachineRepresentation rep, Node *n1, Node *n2, Node *n3, Node *n4) |
Node * | Phi (MachineRepresentation rep, int input_count, Node *const *inputs) |
void | AppendPhiInput (Node *phi, Node *new_input) |
Node * | AddNode (const Operator *op, int input_count, Node *const *inputs) |
Node * | AddNode (const Operator *op) |
template<class... TArgs> | |
Node * | AddNode (const Operator *op, Node *n1, TArgs... args) |
Definition at line 38 of file raw-machine-assembler.h.