V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
v8::internal::compiler::RawMachineAssembler Class Reference

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)
 
Isolateisolate () const
 
Graphgraph () const
 
Zonezone () const
 
MachineOperatorBuildermachine ()
 
CommonOperatorBuildercommon ()
 
CallDescriptorcall_descriptor () const
 
PoisoningMitigationLevel poisoning_level () const
 
ScheduleExport ()
 
GraphExportForOptimization ()
 
NodeNullConstant ()
 
NodeUndefinedConstant ()
 
NodePointerConstant (void *value)
 
NodeIntPtrConstant (intptr_t value)
 
NodeRelocatableIntPtrConstant (intptr_t value, RelocInfo::Mode rmode)
 
NodeInt32Constant (int32_t value)
 
NodeStackSlot (MachineRepresentation rep, int alignment=0)
 
NodeInt64Constant (int64_t value)
 
NodeNumberConstant (double value)
 
NodeFloat32Constant (float value)
 
NodeFloat64Constant (double value)
 
NodeHeapConstant (Handle< HeapObject > object)
 
NodeExternalConstant (ExternalReference address)
 
NodeRelocatableInt32Constant (int32_t value, RelocInfo::Mode rmode)
 
NodeRelocatableInt64Constant (int64_t value, RelocInfo::Mode rmode)
 
NodeProjection (int index, Node *a)
 
NodeLoad (MachineType rep, Node *base, LoadSensitivity needs_poisoning=LoadSensitivity::kSafe)
 
NodeLoad (MachineType rep, Node *base, Node *index, LoadSensitivity needs_poisoning=LoadSensitivity::kSafe)
 
NodeStore (MachineRepresentation rep, Node *base, Node *value, WriteBarrierKind write_barrier)
 
NodeStore (MachineRepresentation rep, Node *base, Node *index, Node *value, WriteBarrierKind write_barrier)
 
NodeRetain (Node *value)
 
NodeUnalignedLoad (MachineType type, Node *base)
 
NodeUnalignedLoad (MachineType type, Node *base, Node *index)
 
NodeUnalignedStore (MachineRepresentation rep, Node *base, Node *value)
 
NodeUnalignedStore (MachineRepresentation rep, Node *base, Node *index, Node *value)
 
NodeAtomicLoad (MachineType type, Node *base, Node *index)
 
NodeAtomicStore (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)
 
NodeAtomicCompareExchange (MachineType rep, Node *base, Node *index, Node *old_value, Node *old_value_high, Node *new_value, Node *new_value_high)
 
NodeSpeculationFence ()
 
NodeWordAnd (Node *a, Node *b)
 
NodeWordOr (Node *a, Node *b)
 
NodeWordXor (Node *a, Node *b)
 
NodeWordShl (Node *a, Node *b)
 
NodeWordShr (Node *a, Node *b)
 
NodeWordSar (Node *a, Node *b)
 
NodeWordRor (Node *a, Node *b)
 
NodeWordEqual (Node *a, Node *b)
 
NodeWordNotEqual (Node *a, Node *b)
 
NodeWordNot (Node *a)
 
NodeWord32And (Node *a, Node *b)
 
NodeWord32Or (Node *a, Node *b)
 
NodeWord32Xor (Node *a, Node *b)
 
NodeWord32Shl (Node *a, Node *b)
 
NodeWord32Shr (Node *a, Node *b)
 
NodeWord32Sar (Node *a, Node *b)
 
NodeWord32Ror (Node *a, Node *b)
 
NodeWord32Clz (Node *a)
 
NodeWord32Equal (Node *a, Node *b)
 
NodeWord32NotEqual (Node *a, Node *b)
 
NodeWord32BitwiseNot (Node *a)
 
NodeWord32BinaryNot (Node *a)
 
NodeWord64And (Node *a, Node *b)
 
NodeWord64Or (Node *a, Node *b)
 
NodeWord64Xor (Node *a, Node *b)
 
NodeWord64Shl (Node *a, Node *b)
 
NodeWord64Shr (Node *a, Node *b)
 
NodeWord64Sar (Node *a, Node *b)
 
NodeWord64Ror (Node *a, Node *b)
 
NodeWord64Clz (Node *a)
 
