|
| CodeAssembler (CodeAssemblerState *state) |
|
bool | Is64 () const |
|
bool | IsFloat64RoundUpSupported () const |
|
bool | IsFloat64RoundDownSupported () const |
|
bool | IsFloat64RoundTiesEvenSupported () const |
|
bool | IsFloat64RoundTruncateSupported () const |
|
bool | IsInt32AbsWithOverflowSupported () const |
|
bool | IsInt64AbsWithOverflowSupported () const |
|
bool | IsIntPtrAbsWithOverflowSupported () const |
|
template<class T > |
TNode< T > | UncheckedCast (Node *value) |
|
template<class T , class U > |
TNode< T > | UncheckedCast (TNode< U > value) |
|
template<class T > |
TNode< T > | ReinterpretCast (Node *value) |
|
CheckedNode< Object, false > | Cast (Node *value, const char *location="") |
|
template<class T > |
CheckedNode< T, true > | Cast (TNode< T > value, const char *location="") |
|
TNode< Int32T > | Int32Constant (int32_t value) |
|
TNode< Int64T > | Int64Constant (int64_t value) |
|
TNode< IntPtrT > | IntPtrConstant (intptr_t value) |
|
TNode< Uint32T > | Uint32Constant (uint32_t value) |
|
TNode< UintPtrT > | UintPtrConstant (uintptr_t value) |
|
TNode< Number > | NumberConstant (double value) |
|
TNode< Smi > | SmiConstant (Smi value) |
|
TNode< Smi > | SmiConstant (int value) |
|
template<typename E , typename = typename std::enable_if<std::is_enum<E>::value>::type> |
TNode< Smi > | SmiConstant (E value) |
|
TNode< HeapObject > | UntypedHeapConstant (Handle< HeapObject > object) |
|
template<class Type > |
TNode< Type > | HeapConstant (Handle< Type > object) |
|
TNode< String > | StringConstant (const char *str) |
|
TNode< Oddball > | BooleanConstant (bool value) |
|
TNode< ExternalReference > | ExternalConstant (ExternalReference address) |
|
TNode< Float64T > | Float64Constant (double value) |
|
TNode< HeapNumber > | NaNConstant () |
|
TNode< BoolT > | Int32TrueConstant () |
|
TNode< BoolT > | Int32FalseConstant () |
|
TNode< BoolT > | BoolConstant (bool value) |
|
bool | ToInt32Constant (Node *node, int32_t &out_value) |
|
bool | ToInt64Constant (Node *node, int64_t &out_value) |
|
bool | ToSmiConstant (Node *node, Smi *out_value) |
|
bool | ToIntPtrConstant (Node *node, intptr_t &out_value) |
|
bool | IsUndefinedConstant (TNode< Object > node) |
|
bool | IsNullConstant (TNode< Object > node) |
|
TNode< Int32T > | Signed (TNode< Word32T > x) |
|
TNode< IntPtrT > | Signed (TNode< WordT > x) |
|
TNode< Uint32T > | Unsigned (TNode< Word32T > x) |
|
TNode< UintPtrT > | Unsigned (TNode< WordT > x) |
|
Node * | Parameter (int value) |
|
TNode< Context > | GetJSContextParameter () |
|
void | Return (SloppyTNode< Object > value) |
|
void | Return (SloppyTNode< Object > value1, SloppyTNode< Object > value2) |
|
void | Return (SloppyTNode< Object > value1, SloppyTNode< Object > value2, SloppyTNode< Object > value3) |
|
void | PopAndReturn (Node *pop, Node *value) |
|
void | ReturnIf (Node *condition, Node *value) |
|
void | ReturnRaw (Node *value) |
|
void | DebugAbort (Node *message) |
|
void | DebugBreak () |
|
void | Unreachable () |
|
void | Comment (const char *format,...) |
|
void | Bind (Label *label) |
|
void | Goto (Label *label) |
|
void | GotoIf (SloppyTNode< IntegralT > condition, Label *true_label) |
|
void | GotoIfNot (SloppyTNode< IntegralT > condition, Label *false_label) |
|
void | Branch (SloppyTNode< IntegralT > condition, Label *true_label, Label *false_label) |
|
template<class T > |
TNode< T > | Uninitialized () |
|
template<class... T> |
void | Bind (CodeAssemblerParameterizedLabel< T... > *label, TNode< T > *... phis) |
|
template<class... T, class... Args> |
void | Branch (TNode< BoolT > condition, CodeAssemblerParameterizedLabel< T... > *if_true, CodeAssemblerParameterizedLabel< T... > *if_false, Args... args) |
|
template<class... T, class... Args> |
void | Goto (CodeAssemblerParameterizedLabel< T... > *label, Args... args) |
|
void | Branch (TNode< BoolT > condition, const std::function< void()> &true_body, const std::function< void()> &false_body) |
|
void | Branch (TNode< BoolT > condition, Label *true_label, const std::function< void()> &false_body) |
|
void | Branch (TNode< BoolT > condition, const std::function< void()> &true_body, Label *false_label) |
|
void | Switch (Node *index, Label *default_label, const int32_t *case_values, Label **case_labels, size_t case_count) |
|
Node * | LoadFramePointer () |
|
Node * | LoadParentFramePointer () |
|
Node * | LoadStackPointer () |
|
TNode< Object > | TaggedPoisonOnSpeculation (SloppyTNode< Object > value) |
|
TNode< WordT > | WordPoisonOnSpeculation (SloppyTNode< WordT > value) |
|
Node * | Load (MachineType rep, Node *base, LoadSensitivity needs_poisoning=LoadSensitivity::kSafe) |
|
template<class Type > |
TNode< Type > | Load (MachineType rep, TNode< RawPtr< Type >> base) |
|
Node * | Load (MachineType rep, Node *base, Node *offset, LoadSensitivity needs_poisoning=LoadSensitivity::kSafe) |
|
Node * | AtomicLoad (MachineType rep, Node *base, Node *offset) |
|
TNode< Object > | LoadRoot (RootIndex root_index) |
|
Node * | Store (Node *base, Node *value) |
|
Node * | Store (Node *base, Node *offset, Node *value) |
|
Node * | StoreWithMapWriteBarrier (Node *base, Node *offset, Node *value) |
|
Node * | StoreNoWriteBarrier (MachineRepresentation rep, Node *base, Node *value) |
|
Node * | StoreNoWriteBarrier (MachineRepresentation rep, Node *base, Node *offset, Node *value) |
|
Node * | AtomicStore (MachineRepresentation rep, Node *base, Node *offset, Node *value, Node *value_high=nullptr) |
|
Node * | AtomicExchange (MachineType type, Node *base, Node *offset, Node *value, Node *value_high=nullptr) |
|
Node * | AtomicCompareExchange (MachineType type, Node *base, Node *offset, Node *old_value, Node *new_value, Node *old_value_high=nullptr, Node *new_value_high=nullptr) |
|
Node * | AtomicAdd (MachineType type, Node *base, Node *offset, Node *value, Node *value_high=nullptr) |
|
Node * | AtomicSub (MachineType type, Node *base, Node *offset, Node *value, Node *value_high=nullptr) |
|
Node * | AtomicAnd (MachineType type, Node *base, Node *offset, Node *value, Node *value_high=nullptr) |
|
Node * | AtomicOr (MachineType type, Node *base, Node *offset, Node *value, Node *value_high=nullptr) |
|
Node * | AtomicXor (MachineType type, Node *base, Node *offset, Node *value, Node *value_high=nullptr) |
|
Node * | StoreRoot (RootIndex root_index, Node *value) |
|
TNode< IntPtrT > | WordShr (TNode< IntPtrT > left, TNode< IntegralT > right) |
|
TNode< IntPtrT > | WordSar (TNode< IntPtrT > left, TNode< IntegralT > right) |
|
TNode< IntPtrT > | WordAnd (TNode< IntPtrT > left, TNode< IntPtrT > right) |
|
template<class Left , class Right , class = typename std::enable_if< (std::is_base_of<Object, Left>::value || std::is_base_of<ObjectPtr, Left>::value) && (std::is_base_of<Object, Right>::value || std::is_base_of<ObjectPtr, Right>::value)>::type> |
TNode< BoolT > | WordEqual (TNode< Left > left, TNode< Right > right) |
|
TNode< BoolT > | WordEqual (TNode< Object > left, Node *right) |
|
TNode< BoolT > | WordEqual (Node *left, TNode< Object > right) |
|
template<class Left , class Right , class = typename std::enable_if< (std::is_base_of<Object, Left>::value || std::is_base_of<ObjectPtr, Left>::value) && (std::is_base_of<Object, Right>::value || std::is_base_of<ObjectPtr, Right>::value)>::type> |
TNode< BoolT > | WordNotEqual (TNode< Left > left, TNode< Right > right) |
|
TNode< BoolT > | WordNotEqual (TNode< Object > left, Node *right) |
|
TNode< BoolT > | WordNotEqual (Node *left, TNode< Object > right) |
|
TNode< BoolT > | IntPtrEqual (SloppyTNode< WordT > left, SloppyTNode< WordT > right) |
|
TNode< BoolT > | WordEqual (SloppyTNode< WordT > left, SloppyTNode< WordT > right) |
|
TNode< BoolT > | WordNotEqual (SloppyTNode< WordT > left, SloppyTNode< WordT > right) |
|
TNode< BoolT > | Word32Equal (SloppyTNode< Word32T > left, SloppyTNode< Word32T > right) |
|
TNode< BoolT > | Word32NotEqual (SloppyTNode< Word32T > left, SloppyTNode< Word32T > right) |
|
TNode< BoolT > | Word64Equal (SloppyTNode< Word64T > left, SloppyTNode< Word64T > right) |
|
TNode< BoolT > | Word64NotEqual (SloppyTNode< Word64T > left, SloppyTNode< Word64T > right) |
|
TNode< Int32T > | Int32Add (TNode< Int32T > left, TNode< Int32T > right) |
|
TNode< Uint32T > | Uint32Add (TNode< Uint32T > left, TNode< Uint32T > right) |
|
TNode< WordT > | IntPtrAdd (SloppyTNode< WordT > left, SloppyTNode< WordT > right) |
|
TNode< IntPtrT > | IntPtrDiv (TNode< IntPtrT > left, TNode< IntPtrT > right) |
|
TNode< WordT > | IntPtrSub (SloppyTNode< WordT > left, SloppyTNode< WordT > right) |
|
TNode< WordT > | IntPtrMul (SloppyTNode< WordT > left, SloppyTNode< WordT > right) |
|
TNode< IntPtrT > | IntPtrAdd (TNode< IntPtrT > left, TNode< IntPtrT > right) |
|
TNode< IntPtrT > | IntPtrSub (TNode< IntPtrT > left, TNode< IntPtrT > right) |
|
TNode< IntPtrT > | IntPtrMul (TNode< IntPtrT > left, TNode< IntPtrT > right) |
|
TNode< UintPtrT > | UintPtrAdd (TNode< UintPtrT > left, TNode< UintPtrT > right) |
|
TNode< UintPtrT > | UintPtrSub (TNode< UintPtrT > left, TNode< UintPtrT > right) |
|
TNode< WordT > | WordShl (SloppyTNode< WordT > value, int shift) |
|
TNode< WordT > | WordShr (SloppyTNode< WordT > value, int shift) |
|
TNode< WordT > | WordSar (SloppyTNode< WordT > value, int shift) |
|
TNode< IntPtrT > | WordShr (TNode< IntPtrT > value, int shift) |
|
TNode< IntPtrT > | WordSar (TNode< IntPtrT > value, int shift) |
|
TNode< Word32T > | Word32Shr (SloppyTNode< Word32T > value, int shift) |
|
TNode< WordT > | WordOr (SloppyTNode< WordT > left, SloppyTNode< WordT > right) |
|
TNode< WordT > | WordAnd (SloppyTNode< WordT > left, SloppyTNode< WordT > right) |
|
TNode< WordT > | WordXor (SloppyTNode< WordT > left, SloppyTNode< WordT > right) |
|
TNode< WordT > | WordShl (SloppyTNode< WordT > left, SloppyTNode< IntegralT > right) |
|
TNode< WordT > | WordShr (SloppyTNode< WordT > left, SloppyTNode< IntegralT > right) |
|
TNode< WordT > | WordSar (SloppyTNode< WordT > left, SloppyTNode< IntegralT > right) |
|
TNode< Word32T > | Word32Or (SloppyTNode< Word32T > left, SloppyTNode< Word32T > right) |
|
TNode< Word32T > | Word32And (SloppyTNode< Word32T > left, SloppyTNode< Word32T > right) |
|
TNode< Word32T > | Word32Xor (SloppyTNode< Word32T > left, SloppyTNode< Word32T > right) |
|
TNode< Word32T > | Word32Shl (SloppyTNode< Word32T > left, SloppyTNode< Word32T > right) |
|
TNode< Word32T > | Word32Shr (SloppyTNode< Word32T > left, SloppyTNode< Word32T > right) |
|
TNode< Word32T > | Word32Sar (SloppyTNode< Word32T > left, SloppyTNode< Word32T > right) |
|
TNode< Word64T > | Word64Or (SloppyTNode< Word64T > left, SloppyTNode< Word64T > right) |
|
TNode< Word64T > | Word64And (SloppyTNode< Word64T > left, SloppyTNode< Word64T > right) |
|
TNode< Word64T > | Word64Xor (SloppyTNode< Word64T > left, SloppyTNode< Word64T > right) |
|
TNode< Word64T > | Word64Shl (SloppyTNode< Word64T > left, SloppyTNode< Word64T > right) |
|
TNode< Word64T > | Word64Shr (SloppyTNode< Word64T > left, SloppyTNode< Word64T > right) |
|
TNode< Word64T > | Word64Sar (SloppyTNode< Word64T > left, SloppyTNode< Word64T > right) |
|
TNode< UintPtrT > | ChangeFloat64ToUintPtr (SloppyTNode< Float64T > value) |
|
TNode< Float64T > | ChangeUintPtrToFloat64 (TNode< UintPtrT > value) |
|
Node * | RoundIntPtrToFloat64 (Node *value) |
|
TNode< UintPtrT > | ChangeUint32ToWord (SloppyTNode< Word32T > value) |
|
TNode< IntPtrT > | ChangeInt32ToIntPtr (SloppyTNode< Word32T > value) |
|
Node * | Retain (Node *value) |
|
Node * | Projection (int index, Node *value) |
|
template<int index, class T1 , class T2 > |
TNode< typename std::tuple_element< index, std::tuple< T1, T2 > >::type > | Projection (TNode< PairT< T1, T2 >> value) |
|
template<class... TArgs> |
TNode< Object > | CallRuntime (Runtime::FunctionId function, SloppyTNode< Object > context, TArgs... args) |
|
template<class... TArgs> |
TNode< Object > | CallRuntimeWithCEntry (Runtime::FunctionId function, TNode< Code > centry, SloppyTNode< Object > context, TArgs... args) |
|
template<class... TArgs> |
void | TailCallRuntime (Runtime::FunctionId function, SloppyTNode< Object > context, TArgs... args) |
|
template<class... TArgs> |
void | TailCallRuntime (Runtime::FunctionId function, TNode< Int32T > arity, SloppyTNode< Object > context, TArgs... args) |
|
template<class... TArgs> |
void | TailCallRuntimeWithCEntry (Runtime::FunctionId function, TNode< Code > centry, TNode< Object > context, TArgs... args) |
|
template<class T = Object, class... TArgs> |
TNode< T > | CallStub (Callable const &callable, SloppyTNode< Object > context, TArgs... args) |
|
template<class T = Object, class... TArgs> |
TNode< T > | CallStub (const CallInterfaceDescriptor &descriptor, SloppyTNode< Code > target, SloppyTNode< Object > context, TArgs... args) |
|
template<class... TArgs> |
Node * | CallStubR (const CallInterfaceDescriptor &descriptor, size_t result_size, SloppyTNode< Code > target, SloppyTNode< Object > context, TArgs... args) |
|
Node * | CallStubN (const CallInterfaceDescriptor &descriptor, size_t result_size, int input_count, Node *const *inputs) |
|
template<class... TArgs> |
void | TailCallStub (Callable const &callable, SloppyTNode< Object > context, TArgs... args) |
|
template<class... TArgs> |
void | TailCallStub (const CallInterfaceDescriptor &descriptor, SloppyTNode< Code > target, SloppyTNode< Object > context, TArgs... args) |
|
template<class... TArgs> |
Node * | TailCallBytecodeDispatch (const CallInterfaceDescriptor &descriptor, Node *target, TArgs... args) |
|
template<class... TArgs> |
Node * | TailCallStubThenBytecodeDispatch (const CallInterfaceDescriptor &descriptor, Node *target, Node *context, TArgs... args) |
|
TNode< Object > | TailCallJSCode (TNode< Code > code, TNode< Context > context, TNode< JSFunction > function, TNode< Object > new_target, TNode< Int32T > arg_count) |
|
template<class... TArgs> |
Node * | CallJS (Callable const &callable, Node *context, Node *function, Node *receiver, TArgs... args) |
|
template<class... TArgs> |
Node * | ConstructJS (Callable const &callable, Node *context, Node *new_target, TArgs... args) |
|
Node * | CallCFunctionN (Signature< MachineType > *signature, int input_count, Node *const *inputs) |
|
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) |
|
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) |
|
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 * | 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 | GotoIfException (Node *node, Label *if_exception, Variable *exception_var=nullptr) |
|
Factory * | factory () const |
|
Isolate * | isolate () const |
|
Zone * | zone () const |
|
CodeAssemblerState * | state () |
|
void | BreakOnNode (int node_id) |
|
bool | UnalignedLoadSupported (MachineRepresentation rep) const |
|
bool | UnalignedStoreSupported (MachineRepresentation rep) const |
|
bool | IsExceptionHandlerActive () const |
|