NodeWord64Equal (Node *a, Node *b)
 
NodeWord64NotEqual (Node *a, Node *b)
 
NodeWord64Not (Node *a)
 
NodeInt32Add (Node *a, Node *b)
 
NodeInt32AddWithOverflow (Node *a, Node *b)
 
NodeInt32Sub (Node *a, Node *b)
 
NodeInt32SubWithOverflow (Node *a, Node *b)
 
NodeInt32Mul (Node *a, Node *b)
 
NodeInt32MulHigh (Node *a, Node *b)
 
NodeInt32MulWithOverflow (Node *a, Node *b)
 
NodeInt32Div (Node *a, Node *b)
 
NodeInt32Mod (Node *a, Node *b)
 
NodeInt32LessThan (Node *a, Node *b)
 
NodeInt32LessThanOrEqual (Node *a, Node *b)
 
NodeUint32Div (Node *a, Node *b)
 
NodeUint32LessThan (Node *a, Node *b)
 
NodeUint32LessThanOrEqual (Node *a, Node *b)
 
NodeUint32Mod (Node *a, Node *b)
 
NodeUint32MulHigh (Node *a, Node *b)
 
NodeInt32GreaterThan (Node *a, Node *b)
 
NodeInt32GreaterThanOrEqual (Node *a, Node *b)
 
NodeUint32GreaterThan (Node *a, Node *b)
 
NodeUint32GreaterThanOrEqual (Node *a, Node *b)
 
NodeInt32Neg (Node *a)
 
NodeInt64Add (Node *a, Node *b)
 
NodeInt64AddWithOverflow (Node *a, Node *b)
 
NodeInt64Sub (Node *a, Node *b)
 
NodeInt64SubWithOverflow (Node *a, Node *b)
 
NodeInt64Mul (Node *a, Node *b)
 
NodeInt64Div (Node *a, Node *b)
 
NodeInt64Mod (Node *a, Node *b)
 
NodeInt64Neg (Node *a)
 
NodeInt64LessThan (Node *a, Node *b)
 
NodeInt64LessThanOrEqual (Node *a, Node *b)
 
NodeUint64LessThan (Node *a, Node *b)
 
NodeUint64LessThanOrEqual (Node *a, Node *b)
 
NodeInt64GreaterThan (Node *a, Node *b)
 
NodeInt64GreaterThanOrEqual (Node *a, Node *b)
 
NodeUint64GreaterThan (Node *a, Node *b)
 
NodeUint64GreaterThanOrEqual (Node *a, Node *b)
 
NodeUint64Div (Node *a, Node *b)
 
NodeUint64Mod (Node *a, Node *b)
 
NodeInt32PairAdd (Node *a_low, Node *a_high, Node *b_low, Node *b_high)
 
NodeInt32PairSub (Node *a_low, Node *a_high, Node *b_low, Node *b_high)
 
NodeInt32PairMul (Node *a_low, Node *a_high, Node *b_low, Node *b_high)
 
NodeWord32PairShl (Node *low_word, Node *high_word, Node *shift)
 
NodeWord32PairShr (Node *low_word, Node *high_word, Node *shift)
 
NodeWord32PairSar (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)
 
NodeInt32AbsWithOverflow (Node *a)
 
NodeInt64AbsWithOverflow (Node *a)
 
NodeIntPtrAbsWithOverflow (Node *a)
 
NodeFloat32Add (Node *a, Node *b)
 
NodeFloat32Sub (Node *a, Node *b)
 
NodeFloat32Mul (Node *a, Node *b)
 
NodeFloat32Div (Node *a, Node *b)
 
NodeFloat32Abs (Node *a)
 
NodeFloat32Neg (Node *a)
 
NodeFloat32Sqrt (Node *a)
 
NodeFloat32Equal (Node *a, Node *b)
 
NodeFloat32NotEqual (Node *a, Node *b)
 
NodeFloat32LessThan (Node *a, Node *b)
 
NodeFloat32LessThanOrEqual (Node *a, Node *b)
 
NodeFloat32GreaterThan (Node *a, Node *b)
 
NodeFloat32GreaterThanOrEqual (Node *a, Node *b)
 
NodeFloat32Max (Node *a, Node *b)
 
NodeFloat32Min (Node *a, Node *b)
 
NodeFloat64Add (Node *a, Node *b)
 
NodeFloat64Sub (Node *a, Node *b)
 
NodeFloat64Mul (Node *a, Node *b)
 
NodeFloat64Div (Node *a, Node *b)
 
NodeFloat64Mod (Node *a, Node *b)
 
NodeFloat64Max (Node *a, Node *b)
 
NodeFloat64Min (Node *a, Node *b)
 
NodeFloat64Abs (Node *a)
 
NodeFloat64Neg (Node *a)
 
NodeFloat64Acos (Node *a)
 
NodeFloat64Acosh (Node *a)
 
NodeFloat64Asin (Node *a)
 
NodeFloat64Asinh (Node *a)
 
NodeFloat64Atan (Node *a)
 
NodeFloat64Atanh (Node *a)
 
NodeFloat64Atan2 (Node *a, Node *b)
 
NodeFloat64Cbrt (Node *a)
 
NodeFloat64Cos (Node *a)
 
NodeFloat64Cosh (Node *a)
 
NodeFloat64Exp (Node *a)
 
NodeFloat64Expm1 (Node *a)
 
NodeFloat64Log (Node *a)
 
NodeFloat64Log1p (Node *a)
 
NodeFloat64Log10 (Node *a)
 
NodeFloat64Log2 (Node *a)
 
NodeFloat64Pow (Node *a, Node *b)
 
NodeFloat64Sin (Node *a)
 
NodeFloat64Sinh (Node *a)
 
NodeFloat64Sqrt (Node *a)
 
NodeFloat64Tan (Node *a)
 
NodeFloat64Tanh (Node *a)
 
NodeFloat64Equal (Node *a, Node *b)
 
NodeFloat64NotEqual (Node *a, Node *b)
 
NodeFloat64LessThan (Node *a, Node *b)
 
NodeFloat64LessThanOrEqual (Node *a, Node *b)
 
NodeFloat64GreaterThan (Node *a, Node *b)
 
NodeFloat64GreaterThanOrEqual (Node *a, Node *b)
 
NodeBitcastTaggedToWord (Node *a)
 
NodeBitcastMaybeObjectToWord (Node *a)
 
NodeBitcastWordToTagged (Node *a)
 
NodeBitcastWordToTaggedSigned (Node *a)
 
NodeTruncateFloat64ToWord32 (Node *a)
 
NodeChangeFloat32ToFloat64 (Node *a)
 
NodeChangeInt32ToFloat64 (Node *a)
 
NodeChangeInt64ToFloat64 (Node *a)
 
NodeChangeUint32ToFloat64 (Node *a)
 
NodeChangeFloat64ToInt32 (Node *a)
 
NodeChangeFloat64ToInt64 (Node *a)
 
NodeChangeFloat64ToUint32 (Node *a)
 
NodeChangeFloat64ToUint64 (Node *a)
 
NodeTruncateFloat64ToUint32 (Node *a)
 
NodeTruncateFloat32ToInt32 (Node *a)
 
NodeTruncateFloat32ToUint32 (Node *a)
 
NodeTryTruncateFloat32ToInt64 (Node *a)
 
NodeTryTruncateFloat64ToInt64 (Node *a)
 
NodeTryTruncateFloat32ToUint64 (Node *a)
 
NodeTryTruncateFloat64ToUint64 (Node *a)
 
NodeChangeInt32ToInt64 (Node *a)
 
NodeChangeUint32ToUint64 (Node *a)
 
NodeTruncateFloat64ToFloat32 (Node *a)
 
NodeTruncateInt64ToInt32 (Node *a)
 
NodeRoundFloat64ToInt32 (Node *a)
 
NodeRoundInt32ToFloat32 (Node *a)
 
NodeRoundInt64ToFloat32 (Node *a)
 
NodeRoundInt64ToFloat64 (Node *a)
 
NodeRoundUint32ToFloat32 (Node *a)
 
NodeRoundUint64ToFloat32 (Node *a)
 
NodeRoundUint64ToFloat64 (Node *a)
 
NodeBitcastFloat32ToInt32 (Node *a)
 
NodeBitcastFloat64ToInt64 (Node *a)
 
NodeBitcastInt32ToFloat32 (Node *a)
 
NodeBitcastInt64ToFloat64 (Node *a)
 
NodeFloat32RoundDown (Node *a)
 
NodeFloat64RoundDown (Node *a)
 
NodeFloat32RoundUp (Node *a)
 
NodeFloat64RoundUp (Node *a)
 
NodeFloat32RoundTruncate (Node *a)
 
NodeFloat64RoundTruncate (Node *a)
 
NodeFloat64RoundTiesAway (Node *a)
 
NodeFloat32RoundTiesEven (Node *a)
 
NodeFloat64RoundTiesEven (Node *a)
 
NodeWord32ReverseBytes (Node *a)
 
NodeWord64ReverseBytes (Node *a)
 
NodeFloat64ExtractLowWord32 (Node *a)
 
NodeFloat64ExtractHighWord32 (Node *a)
 
NodeFloat64InsertLowWord32 (Node *a, Node *b)
 
NodeFloat64InsertHighWord32 (Node *a, Node *b)
 
NodeFloat64SilenceNaN (Node *a)
 
NodeLoadStackPointer ()
 
NodeLoadFramePointer ()
 
NodeLoadParentFramePointer ()
 
NodeTargetParameter ()
 
NodeParameter (size_t index)
 
NodeLoadFromPointer (void *address, MachineType rep, int32_t offset=0)
 
NodeStoreToPointer (void *address, MachineRepresentation rep, Node *node)
 
NodeUnalignedLoadFromPointer (void *address, MachineType rep, int32_t offset=0)
 
NodeUnalignedStoreToPointer (void *address, MachineRepresentation rep, Node *node)
 
NodeStringConstant (const char *string)
 
NodeTaggedPoisonOnSpeculation (Node *value)
 
NodeWordPoisonOnSpeculation (Node *value)
 
NodeCallN (CallDescriptor *call_descriptor, int input_count, Node *const *inputs)
 
NodeCallNWithFrameState (CallDescriptor *call_descriptor, int input_count, Node *const *inputs)
 
NodeTailCallN (CallDescriptor *call_descriptor, int input_count, Node *const *inputs)
 
NodeCallCFunction0 (MachineType return_type, Node *function)
 
NodeCallCFunction1 (MachineType return_type, MachineType arg0_type, Node *function, Node *arg0)
 
NodeCallCFunction1WithCallerSavedRegisters (MachineType return_type, MachineType arg0_type, Node *function, Node *arg0, SaveFPRegsMode mode=kSaveFPRegs)
 
NodeCallCFunction2 (MachineType return_type, MachineType arg0_type, MachineType arg1_type, Node *function, Node *arg0, Node *arg1)
 
NodeCallCFunction3 (MachineType return_type, MachineType arg0_type, MachineType arg1_type, MachineType arg2_type, Node *function, Node *arg0, Node *arg1, Node *arg2)
 
NodeCallCFunction3WithCallerSavedRegisters (MachineType return_type, MachineType arg0_type, MachineType arg1_type, MachineType arg2_type, Node *function, Node *arg0, Node *arg1, Node *arg2, SaveFPRegsMode mode=kSaveFPRegs)
 
NodeCallCFunction4 (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)
 
NodeCallCFunction5 (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)
 
NodeCallCFunction6 (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)
 
NodeCallCFunction8 (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)
 
NodeCallCFunction9 (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)
 
NodePhi (MachineRepresentation rep, Node *n1, Node *n2)
 
NodePhi (MachineRepresentation rep, Node *n1, Node *n2, Node *n3)
 
NodePhi (MachineRepresentation rep, Node *n1, Node *n2, Node *n3, Node *n4)
 
NodePhi (MachineRepresentation rep, int input_count, Node *const *inputs)
 
void AppendPhiInput (Node *phi, Node *new_input)
 
NodeAddNode (const Operator *op, int input_count, Node *const *inputs)
 
NodeAddNode (const Operator *op)
 
template<class... TArgs>
NodeAddNode (const Operator *op, Node *n1, TArgs... args)
 

Detailed Description

Definition at line 38 of file raw-machine-assembler.h.


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