v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::compiler::CodeAssembler Class Reference

#include <code-assembler.h>

Inheritance diagram for v8::internal::compiler::CodeAssembler:
Collaboration diagram for v8::internal::compiler::CodeAssembler:

Classes

class  BuiltinCompilationScheduler
 
class  CheckedNode
 
struct  MessageWithSourceLocation
 
class  SourcePositionScope
 

Public Types

using Label = CodeAssemblerLabel
 
template<class T >
using TVariable = TypedCodeAssemblerVariable<T>
 
using VariableList = CodeAssemblerVariableList
 
using CFunctionArg = std::pair<MachineType, Node*>
 

Public Member Functions

 CodeAssembler (CodeAssemblerState *state)
 
 ~CodeAssembler ()
 
 CodeAssembler (const CodeAssembler &)=delete
 
CodeAssembleroperator= (const CodeAssembler &)=delete
 
bool Is64 () const
 
bool Is32 () const
 
bool IsFloat64RoundUpSupported () const
 
bool IsFloat64RoundDownSupported () const
 
bool IsFloat64RoundTiesEvenSupported () const
 
bool IsFloat64RoundTruncateSupported () const
 
bool IsTruncateFloat64ToFloat16RawBitsSupported () const
 
bool IsInt32AbsWithOverflowSupported () const
 
bool IsInt64AbsWithOverflowSupported () const
 
bool IsIntPtrAbsWithOverflowSupported () const
 
bool IsWord32PopcntSupported () const
 
bool IsWord64PopcntSupported () const
 
bool IsWord32CtzSupported () const
 
bool IsWord64CtzSupported () const
 
template<class T >
TNode< TUncheckedCast (Node *value)
 
template<class T , class U >
TNode< TUncheckedCast (TNode< U > value)
 
template<class T >
TNode< TReinterpretCast (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< Int32TUniqueInt32Constant (int32_t value)
 
TNode< Int32TInt32Constant (int32_t value)
 
TNode< Int64TUniqueInt64Constant (int64_t value)
 
TNode< Int64TInt64Constant (int64_t value)
 
TNode< Uint64TUint64Constant (uint64_t value)
 
TNode< IntPtrTIntPtrConstant (intptr_t value)
 
TNode< IntPtrTUniqueIntPtrConstant (intptr_t value)
 
TNode< Uint32TUniqueUint32Constant (int32_t value)
 
TNode< Uint32TUint32Constant (uint32_t value)
 
TNode< Uint32TUint64HighWordConstant (uint64_t value)
 
TNode< Uint32TUint64HighWordConstantNoLowWord (uint64_t value)
 
TNode< Uint32TUint64LowWordConstant (uint64_t value)
 
TNode< UintPtrTUintPtrConstant (uintptr_t value)
 
TNode< TaggedIndexTaggedIndexConstant (intptr_t value)
 
TNode< RawPtrTPointerConstant (void *value)
 
TNode< NumberNumberConstant (double value)
 
TNode< SmiSmiConstant (Tagged< Smi > value)
 
TNode< SmiSmiConstant (int value)
 
template<typename E >
requires std::is_enum<E>::value
TNode< SmiSmiConstant (E value)
 
void CanonicalizeEmbeddedBuiltinsConstantIfNeeded (Handle< HeapObject > object)
 
TNode< HeapObjectUntypedHeapConstantNoHole (Handle< HeapObject > object)
 
TNode< HeapObjectUntypedHeapConstantMaybeHole (Handle< HeapObject > object)
 
TNode< HeapObjectUntypedHeapConstantHole (Handle< HeapObject > object)
 
template<class Type >
TNode< TypeHeapConstantNoHole (Handle< Type > object)
 
template<class Type >
TNode< TypeHeapConstantMaybeHole (Handle< Type > object)
 
template<class Type >
TNode< TypeHeapConstantHole (Handle< Type > object)
 
TNode< StringStringConstant (const char *str)
 
TNode< BooleanBooleanConstant (bool value)
 
TNode< ExternalReferenceExternalConstant (ExternalReference address)
 
TNode< ExternalReferenceIsolateField (IsolateFieldId id)
 
TNode< Float32TFloat32Constant (double value)
 
TNode< Float64TFloat64Constant (double value)
 
TNode< BoolTInt32TrueConstant ()
 
TNode< BoolTInt32FalseConstant ()
 
TNode< BoolTBoolConstant (bool value)
 
TNode< ExternalPointerHandleTExternalPointerHandleNullConstant ()
 
bool IsMapOffsetConstant (Node *node)
 
bool TryToInt32Constant (TNode< IntegralT > node, int32_t *out_value)
 
bool TryToInt64Constant (TNode< IntegralT > node, int64_t *out_value)
 
bool TryToIntPtrConstant (TNode< IntegralT > node, intptr_t *out_value)
 
bool TryToIntPtrConstant (TNode< Smi > tnode, intptr_t *out_value)
 
bool TryToSmiConstant (TNode< IntegralT > node, Tagged< Smi > *out_value)
 
bool TryToSmiConstant (TNode< Smi > node, Tagged< Smi > *out_value)
 
bool IsUndefinedConstant (TNode< Object > node)
 
bool IsNullConstant (TNode< Object > node)
 
TNode< Int32TSigned (TNode< Word32T > x)
 
TNode< Int64TSigned (TNode< Word64T > x)
 
TNode< IntPtrTSigned (TNode< WordT > x)
 
TNode< Uint32TUnsigned (TNode< Word32T > x)
 
TNode< Uint64TUnsigned (TNode< Word64T > x)
 
TNode< UintPtrTUnsigned (TNode< WordT > x)
 
bool HasDynamicJSParameterCount ()
 
TNode< Uint16TDynamicJSParameterCount ()
 
void SetDynamicJSParameterCount (TNode< Uint16T > parameter_count)
 
template<class T >
TNode< TParameter (int value, const SourceLocation &loc=SourceLocation::Current())
 
template<class T >
TNode< TUncheckedParameter (int value)
 
NodeUntypedParameter (int value)
 
TNode< ContextGetJSContextParameter ()
 
void Return (TNode< Object > value)
 
void Return (TNode< Object > value1, TNode< Object > value2)
 
void Return (TNode< Object > value1, TNode< Object > value2, TNode< Object > value3)
 
void Return (TNode< Int32T > value)
 
void Return (TNode< Uint32T > value)
 
void Return (TNode< WordT > value)
 
void Return (TNode< Float32T > value)
 
void Return (TNode< Float64T > value)
 
void Return (TNode< WordT > value1, TNode< WordT > value2)
 
void Return (TNode< Word32T > value1, TNode< Word32T > value2)
 
void Return (TNode< WordT > value1, TNode< Object > value2)
 
void Return (TNode< Word32T > value1, TNode< Object > value2)
 
void PopAndReturn (Node *pop, Node *value)
 
void PopAndReturn (Node *pop, Node *value1, Node *value2, Node *value3, Node *value4)
 
void ReturnIf (TNode< BoolT > condition, TNode< Object > value)
 
void AbortCSADcheck (Node *message)
 
void DebugBreak ()
 
void Unreachable ()
 
template<class... Args>
void Comment (MessageWithSourceLocation message, Args &&... args)
 
void StaticAssert (TNode< BoolT > value, const char *source="unknown position")
 
void SetSourcePosition (const char *file, int line)
 
void PushSourcePosition ()
 
void PopSourcePosition ()
 
const std::vector< FileAndLine > & GetMacroSourcePositionStack () const
 
void Bind (Label *label)
 
void Goto (Label *label)
 
void GotoIf (TNode< IntegralT > condition, Label *true_label, GotoHint goto_hint=GotoHint::kNone)
 
void GotoIfNot (TNode< IntegralT > condition, Label *false_label, GotoHint goto_hint=GotoHint::kNone)
 
void Branch (TNode< IntegralT > condition, Label *true_label, Label *false_label, BranchHint branch_hint=BranchHint::kNone)
 
template<class T >
TNode< TUninitialized ()
 
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... U>
void Branch (TNode< BoolT > condition, CodeAssemblerParameterizedLabel< T... > *if_true, std::vector< Node * > args_true, CodeAssemblerParameterizedLabel< U... > *if_false, std::vector< Node * > args_false)
 
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)
 
TNode< RawPtrTLoadFramePointer ()
 
TNode< RawPtrTLoadParentFramePointer ()
 
TNode< RawPtrTStackSlotPtr (int size, int alignment)
 
TNode< RawPtrTLoadPointerFromRootRegister (TNode< IntPtrT > offset)
 
TNode< Uint8TLoadUint8FromRootRegister (TNode< IntPtrT > offset)
 
NodeLoad (MachineType type, Node *base)
 
template<class Type >
TNode< TypeLoad (MachineType type, TNode< RawPtr< Type > > base)
 
NodeLoad (MachineType type, Node *base, Node *offset)
 
template<class Type >
TNode< TypeLoad (Node *base)
 
template<class Type >
TNode< TypeLoad (Node *base, TNode< WordT > offset)
 
template<class Type >
TNode< TypeAtomicLoad (AtomicMemoryOrder order, TNode< RawPtrT > base, TNode< WordT > offset)
 
template<class Type >
TNode< TypeAtomicLoad64 (AtomicMemoryOrder order, TNode< RawPtrT > base, TNode< WordT > offset)
 
TNode< ObjectLoadFullTagged (Node *base)
 
TNode< ObjectLoadFullTagged (Node *base, TNode< IntPtrT > offset)
 
NodeLoadFromObject (MachineType type, TNode< Object > object, TNode< IntPtrT > offset)
 
NodeLoadProtectedPointerFromObject (TNode< Object > object, TNode< IntPtrT > offset)
 
TNode< ObjectLoadRoot (RootIndex root_index)
 
TNode< AnyTaggedTLoadRootMapWord (RootIndex root_index)
 
template<typename Type >
TNode< TypeUnalignedLoad (TNode< RawPtrT > base, TNode< IntPtrT > offset)
 
void Store (Node *base, Node *value)
 
void Store (Node *base, Node *offset, Node *value)
 
void StoreEphemeronKey (Node *base, Node *offset, Node *value)
 
void StoreNoWriteBarrier (MachineRepresentation rep, Node *base, Node *value)
 
void StoreNoWriteBarrier (MachineRepresentation rep, Node *base, Node *offset, Node *value)
 
void UnsafeStoreNoWriteBarrier (MachineRepresentation rep, Node *base, Node *value)
 
void UnsafeStoreNoWriteBarrier (MachineRepresentation rep, Node *base, Node *offset, Node *value)
 
void StoreFullTaggedNoWriteBarrier (TNode< RawPtrT > base, TNode< Object > tagged_value)
 
void StoreFullTaggedNoWriteBarrier (TNode< RawPtrT > base, TNode< IntPtrT > offset, TNode< Object > tagged_value)
 
TNode< HeapObjectOptimizedAllocate (TNode< IntPtrT > size, AllocationType allocation)
 
void StoreToObject (MachineRepresentation rep, TNode< Object > object, TNode< IntPtrT > offset, Node *value, StoreToObjectWriteBarrier write_barrier)
 
void OptimizedStoreField (MachineRepresentation rep, TNode< HeapObject > object, int offset, Node *value)
 
void OptimizedStoreIndirectPointerField (TNode< HeapObject > object, int offset, IndirectPointerTag tag, Node *value)
 
void OptimizedStoreIndirectPointerFieldNoWriteBarrier (TNode< HeapObject > object, int offset, IndirectPointerTag tag, Node *value)
 
void OptimizedStoreFieldAssertNoWriteBarrier (MachineRepresentation rep, TNode< HeapObject > object, int offset, Node *value)
 
void OptimizedStoreFieldUnsafeNoWriteBarrier (MachineRepresentation rep, TNode< HeapObject > object, int offset, Node *value)
 
void OptimizedStoreMap (TNode< HeapObject > object, TNode< Map >)
 
void AtomicStore (MachineRepresentation rep, AtomicMemoryOrder order, TNode< RawPtrT > base, TNode< WordT > offset, TNode< Word32T > value)
 
void AtomicStore64 (AtomicMemoryOrder order, TNode< RawPtrT > base, TNode< WordT > offset, TNode< UintPtrT > value, TNode< UintPtrT > value_high)
 
TNode< Word32TAtomicAdd (MachineType type, TNode< RawPtrT > base, TNode< UintPtrT > offset, TNode< Word32T > value)
 
template<class Type >
TNode< TypeAtomicAdd64 (TNode< RawPtrT > base, TNode< UintPtrT > offset, TNode< UintPtrT > value, TNode< UintPtrT > value_high)
 
TNode< Word32TAtomicSub (MachineType type, TNode< RawPtrT > base, TNode< UintPtrT > offset, TNode< Word32T > value)
 
template<class Type >
TNode< TypeAtomicSub64 (TNode< RawPtrT > base, TNode< UintPtrT > offset, TNode< UintPtrT > value, TNode< UintPtrT > value_high)
 
TNode< Word32TAtomicAnd (MachineType type, TNode< RawPtrT > base, TNode< UintPtrT > offset, TNode< Word32T > value)
 
template<class Type >
TNode< TypeAtomicAnd64 (TNode< RawPtrT > base, TNode< UintPtrT > offset, TNode< UintPtrT > value, TNode< UintPtrT > value_high)
 
TNode< Word32TAtomicOr (MachineType type, TNode< RawPtrT > base, TNode< UintPtrT > offset, TNode< Word32T > value)
 
template<class Type >
TNode< TypeAtomicOr64 (TNode< RawPtrT > base, TNode< UintPtrT > offset, TNode< UintPtrT > value, TNode< UintPtrT > value_high)
 
TNode< Word32TAtomicXor (MachineType type, TNode< RawPtrT > base, TNode< UintPtrT > offset, TNode< Word32T > value)
 
template<class Type >
TNode< TypeAtomicXor64 (TNode< RawPtrT > base, TNode< UintPtrT > offset, TNode< UintPtrT > value, TNode< UintPtrT > value_high)
 
TNode< Word32TAtomicExchange (MachineType type, TNode< RawPtrT > base, TNode< UintPtrT > offset, TNode< Word32T > value)
 
template<class Type >
TNode< TypeAtomicExchange64 (TNode< RawPtrT > base, TNode< UintPtrT > offset, TNode< UintPtrT > value, TNode< UintPtrT > value_high)
 
TNode< Word32TAtomicCompareExchange (MachineType type, TNode< RawPtrT > base, TNode< WordT > offset, TNode< Word32T > old_value, TNode< Word32T > new_value)
 
template<class Type >
TNode< TypeAtomicCompareExchange64 (TNode< RawPtrT > base, TNode< WordT > offset, TNode< UintPtrT > old_value, TNode< UintPtrT > new_value, TNode< UintPtrT > old_value_high, TNode< UintPtrT > new_value_high)
 
void MemoryBarrier (AtomicMemoryOrder order)
 
void StoreRoot (RootIndex root_index, TNode< Object > value)
 
TNode< PairT< Word32T, Word32T > > Int32PairAdd (TNode< Word32T > lhs_lo_word, TNode< Word32T > lhs_hi_word, TNode< Word32T > rhs_lo_word, TNode< Word32T > rhs_hi_word)
 
TNode< PairT< Word32T, Word32T > > Int32PairSub (TNode< Word32T > lhs_lo_word, TNode< Word32T > lhs_hi_word, TNode< Word32T > rhs_lo_word, TNode< Word32T > rhs_hi_word)
 
TNode< UintPtrTWordShr (TNode< UintPtrT > left, TNode< IntegralT > right)
 
TNode< IntPtrTWordSar (TNode< IntPtrT > left, TNode< IntegralT > right)
 
TNode< IntPtrTWordShl (TNode< IntPtrT > left, TNode< IntegralT > right)
 
TNode< UintPtrTWordShl (TNode< UintPtrT > left, TNode< IntegralT > right)
 
TNode< Int32TWord32Shl (TNode< Int32T > left, TNode< Int32T > right)
 
TNode< Uint32TWord32Shl (TNode< Uint32T > left, TNode< Uint32T > right)
 
TNode< Uint32TWord32Shr (TNode< Uint32T > left, TNode< Uint32T > right)
 
TNode< Int32TWord32Sar (TNode< Int32T > left, TNode< Int32T > right)
 
TNode< Int64TWord64Shl (TNode< Int64T > left, TNode< Int64T > right)
 
TNode< Uint64TWord64Shl (TNode< Uint64T > left, TNode< Uint64T > right)
 
TNode< Int64TWord64Shr (TNode< Int64T > left, TNode< Uint64T > right)
 
TNode< Uint64TWord64Shr (TNode< Uint64T > left, TNode< Uint64T > right)
 
TNode< Int64TWord64Sar (TNode< Int64T > left, TNode< Int64T > right)
 
TNode< Int64TWord64And (TNode< Int64T > left, TNode< Int64T > right)
 
TNode< Uint64TWord64And (TNode< Uint64T > left, TNode< Uint64T > right)
 
TNode< Int64TWord64Xor (TNode< Int64T > left, TNode< Int64T > right)
 
TNode< Uint64TWord64Xor (TNode< Uint64T > left, TNode< Uint64T > right)
 
TNode< Int64TWord64Not (TNode< Int64T > value)
 
TNode< Uint64TWord64Not (TNode< Uint64T > value)
 
TNode< IntPtrTWordAnd (TNode< IntPtrT > left, TNode< IntPtrT > right)
 
TNode< UintPtrTWordAnd (TNode< UintPtrT > left, TNode< UintPtrT > right)
 
TNode< Int32TWord32And (TNode< Int32T > left, TNode< Int32T > right)
 
TNode< Uint32TWord32And (TNode< Uint32T > left, TNode< Uint32T > right)
 
TNode< IntPtrTWordOr (TNode< IntPtrT > left, TNode< IntPtrT > right)
 
TNode< Int32TWord32Or (TNode< Int32T > left, TNode< Int32T > right)
 
TNode< Uint32TWord32Or (TNode< Uint32T > left, TNode< Uint32T > right)
 
TNode< BoolTIntPtrEqual (TNode< WordT > left, TNode< WordT > right)
 
TNode< BoolTWordEqual (TNode< WordT > left, TNode< WordT > right)
 
TNode< BoolTWordNotEqual (TNode< WordT > left, TNode< WordT > right)
 
TNode< BoolTWord32Equal (TNode< Word32T > left, TNode< Word32T > right)
 
TNode< BoolTWord32NotEqual (TNode< Word32T > left, TNode< Word32T > right)
 
TNode< BoolTWord64Equal (TNode< Word64T > left, TNode< Word64T > right)
 
TNode< BoolTWord64NotEqual (TNode< Word64T > left, TNode< Word64T > right)
 
TNode< IntPtrTWordNot (TNode< IntPtrT > a)
 
TNode< Int32TWord32BitwiseNot (TNode< Int32T > a)
 
TNode< BoolTWord32Or (TNode< BoolT > left, TNode< BoolT > right)
 
TNode< BoolTWord32And (TNode< BoolT > left, TNode< BoolT > right)
 
TNode< Int32TInt32Add (TNode< Int32T > left, TNode< Int32T > right)
 
TNode< Uint32TUint32Add (TNode< Uint32T > left, TNode< Uint32T > right)
 
TNode< Uint32TUint32Sub (TNode< Uint32T > left, TNode< Uint32T > right)
 
TNode< Int32TInt32Sub (TNode< Int32T > left, TNode< Int32T > right)
 
TNode< Int32TInt32Mul (TNode< Int32T > left, TNode< Int32T > right)
 
TNode< Uint32TUint32Mul (TNode< Uint32T > left, TNode< Uint32T > right)
 
TNode< Int64TInt64Add (TNode< Int64T > left, TNode< Int64T > right)
 
TNode< Uint64TUint64Add (TNode< Uint64T > left, TNode< Uint64T > right)
 
TNode< Int64TInt64Sub (TNode< Int64T > left, TNode< Int64T > right)
 
TNode< Uint64TUint64Sub (TNode< Uint64T > left, TNode< Uint64T > right)
 
TNode< Int64TInt64Mul (TNode< Int64T > left, TNode< Int64T > right)
 
TNode< Uint64TUint64Mul (TNode< Uint64T > left, TNode< Uint64T > right)
 
TNode< IntPtrTIntPtrAdd (TNode< IntPtrT > left, TNode< IntPtrT > right)
 
TNode< IntPtrTIntPtrSub (TNode< IntPtrT > left, TNode< IntPtrT > right)
 
TNode< IntPtrTIntPtrMul (TNode< IntPtrT > left, TNode< IntPtrT > right)
 
TNode< UintPtrTUintPtrAdd (TNode< UintPtrT > left, TNode< UintPtrT > right)
 
TNode< UintPtrTUintPtrSub (TNode< UintPtrT > left, TNode< UintPtrT > right)
 
TNode< RawPtrTRawPtrAdd (TNode< RawPtrT > left, TNode< IntPtrT > right)
 
TNode< RawPtrTRawPtrSub (TNode< RawPtrT > left, TNode< IntPtrT > right)
 
TNode< IntPtrTRawPtrSub (TNode< RawPtrT > left, TNode< RawPtrT > right)
 
TNode< WordTWordShl (TNode< WordT > value, int shift)
 
TNode< WordTWordShr (TNode< WordT > value, int shift)
 
TNode< WordTWordSar (TNode< WordT > value, int shift)
 
TNode< IntPtrTWordShr (TNode< IntPtrT > value, int shift)
 
TNode< IntPtrTWordSar (TNode< IntPtrT > value, int shift)
 
TNode< Word32TWord32Shr (TNode< Word32T > value, int shift)
 
TNode< Word32TWord32Sar (TNode< Word32T > value, int shift)
 
TNode< Int32TInt32Sub (TNode< Int32T > left, int right)
 
TNode< Word32TWord32And (TNode< Word32T > left, int right)
 
TNode< Int32TWord32Shl (TNode< Int32T > left, int right)
 
TNode< BoolTWord32Equal (TNode< Word32T > left, int right)
 
template<class Dummy = void>
TNode< IntPtrTBitcastTaggedToWord (TNode< Smi > node)
 
TNode< IntPtrTChangeFloat64ToIntPtr (TNode< Float64T > value)
 
TNode< UintPtrTChangeFloat64ToUintPtr (TNode< Float64T > value)
 
TNode< Float64TChangeUintPtrToFloat64 (TNode< UintPtrT > value)
 
TNode< Float64TRoundIntPtrToFloat64 (Node *value)
 
TNode< UintPtrTChangeUint32ToWord (TNode< Word32T > value)
 
TNode< IntPtrTChangeInt32ToIntPtr (TNode< Word32T > value)
 
TNode< Int32TTruncateFloat32ToInt32 (TNode< Float32T > value)
 
TNode< Int64TTruncateFloat64ToInt64 (TNode< Float64T > 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 T = Object, class... TArgs>
TNode< TCallRuntime (Runtime::FunctionId function, TNode< Object > context, TArgs... args)
 
template<class... TArgs>
void TailCallRuntime (Runtime::FunctionId function, TNode< Object > context, TArgs... args)
 
template<class... TArgs>
void TailCallRuntime (Runtime::FunctionId function, TNode< Int32T > arity, TNode< Object > context, TArgs... args)
 
Builtin builtin ()
 
TNode< RawPtrTSwitchToTheCentralStackIfNeeded ()
 
TNode< RawPtrTSwitchToTheCentralStack ()
 
void SwitchFromTheCentralStack (TNode< RawPtrT > old_sp)
 
template<typename T = Object, class... TArgs>
TNode< TCallBuiltin (Builtin id, TNode< Object > context, TArgs... args)
 
template<class... TArgs>
void CallBuiltinVoid (Builtin id, TNode< Object > context, TArgs... args)
 
template<class... TArgs>
void TailCallBuiltin (Builtin id, TNode< Object > context, TArgs... args)
 
template<class T = Object, class... TArgs>
TNode< TCallStub (const CallInterfaceDescriptor &descriptor, TNode< Code > target, TNode< Object > context, TArgs... args)
 
template<class T = Object, class... TArgs>
TNode< TCallBuiltinPointer (const CallInterfaceDescriptor &descriptor, TNode< BuiltinPtr > target, TNode< Object > context, TArgs... args)
 
template<class... TArgs>
void TailCallStub (const CallInterfaceDescriptor &descriptor, TNode< Code > target, TNode< Object > context, TArgs... args)
 
template<class... TArgs>
void TailCallBytecodeDispatch (const CallInterfaceDescriptor &descriptor, TNode< RawPtrT > target, TArgs... args)
 
template<class... TArgs>
void TailCallBuiltinThenBytecodeDispatch (Builtin builtin, Node *context, TArgs... args)
 
template<class... TArgs>
TNode< ObjectCallJSBuiltin (Builtin builtin, TNode< Context > context, TNode< Object > function, std::optional< TNode< Object > > new_target, TNode< Object > receiver, TArgs... args)
 
void TailCallJSBuiltin (Builtin id, TNode< Object > context, TNode< Object > function, TNode< Object > new_target, TNode< Int32T > arg_count, TNode< JSDispatchHandleT > dispatch_handle)
 
template<class... TArgs>
TNode< JSAnyCallJS (Builtin builtin, TNode< Context > context, TNode< Object > function, TNode< JSAny > receiver, TArgs... args)
 
template<class... TArgs>
TNode< JSAnyConstructJS (Builtin builtin, TNode< Context > context, TNode< Object > function, TNode< JSAny > new_target, TArgs... args)
 
void TailCallJSCode (TNode< Code > code, TNode< Context > context, TNode< JSFunction > function, TNode< Object > new_target, TNode< Int32T > arg_count, TNode< JSDispatchHandleT > dispatch_handle)
 
NodeCallCFunctionN (Signature< MachineType > *signature, int input_count, Node *const *inputs)
 
template<class... CArgs>
NodeCallCFunction (Node *function, std::optional< MachineType > return_type, CArgs... cargs)
 
template<class... CArgs>
NodeCallCFunctionWithoutFunctionDescriptor (Node *function, MachineType return_type, CArgs... cargs)
 
template<class... CArgs>
NodeCallCFunctionWithCallerSavedRegisters (Node *function, MachineType return_type, SaveFPRegsMode mode, CArgs... cargs)
 
Factoryfactory () const
 
Isolateisolate () const
 
Zonezone () const
 
CodeAssemblerStatestate ()
 
void BreakOnNode (int node_id)
 
bool UnalignedLoadSupported (MachineRepresentation rep) const
 
bool UnalignedStoreSupported (MachineRepresentation rep) const
 
bool IsExceptionHandlerActive () const
 

Static Public Attributes

static constexpr int kTargetParameterIndex = kJSCallClosureParameterIndex
 

Protected Member Functions

void RegisterCallGenerationCallbacks (const CodeAssemblerCallback &call_prologue, const CodeAssemblerCallback &call_epilogue)
 
void UnregisterCallGenerationCallbacks ()
 
bool Word32ShiftIsSafe () const
 
bool IsJSFunctionCall () const
 

Private Member Functions

void HandleException (Node *result)
 
NodeCallCFunction (Node *function, std::optional< MachineType > return_type, std::initializer_list< CFunctionArg > args)
 
NodeCallCFunctionWithoutFunctionDescriptor (Node *function, MachineType return_type, std::initializer_list< CFunctionArg > args)
 
NodeCallCFunctionWithCallerSavedRegisters (Node *function, MachineType return_type, SaveFPRegsMode mode, std::initializer_list< CFunctionArg > args)
 
NodeCallRuntimeImpl (Runtime::FunctionId function, TNode< Object > context, std::initializer_list< TNode< Object > > args)
 
void TailCallRuntimeImpl (Runtime::FunctionId function, TNode< Int32T > arity, TNode< Object > context, std::initializer_list< TNode< Object > > args)
 
void TailCallStubImpl (const CallInterfaceDescriptor &descriptor, TNode< Code > target, TNode< Object > context, std::initializer_list< Node * > args)
 
void TailCallStubThenBytecodeDispatchImpl (const CallInterfaceDescriptor &descriptor, Node *target, Node *context, std::initializer_list< Node * > args)
 
template<class... TArgs>
NodeCallStubR (StubCallMode call_mode, const CallInterfaceDescriptor &descriptor, TNode< Object > target, TNode< Object > context, TArgs... args)
 
NodeCallStubRImpl (StubCallMode call_mode, const CallInterfaceDescriptor &descriptor, TNode< Object > target, TNode< Object > context, std::initializer_list< Node * > args)
 
NodeCallJSStubImpl (const CallInterfaceDescriptor &descriptor, TNode< Object > target, TNode< Object > context, TNode< Object > function, std::optional< TNode< Object > > new_target, TNode< Int32T > arity, std::optional< TNode< JSDispatchHandleT > > dispatch_handle, std::initializer_list< Node * > args)
 
NodeCallStubN (StubCallMode call_mode, const CallInterfaceDescriptor &descriptor, int input_count, Node *const *inputs)
 
NodeAtomicLoad (MachineType type, AtomicMemoryOrder order, TNode< RawPtrT > base, TNode< WordT > offset)
 
NodeUnalignedLoad (MachineType type, TNode< RawPtrT > base, TNode< WordT > offset)
 
void EmitComment (std::string msg)
 
TNode< Int32TSigned (TNode< Int32T > x)
 
TNode< Uint32TUnsigned (TNode< Uint32T > x)
 
NodeProjection (int index, Node *value)
 
RawMachineAssemblerraw_assembler () const
 
JSGraphjsgraph () const
 
void CallPrologue ()
 
void CallEpilogue ()
 

Private Attributes

CodeAssemblerStatestate_
 

Detailed Description

Definition at line 391 of file code-assembler.h.

Member Typedef Documentation

◆ CFunctionArg

◆ Label

◆ TVariable

◆ VariableList

Constructor & Destructor Documentation

◆ CodeAssembler() [1/2]

v8::internal::compiler::CodeAssembler::CodeAssembler ( CodeAssemblerState * state)
inlineexplicit

Definition at line 393 of file code-assembler.h.

◆ ~CodeAssembler()

v8::internal::compiler::CodeAssembler::~CodeAssembler ( )
default

◆ CodeAssembler() [2/2]

v8::internal::compiler::CodeAssembler::CodeAssembler ( const CodeAssembler & )
delete

Member Function Documentation

◆ AbortCSADcheck()

void v8::internal::compiler::CodeAssembler::AbortCSADcheck ( Node * message)

Definition at line 653 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AtomicAdd()

TNode< Word32T > v8::internal::compiler::CodeAssembler::AtomicAdd ( MachineType type,
TNode< RawPtrT > base,
TNode< UintPtrT > offset,
TNode< Word32T > value )

◆ AtomicAdd64()

template<class Type >
TNode< Type > v8::internal::compiler::CodeAssembler::AtomicAdd64 ( TNode< RawPtrT > base,
TNode< UintPtrT > offset,
TNode< UintPtrT > value,
TNode< UintPtrT > value_high )

◆ AtomicAnd()

TNode< Word32T > v8::internal::compiler::CodeAssembler::AtomicAnd ( MachineType type,
TNode< RawPtrT > base,
TNode< UintPtrT > offset,
TNode< Word32T > value )

◆ AtomicAnd64()

template<class Type >
TNode< Type > v8::internal::compiler::CodeAssembler::AtomicAnd64 ( TNode< RawPtrT > base,
TNode< UintPtrT > offset,
TNode< UintPtrT > value,
TNode< UintPtrT > value_high )

◆ AtomicCompareExchange()

TNode< Word32T > v8::internal::compiler::CodeAssembler::AtomicCompareExchange ( MachineType type,
TNode< RawPtrT > base,
TNode< WordT > offset,
TNode< Word32T > old_value,
TNode< Word32T > new_value )

Definition at line 1121 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AtomicCompareExchange64()

template<class Type >
template TNode< AtomicUint64 > v8::internal::compiler::CodeAssembler::AtomicCompareExchange64< AtomicUint64 > ( TNode< RawPtrT > base,
TNode< WordT > offset,
TNode< UintPtrT > old_value,
TNode< UintPtrT > new_value,
TNode< UintPtrT > old_value_high,
TNode< UintPtrT > new_value_high )

Definition at line 1131 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AtomicExchange()

TNode< Word32T > v8::internal::compiler::CodeAssembler::AtomicExchange ( MachineType type,
TNode< RawPtrT > base,
TNode< UintPtrT > offset,
TNode< Word32T > value )

◆ AtomicExchange64()

template<class Type >
TNode< Type > v8::internal::compiler::CodeAssembler::AtomicExchange64 ( TNode< RawPtrT > base,
TNode< UintPtrT > offset,
TNode< UintPtrT > value,
TNode< UintPtrT > value_high )

◆ AtomicLoad() [1/2]

template<class Type >
TNode< Type > v8::internal::compiler::CodeAssembler::AtomicLoad ( AtomicMemoryOrder order,
TNode< RawPtrT > base,
TNode< WordT > offset )
inline

Definition at line 879 of file code-assembler.h.

◆ AtomicLoad() [2/2]

Node * v8::internal::compiler::CodeAssembler::AtomicLoad ( MachineType type,
AtomicMemoryOrder order,
TNode< RawPtrT > base,
TNode< WordT > offset )
private

Definition at line 872 of file code-assembler.cc.

Here is the call graph for this function:

◆ AtomicLoad64()

template<class Type >
template TNode< AtomicUint64 > v8::internal::compiler::CodeAssembler::AtomicLoad64< AtomicUint64 > ( AtomicMemoryOrder order,
TNode< RawPtrT > base,
TNode< WordT > offset )

Definition at line 880 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AtomicOr()

TNode< Word32T > v8::internal::compiler::CodeAssembler::AtomicOr ( MachineType type,
TNode< RawPtrT > base,
TNode< UintPtrT > offset,
TNode< Word32T > value )

◆ AtomicOr64()

template<class Type >
TNode< Type > v8::internal::compiler::CodeAssembler::AtomicOr64 ( TNode< RawPtrT > base,
TNode< UintPtrT > offset,
TNode< UintPtrT > value,
TNode< UintPtrT > value_high )

◆ AtomicStore()

void v8::internal::compiler::CodeAssembler::AtomicStore ( MachineRepresentation rep,
AtomicMemoryOrder order,
TNode< RawPtrT > base,
TNode< WordT > offset,
TNode< Word32T > value )

Definition at line 1075 of file code-assembler.cc.

Here is the call graph for this function:

◆ AtomicStore64()

void v8::internal::compiler::CodeAssembler::AtomicStore64 ( AtomicMemoryOrder order,
TNode< RawPtrT > base,
TNode< WordT > offset,
TNode< UintPtrT > value,
TNode< UintPtrT > value_high )

Definition at line 1084 of file code-assembler.cc.

Here is the call graph for this function:

◆ AtomicSub()

TNode< Word32T > v8::internal::compiler::CodeAssembler::AtomicSub ( MachineType type,
TNode< RawPtrT > base,
TNode< UintPtrT > offset,
TNode< Word32T > value )

◆ AtomicSub64()

template<class Type >
TNode< Type > v8::internal::compiler::CodeAssembler::AtomicSub64 ( TNode< RawPtrT > base,
TNode< UintPtrT > offset,
TNode< UintPtrT > value,
TNode< UintPtrT > value_high )

◆ AtomicXor()

TNode< Word32T > v8::internal::compiler::CodeAssembler::AtomicXor ( MachineType type,
TNode< RawPtrT > base,
TNode< UintPtrT > offset,
TNode< Word32T > value )

◆ AtomicXor64()

template<class Type >
TNode< Type > v8::internal::compiler::CodeAssembler::AtomicXor64 ( TNode< RawPtrT > base,
TNode< UintPtrT > offset,
TNode< UintPtrT > value,
TNode< UintPtrT > value_high )

◆ Bind() [1/2]

template<class... T>
void v8::internal::compiler::CodeAssembler::Bind ( CodeAssemblerParameterizedLabel< T... > * label,
TNode< T > *... phis )
inline

Definition at line 808 of file code-assembler.h.

◆ Bind() [2/2]

void v8::internal::compiler::CodeAssembler::Bind ( Label * label)

Definition at line 691 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BitcastTaggedToWord()

template<class Dummy = void>
TNode< IntPtrT > v8::internal::compiler::CodeAssembler::BitcastTaggedToWord ( TNode< Smi > node)
inline

Definition at line 1270 of file code-assembler.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BoolConstant()

TNode< BoolT > v8::internal::compiler::CodeAssembler::BoolConstant ( bool value)
inline

Definition at line 647 of file code-assembler.h.

Here is the caller graph for this function:

◆ BooleanConstant()

TNode< Boolean > v8::internal::compiler::CodeAssembler::BooleanConstant ( bool value)

Definition at line 391 of file code-assembler.cc.

Here is the call graph for this function:

◆ Branch() [1/6]

template<class... T, class... Args>
void v8::internal::compiler::CodeAssembler::Branch ( TNode< BoolT > condition,
CodeAssemblerParameterizedLabel< T... > * if_true,
CodeAssemblerParameterizedLabel< T... > * if_false,
Args... args )
inline

Definition at line 813 of file code-assembler.h.

Here is the call graph for this function:

◆ Branch() [2/6]

template<class... T, class... U>
void v8::internal::compiler::CodeAssembler::Branch ( TNode< BoolT > condition,
CodeAssemblerParameterizedLabel< T... > * if_true,
std::vector< Node * > args_true,
CodeAssemblerParameterizedLabel< U... > * if_false,
std::vector< Node * > args_false )
inline

Definition at line 821 of file code-assembler.h.

Here is the call graph for this function:

◆ Branch() [3/6]

void v8::internal::compiler::CodeAssembler::Branch ( TNode< BoolT > condition,
const std::function< void()> & true_body,
const std::function< void()> & false_body )

Definition at line 1601 of file code-assembler.cc.

Here is the call graph for this function:

◆ Branch() [4/6]

void v8::internal::compiler::CodeAssembler::Branch ( TNode< BoolT > condition,
const std::function< void()> & true_body,
Label * false_label )

Definition at line 1632 of file code-assembler.cc.

Here is the call graph for this function:

◆ Branch() [5/6]

void v8::internal::compiler::CodeAssembler::Branch ( TNode< BoolT > condition,
Label * true_label,
const std::function< void()> & false_body )

Definition at line 1619 of file code-assembler.cc.

Here is the call graph for this function:

◆ Branch() [6/6]

void v8::internal::compiler::CodeAssembler::Branch ( TNode< IntegralT > condition,
Label * true_label,
Label * false_label,
BranchHint branch_hint = BranchHint::kNone )

Definition at line 1586 of file code-assembler.cc.

Here is the call graph for this function:

◆ BreakOnNode()

void v8::internal::compiler::CodeAssembler::BreakOnNode ( int node_id)

Definition at line 122 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ builtin()

Builtin v8::internal::compiler::CodeAssembler::builtin ( )

Definition at line 1277 of file code-assembler.cc.

Here is the call graph for this function:

◆ CallBuiltin()

template<typename T = Object, class... TArgs>
TNode< T > v8::internal::compiler::CodeAssembler::CallBuiltin ( Builtin id,
TNode< Object > context,
TArgs... args )
inline

Definition at line 1348 of file code-assembler.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CallBuiltinPointer()

template<class T = Object, class... TArgs>
TNode< T > v8::internal::compiler::CodeAssembler::CallBuiltinPointer ( const CallInterfaceDescriptor & descriptor,
TNode< BuiltinPtr > target,
TNode< Object > context,
TArgs... args )
inline

Definition at line 1400 of file code-assembler.h.

◆ CallBuiltinVoid()

template<class... TArgs>
void v8::internal::compiler::CodeAssembler::CallBuiltinVoid ( Builtin id,
TNode< Object > context,
TArgs... args )
inline

Definition at line 1371 of file code-assembler.h.

Here is the call graph for this function:

◆ CallCFunction() [1/2]

template<class... CArgs>
Node * v8::internal::compiler::CodeAssembler::CallCFunction ( Node * function,
std::optional< MachineType > return_type,
CArgs... cargs )
inline

Definition at line 1518 of file code-assembler.h.

◆ CallCFunction() [2/2]

Node * v8::internal::compiler::CodeAssembler::CallCFunction ( Node * function,
std::optional< MachineType > return_type,
std::initializer_list< CFunctionArg > args )
private

◆ CallCFunctionN()

Node * v8::internal::compiler::CodeAssembler::CallCFunctionN ( Signature< MachineType > * signature,
int input_count,
Node *const * inputs )

Definition at line 1528 of file code-assembler.cc.

Here is the call graph for this function:

◆ CallCFunctionWithCallerSavedRegisters() [1/2]

template<class... CArgs>
Node * v8::internal::compiler::CodeAssembler::CallCFunctionWithCallerSavedRegisters ( Node * function,
MachineType return_type,
SaveFPRegsMode mode,
CArgs... cargs )
inline

Definition at line 1540 of file code-assembler.h.

Here is the caller graph for this function:

◆ CallCFunctionWithCallerSavedRegisters() [2/2]

Node * v8::internal::compiler::CodeAssembler::CallCFunctionWithCallerSavedRegisters ( Node * function,
MachineType return_type,
SaveFPRegsMode mode,
std::initializer_list< CFunctionArg > args )
private

◆ CallCFunctionWithoutFunctionDescriptor() [1/2]

template<class... CArgs>
Node * v8::internal::compiler::CodeAssembler::CallCFunctionWithoutFunctionDescriptor ( Node * function,
MachineType return_type,
CArgs... cargs )
inline

Definition at line 1528 of file code-assembler.h.

Here is the caller graph for this function:

◆ CallCFunctionWithoutFunctionDescriptor() [2/2]

Node * v8::internal::compiler::CodeAssembler::CallCFunctionWithoutFunctionDescriptor ( Node * function,
MachineType return_type,
std::initializer_list< CFunctionArg > args )
private

◆ CallEpilogue()

void v8::internal::compiler::CodeAssembler::CallEpilogue ( )
private

Definition at line 151 of file code-assembler.cc.

Here is the caller graph for this function:

◆ CallJS()

template<class... TArgs>
TNode< JSAny > v8::internal::compiler::CodeAssembler::CallJS ( Builtin builtin,
TNode< Context > context,
TNode< Object > function,
TNode< JSAny > receiver,
TArgs... args )
inline

Definition at line 1467 of file code-assembler.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CallJSBuiltin()

template<class... TArgs>
TNode< Object > v8::internal::compiler::CodeAssembler::CallJSBuiltin ( Builtin builtin,
TNode< Context > context,
TNode< Object > function,
std::optional< TNode< Object > > new_target,
TNode< Object > receiver,
TArgs... args )
inline

Definition at line 1429 of file code-assembler.h.

Here is the call graph for this function:

◆ CallJSStubImpl()

Node * v8::internal::compiler::CodeAssembler::CallJSStubImpl ( const CallInterfaceDescriptor & descriptor,
TNode< Object > target,
TNode< Object > context,
TNode< Object > function,
std::optional< TNode< Object > > new_target,
TNode< Int32T > arity,
std::optional< TNode< JSDispatchHandleT > > dispatch_handle,
std::initializer_list< Node * > args )
private

Definition at line 1431 of file code-assembler.cc.

Here is the call graph for this function:

◆ CallPrologue()

void v8::internal::compiler::CodeAssembler::CallPrologue ( )
private

Definition at line 145 of file code-assembler.cc.

Here is the caller graph for this function:

◆ CallRuntime()

template<class T = Object, class... TArgs>
TNode< T > v8::internal::compiler::CodeAssembler::CallRuntime ( Runtime::FunctionId function,
TNode< Object > context,
TArgs... args )
inline

Definition at line 1309 of file code-assembler.h.

Here is the call graph for this function:

◆ CallRuntimeImpl()

Node * v8::internal::compiler::CodeAssembler::CallRuntimeImpl ( Runtime::FunctionId function,
TNode< Object > context,
std::initializer_list< TNode< Object > > args )
private

Definition at line 1230 of file code-assembler.cc.

Here is the call graph for this function:

◆ CallStub()

template<class T = Object, class... TArgs>
TNode< T > v8::internal::compiler::CodeAssembler::CallStub ( const CallInterfaceDescriptor & descriptor,
TNode< Code > target,
TNode< Object > context,
TArgs... args )
inline

Definition at line 1393 of file code-assembler.h.

Here is the caller graph for this function:

◆ CallStubN()

Node * v8::internal::compiler::CodeAssembler::CallStubN ( StubCallMode call_mode,
const CallInterfaceDescriptor & descriptor,
int input_count,
Node *const * inputs )
private

Definition at line 1363 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CallStubR()

template<class... TArgs>
Node * v8::internal::compiler::CodeAssembler::CallStubR ( StubCallMode call_mode,
const CallInterfaceDescriptor & descriptor,
TNode< Object > target,
TNode< Object > context,
TArgs... args )
inlineprivate

Definition at line 1605 of file code-assembler.h.

◆ CallStubRImpl()

Node * v8::internal::compiler::CodeAssembler::CallStubRImpl ( StubCallMode call_mode,
const CallInterfaceDescriptor & descriptor,
TNode< Object > target,
TNode< Object > context,
std::initializer_list< Node * > args )
private

Definition at line 1410 of file code-assembler.cc.

Here is the call graph for this function:

◆ CanonicalizeEmbeddedBuiltinsConstantIfNeeded()

void v8::internal::compiler::CodeAssembler::CanonicalizeEmbeddedBuiltinsConstantIfNeeded ( Handle< HeapObject > object)

Definition at line 345 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Cast() [1/2]

CheckedNode< Object, false > v8::internal::compiler::CodeAssembler::Cast ( Node * value,
const char * location = "" )
inline

Definition at line 552 of file code-assembler.h.

Here is the caller graph for this function:

◆ Cast() [2/2]

template<class T >
CheckedNode< T, true > v8::internal::compiler::CodeAssembler::Cast ( TNode< T > value,
const char * location = "" )
inline

Definition at line 557 of file code-assembler.h.

◆ ChangeFloat64ToIntPtr()

TNode< IntPtrT > v8::internal::compiler::CodeAssembler::ChangeFloat64ToIntPtr ( TNode< Float64T > value)

Definition at line 806 of file code-assembler.cc.

Here is the call graph for this function:

◆ ChangeFloat64ToUintPtr()

TNode< UintPtrT > v8::internal::compiler::CodeAssembler::ChangeFloat64ToUintPtr ( TNode< Float64T > value)

Definition at line 813 of file code-assembler.cc.

Here is the call graph for this function:

◆ ChangeInt32ToIntPtr()

TNode< IntPtrT > v8::internal::compiler::CodeAssembler::ChangeInt32ToIntPtr ( TNode< Word32T > value)

Definition at line 799 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ChangeUint32ToWord()

TNode< UintPtrT > v8::internal::compiler::CodeAssembler::ChangeUint32ToWord ( TNode< Word32T > value)

Definition at line 791 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ChangeUintPtrToFloat64()

TNode< Float64T > v8::internal::compiler::CodeAssembler::ChangeUintPtrToFloat64 ( TNode< UintPtrT > value)

Definition at line 821 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Comment()

template<class... Args>
void v8::internal::compiler::CodeAssembler::Comment ( MessageWithSourceLocation message,
Args &&... args )
inline

Definition at line 759 of file code-assembler.h.

◆ ConstructJS()

template<class... TArgs>
TNode< JSAny > v8::internal::compiler::CodeAssembler::ConstructJS ( Builtin builtin,
TNode< Context > context,
TNode< Object > function,
TNode< JSAny > new_target,
TArgs... args )
inline

Definition at line 1482 of file code-assembler.h.

Here is the call graph for this function:

◆ DebugBreak()

void v8::internal::compiler::CodeAssembler::DebugBreak ( )

Definition at line 657 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DynamicJSParameterCount()

TNode< Uint16T > v8::internal::compiler::CodeAssembler::DynamicJSParameterCount ( )

Definition at line 517 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EmitComment()

void v8::internal::compiler::CodeAssembler::EmitComment ( std::string msg)
private

Definition at line 664 of file code-assembler.cc.

Here is the call graph for this function:

◆ ExternalConstant()

TNode< ExternalReference > v8::internal::compiler::CodeAssembler::ExternalConstant ( ExternalReference address)

Definition at line 397 of file code-assembler.cc.

Here is the call graph for this function:

◆ ExternalPointerHandleNullConstant()

TNode< ExternalPointerHandleT > v8::internal::compiler::CodeAssembler::ExternalPointerHandleNullConstant ( )
inline

Definition at line 650 of file code-assembler.h.

Here is the caller graph for this function:

◆ factory()

Factory * v8::internal::compiler::CodeAssembler::factory ( ) const

Definition at line 1670 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Float32Constant()

TNode< Float32T > v8::internal::compiler::CodeAssembler::Float32Constant ( double value)

Definition at line 407 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Float64Constant()

TNode< Float64T > v8::internal::compiler::CodeAssembler::Float64Constant ( double value)

Definition at line 411 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetJSContextParameter()

TNode< Context > v8::internal::compiler::CodeAssembler::GetJSContextParameter ( )

Definition at line 506 of file code-assembler.cc.

Here is the call graph for this function:

◆ GetMacroSourcePositionStack()

const std::vector< FileAndLine > & v8::internal::compiler::CodeAssembler::GetMacroSourcePositionStack ( ) const

Definition at line 686 of file code-assembler.cc.

◆ Goto() [1/2]

template<class... T, class... Args>
void v8::internal::compiler::CodeAssembler::Goto ( CodeAssemblerParameterizedLabel< T... > * label,
Args... args )
inline

Definition at line 832 of file code-assembler.h.

◆ Goto() [2/2]

void v8::internal::compiler::CodeAssembler::Goto ( Label * label)

Definition at line 1555 of file code-assembler.cc.

Here is the call graph for this function:

◆ GotoIf()

void v8::internal::compiler::CodeAssembler::GotoIf ( TNode< IntegralT > condition,
Label * true_label,
GotoHint goto_hint = GotoHint::kNone )

Definition at line 1560 of file code-assembler.cc.

Here is the call graph for this function:

◆ GotoIfNot()

void v8::internal::compiler::CodeAssembler::GotoIfNot ( TNode< IntegralT > condition,
Label * false_label,
GotoHint goto_hint = GotoHint::kNone )

Definition at line 1573 of file code-assembler.cc.

Here is the call graph for this function:

◆ HandleException()

void v8::internal::compiler::CodeAssembler::HandleException ( Node * result)
private

Definition at line 1175 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ HasDynamicJSParameterCount()

bool v8::internal::compiler::CodeAssembler::HasDynamicJSParameterCount ( )

Definition at line 513 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ HeapConstantHole()

template<class Type >
TNode< Type > v8::internal::compiler::CodeAssembler::HeapConstantHole ( Handle< Type > object)
inline

Definition at line 632 of file code-assembler.h.

Here is the caller graph for this function:

◆ HeapConstantMaybeHole()

template<class Type >
TNode< Type > v8::internal::compiler::CodeAssembler::HeapConstantMaybeHole ( Handle< Type > object)
inline

Definition at line 628 of file code-assembler.h.

Here is the caller graph for this function:

◆ HeapConstantNoHole()

template<class Type >
TNode< Type > v8::internal::compiler::CodeAssembler::HeapConstantNoHole ( Handle< Type > object)
inline

Definition at line 624 of file code-assembler.h.

Here is the caller graph for this function:

◆ Int32Add()

TNode< Int32T > v8::internal::compiler::CodeAssembler::Int32Add ( TNode< Int32T > left,
TNode< Int32T > right )
inline

Definition at line 1152 of file code-assembler.h.

Here is the caller graph for this function:

◆ Int32Constant()

TNode< Int32T > v8::internal::compiler::CodeAssembler::Int32Constant ( int32_t value)

Definition at line 297 of file code-assembler.cc.

Here is the call graph for this function:

◆ Int32FalseConstant()

TNode< BoolT > v8::internal::compiler::CodeAssembler::Int32FalseConstant ( )
inline

Definition at line 644 of file code-assembler.h.

Here is the caller graph for this function:

◆ Int32Mul()

TNode< Int32T > v8::internal::compiler::CodeAssembler::Int32Mul ( TNode< Int32T > left,
TNode< Int32T > right )
inline

Definition at line 1172 of file code-assembler.h.

Here is the caller graph for this function:

◆ Int32PairAdd()

TNode< PairT< Word32T, Word32T > > v8::internal::compiler::CodeAssembler::Int32PairAdd ( TNode< Word32T > lhs_lo_word,
TNode< Word32T > lhs_hi_word,
TNode< Word32T > rhs_lo_word,
TNode< Word32T > rhs_hi_word )

Definition at line 739 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Int32PairSub()

TNode< PairT< Word32T, Word32T > > v8::internal::compiler::CodeAssembler::Int32PairSub ( TNode< Word32T > lhs_lo_word,
TNode< Word32T > lhs_hi_word,
TNode< Word32T > rhs_lo_word,
TNode< Word32T > rhs_hi_word )

Definition at line 746 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Int32Sub() [1/2]

TNode< Int32T > v8::internal::compiler::CodeAssembler::Int32Sub ( TNode< Int32T > left,
int right )
inline

Definition at line 1250 of file code-assembler.h.

◆ Int32Sub() [2/2]

TNode< Int32T > v8::internal::compiler::CodeAssembler::Int32Sub ( TNode< Int32T > left,
TNode< Int32T > right )
inline

Definition at line 1167 of file code-assembler.h.

Here is the caller graph for this function:

◆ Int32TrueConstant()

TNode< BoolT > v8::internal::compiler::CodeAssembler::Int32TrueConstant ( )
inline

Definition at line 641 of file code-assembler.h.

Here is the caller graph for this function:

◆ Int64Add()

TNode< Int64T > v8::internal::compiler::CodeAssembler::Int64Add ( TNode< Int64T > left,
TNode< Int64T > right )
inline

Definition at line 1182 of file code-assembler.h.

◆ Int64Constant()

TNode< Int64T > v8::internal::compiler::CodeAssembler::Int64Constant ( int64_t value)

Definition at line 305 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Int64Mul()

TNode< Int64T > v8::internal::compiler::CodeAssembler::Int64Mul ( TNode< Int64T > left,
TNode< Int64T > right )
inline

Definition at line 1198 of file code-assembler.h.

◆ Int64Sub()

TNode< Int64T > v8::internal::compiler::CodeAssembler::Int64Sub ( TNode< Int64T > left,
TNode< Int64T > right )
inline

Definition at line 1190 of file code-assembler.h.

Here is the caller graph for this function:

◆ IntPtrAdd()

TNode< IntPtrT > v8::internal::compiler::CodeAssembler::IntPtrAdd ( TNode< IntPtrT > left,
TNode< IntPtrT > right )
inline

Definition at line 1206 of file code-assembler.h.

◆ IntPtrConstant()

TNode< IntPtrT > v8::internal::compiler::CodeAssembler::IntPtrConstant ( intptr_t value)

Definition at line 313 of file code-assembler.cc.

Here is the call graph for this function:

◆ IntPtrEqual()

TNode< BoolT > v8::internal::compiler::CodeAssembler::IntPtrEqual ( TNode< WordT > left,
TNode< WordT > right )
Here is the caller graph for this function:

◆ IntPtrMul()

TNode< IntPtrT > v8::internal::compiler::CodeAssembler::IntPtrMul ( TNode< IntPtrT > left,
TNode< IntPtrT > right )
inline

Definition at line 1214 of file code-assembler.h.

Here is the caller graph for this function:

◆ IntPtrSub()

TNode< IntPtrT > v8::internal::compiler::CodeAssembler::IntPtrSub ( TNode< IntPtrT > left,
TNode< IntPtrT > right )
inline

Definition at line 1210 of file code-assembler.h.

Here is the caller graph for this function:

◆ Is32()

bool v8::internal::compiler::CodeAssembler::Is32 ( ) const

Definition at line 239 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Is64()

bool v8::internal::compiler::CodeAssembler::Is64 ( ) const

Definition at line 238 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsExceptionHandlerActive()

bool v8::internal::compiler::CodeAssembler::IsExceptionHandlerActive ( ) const

Definition at line 1674 of file code-assembler.cc.

◆ IsFloat64RoundDownSupported()

bool v8::internal::compiler::CodeAssembler::IsFloat64RoundDownSupported ( ) const

Definition at line 245 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsFloat64RoundTiesEvenSupported()

bool v8::internal::compiler::CodeAssembler::IsFloat64RoundTiesEvenSupported ( ) const

Definition at line 249 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsFloat64RoundTruncateSupported()

bool v8::internal::compiler::CodeAssembler::IsFloat64RoundTruncateSupported ( ) const

Definition at line 253 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsFloat64RoundUpSupported()

bool v8::internal::compiler::CodeAssembler::IsFloat64RoundUpSupported ( ) const

Definition at line 241 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsInt32AbsWithOverflowSupported()

bool v8::internal::compiler::CodeAssembler::IsInt32AbsWithOverflowSupported ( ) const

Definition at line 264 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsInt64AbsWithOverflowSupported()

bool v8::internal::compiler::CodeAssembler::IsInt64AbsWithOverflowSupported ( ) const

Definition at line 268 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsIntPtrAbsWithOverflowSupported()

bool v8::internal::compiler::CodeAssembler::IsIntPtrAbsWithOverflowSupported ( ) const

Definition at line 272 of file code-assembler.cc.

Here is the call graph for this function:

◆ IsJSFunctionCall()

bool v8::internal::compiler::CodeAssembler::IsJSFunctionCall ( ) const
protected

Definition at line 501 of file code-assembler.cc.

Here is the call graph for this function:

◆ IsMapOffsetConstant()

bool v8::internal::compiler::CodeAssembler::IsMapOffsetConstant ( Node * node)

Definition at line 415 of file code-assembler.cc.

Here is the call graph for this function:

◆ IsNullConstant()

bool v8::internal::compiler::CodeAssembler::IsNullConstant ( TNode< Object > node)

Definition at line 491 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isolate()

Isolate * v8::internal::compiler::CodeAssembler::isolate ( ) const

Definition at line 1668 of file code-assembler.cc.

Here is the call graph for this function:

◆ IsolateField()

TNode< ExternalReference > v8::internal::compiler::CodeAssembler::IsolateField ( IsolateFieldId id)

Definition at line 403 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsTruncateFloat64ToFloat16RawBitsSupported()

bool v8::internal::compiler::CodeAssembler::IsTruncateFloat64ToFloat16RawBitsSupported ( ) const

Definition at line 257 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsUndefinedConstant()

bool v8::internal::compiler::CodeAssembler::IsUndefinedConstant ( TNode< Object > node)

Definition at line 486 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsWord32CtzSupported()

bool v8::internal::compiler::CodeAssembler::IsWord32CtzSupported ( ) const

Definition at line 285 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsWord32PopcntSupported()

bool v8::internal::compiler::CodeAssembler::IsWord32PopcntSupported ( ) const

Definition at line 277 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsWord64CtzSupported()

bool v8::internal::compiler::CodeAssembler::IsWord64CtzSupported ( ) const

Definition at line 289 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsWord64PopcntSupported()

bool v8::internal::compiler::CodeAssembler::IsWord64PopcntSupported ( ) const

Definition at line 281 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ jsgraph()

JSGraph * v8::internal::compiler::CodeAssembler::jsgraph ( ) const
private

Definition at line 1682 of file code-assembler.cc.

Here is the caller graph for this function:

◆ Load() [1/5]

Node * v8::internal::compiler::CodeAssembler::Load ( MachineType type,
Node * base )

Definition at line 853 of file code-assembler.cc.

Here is the call graph for this function:

◆ Load() [2/5]

Node * v8::internal::compiler::CodeAssembler::Load ( MachineType type,
Node * base,
Node * offset )

Definition at line 857 of file code-assembler.cc.

Here is the call graph for this function:

◆ Load() [3/5]

template<class Type >
TNode< Type > v8::internal::compiler::CodeAssembler::Load ( MachineType type,
TNode< RawPtr< Type > > base )
inline

Definition at line 864 of file code-assembler.h.

Here is the call graph for this function:

◆ Load() [4/5]

template<class Type >
TNode< Type > v8::internal::compiler::CodeAssembler::Load ( Node * base)
inline

Definition at line 871 of file code-assembler.h.

Here is the call graph for this function:

◆ Load() [5/5]

template<class Type >
TNode< Type > v8::internal::compiler::CodeAssembler::Load ( Node * base,
TNode< WordT > offset )
inline

Definition at line 875 of file code-assembler.h.

Here is the call graph for this function:

◆ LoadFramePointer()

TNode< RawPtrT > v8::internal::compiler::CodeAssembler::LoadFramePointer ( )

Definition at line 699 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LoadFromObject()

Node * v8::internal::compiler::CodeAssembler::LoadFromObject ( MachineType type,
TNode< Object > object,
TNode< IntPtrT > offset )

Definition at line 892 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LoadFullTagged() [1/2]

TNode< Object > v8::internal::compiler::CodeAssembler::LoadFullTagged ( Node * base)

Definition at line 861 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LoadFullTagged() [2/2]

TNode< Object > v8::internal::compiler::CodeAssembler::LoadFullTagged ( Node * base,
TNode< IntPtrT > offset )

Definition at line 865 of file code-assembler.cc.

Here is the call graph for this function:

◆ LoadParentFramePointer()

TNode< RawPtrT > v8::internal::compiler::CodeAssembler::LoadParentFramePointer ( )

Definition at line 703 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LoadPointerFromRootRegister()

TNode< RawPtrT > v8::internal::compiler::CodeAssembler::LoadPointerFromRootRegister ( TNode< IntPtrT > offset)

Definition at line 717 of file code-assembler.cc.

Here is the call graph for this function:

◆ LoadProtectedPointerFromObject()

Node * v8::internal::compiler::CodeAssembler::LoadProtectedPointerFromObject ( TNode< Object > object,
TNode< IntPtrT > offset )

Definition at line 897 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LoadRoot()

TNode< Object > v8::internal::compiler::CodeAssembler::LoadRoot ( RootIndex root_index)

Definition at line 923 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LoadRootMapWord()

TNode< AnyTaggedT > v8::internal::compiler::CodeAssembler::LoadRootMapWord ( RootIndex root_index)

Definition at line 912 of file code-assembler.cc.

Here is the call graph for this function:

◆ LoadUint8FromRootRegister()

TNode< Uint8T > v8::internal::compiler::CodeAssembler::LoadUint8FromRootRegister ( TNode< IntPtrT > offset)

Definition at line 723 of file code-assembler.cc.

Here is the call graph for this function:

◆ MemoryBarrier()

void v8::internal::compiler::CodeAssembler::MemoryBarrier ( AtomicMemoryOrder order)

Definition at line 1152 of file code-assembler.cc.

Here is the call graph for this function:

◆ NumberConstant()

TNode< Number > v8::internal::compiler::CodeAssembler::NumberConstant ( double value)

Definition at line 322 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

CodeAssembler & v8::internal::compiler::CodeAssembler::operator= ( const CodeAssembler & )
delete
Here is the call graph for this function:

◆ OptimizedAllocate()

TNode< HeapObject > v8::internal::compiler::CodeAssembler::OptimizedAllocate ( TNode< IntPtrT > size,
AllocationType allocation )

Definition at line 1169 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ OptimizedStoreField()

void v8::internal::compiler::CodeAssembler::OptimizedStoreField ( MachineRepresentation rep,
TNode< HeapObject > object,
int offset,
Node * value )

Definition at line 977 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ OptimizedStoreFieldAssertNoWriteBarrier()

void v8::internal::compiler::CodeAssembler::OptimizedStoreFieldAssertNoWriteBarrier ( MachineRepresentation rep,
TNode< HeapObject > object,
int offset,
Node * value )

Definition at line 999 of file code-assembler.cc.

Here is the call graph for this function:

◆ OptimizedStoreFieldUnsafeNoWriteBarrier()

void v8::internal::compiler::CodeAssembler::OptimizedStoreFieldUnsafeNoWriteBarrier ( MachineRepresentation rep,
TNode< HeapObject > object,
int offset,
Node * value )

Definition at line 1006 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ OptimizedStoreIndirectPointerField()

void v8::internal::compiler::CodeAssembler::OptimizedStoreIndirectPointerField ( TNode< HeapObject > object,
int offset,
IndirectPointerTag tag,
Node * value )

Definition at line 984 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ OptimizedStoreIndirectPointerFieldNoWriteBarrier()

void v8::internal::compiler::CodeAssembler::OptimizedStoreIndirectPointerFieldNoWriteBarrier ( TNode< HeapObject > object,
int offset,
IndirectPointerTag tag,
Node * value )

Definition at line 993 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ OptimizedStoreMap()

void v8::internal::compiler::CodeAssembler::OptimizedStoreMap ( TNode< HeapObject > object,
TNode< Map > map )

Definition at line 1013 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Parameter()

template<class T >
TNode< T > v8::internal::compiler::CodeAssembler::Parameter ( int value,
const SourceLocation & loc = SourceLocation::Current() )
inline

Definition at line 699 of file code-assembler.h.

Here is the call graph for this function:

◆ PointerConstant()

TNode< RawPtrT > v8::internal::compiler::CodeAssembler::PointerConstant ( void * value)
inline

Definition at line 604 of file code-assembler.h.

◆ PopAndReturn() [1/2]

void v8::internal::compiler::CodeAssembler::PopAndReturn ( Node * pop,
Node * value )

Definition at line 634 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PopAndReturn() [2/2]

void v8::internal::compiler::CodeAssembler::PopAndReturn ( Node * pop,
Node * value1,
Node * value2,
Node * value3,
Node * value4 )

Definition at line 639 of file code-assembler.cc.

Here is the call graph for this function:

◆ PopSourcePosition()

void v8::internal::compiler::CodeAssembler::PopSourcePosition ( )

Definition at line 682 of file code-assembler.cc.

◆ Projection() [1/2]

Node * v8::internal::compiler::CodeAssembler::Projection ( int index,
Node * value )
private

Definition at line 1164 of file code-assembler.cc.

Here is the call graph for this function:

◆ Projection() [2/2]

template<int index, class T1 , class T2 >
TNode< typename std::tuple_element< index, std::tuple< T1, T2 > >::type > v8::internal::compiler::CodeAssembler::Projection ( TNode< PairT< T1, T2 > > value)
inline

Definition at line 1301 of file code-assembler.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PushSourcePosition()

void v8::internal::compiler::CodeAssembler::PushSourcePosition ( )

Definition at line 677 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ raw_assembler()

RawMachineAssembler * v8::internal::compiler::CodeAssembler::raw_assembler ( ) const
private

Definition at line 1678 of file code-assembler.cc.

◆ RawPtrAdd()

TNode< RawPtrT > v8::internal::compiler::CodeAssembler::RawPtrAdd ( TNode< RawPtrT > left,
TNode< IntPtrT > right )
inline

Definition at line 1226 of file code-assembler.h.

Here is the caller graph for this function:

◆ RawPtrSub() [1/2]

TNode< RawPtrT > v8::internal::compiler::CodeAssembler::RawPtrSub ( TNode< RawPtrT > left,
TNode< IntPtrT > right )
inline

Definition at line 1229 of file code-assembler.h.

Here is the caller graph for this function:

◆ RawPtrSub() [2/2]

TNode< IntPtrT > v8::internal::compiler::CodeAssembler::RawPtrSub ( TNode< RawPtrT > left,
TNode< RawPtrT > right )
inline

Definition at line 1232 of file code-assembler.h.

◆ RegisterCallGenerationCallbacks()

void v8::internal::compiler::CodeAssembler::RegisterCallGenerationCallbacks ( const CodeAssemblerCallback & call_prologue,
const CodeAssemblerCallback & call_epilogue )
protected

Definition at line 130 of file code-assembler.cc.

Here is the caller graph for this function:

◆ ReinterpretCast()

template<class T >
TNode< T > v8::internal::compiler::CodeAssembler::ReinterpretCast ( Node * value)
inline

Definition at line 548 of file code-assembler.h.

Here is the caller graph for this function:

◆ Return() [1/12]

void v8::internal::compiler::CodeAssembler::Return ( TNode< Float32T > value)

Definition at line 580 of file code-assembler.cc.

Here is the call graph for this function:

◆ Return() [2/12]

void v8::internal::compiler::CodeAssembler::Return ( TNode< Float64T > value)

Definition at line 587 of file code-assembler.cc.

Here is the call graph for this function:

◆ Return() [3/12]

void v8::internal::compiler::CodeAssembler::Return ( TNode< Int32T > value)

Definition at line 558 of file code-assembler.cc.

Here is the call graph for this function:

◆ Return() [4/12]

void v8::internal::compiler::CodeAssembler::Return ( TNode< Object > value)

Definition at line 536 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Return() [5/12]

void v8::internal::compiler::CodeAssembler::Return ( TNode< Object > value1,
TNode< Object > value2 )

Definition at line 542 of file code-assembler.cc.

Here is the call graph for this function:

◆ Return() [6/12]

void v8::internal::compiler::CodeAssembler::Return ( TNode< Object > value1,
TNode< Object > value2,
TNode< Object > value3 )

Definition at line 549 of file code-assembler.cc.

Here is the call graph for this function:

◆ Return() [7/12]

void v8::internal::compiler::CodeAssembler::Return ( TNode< Uint32T > value)

Definition at line 565 of file code-assembler.cc.

Here is the call graph for this function:

◆ Return() [8/12]

void v8::internal::compiler::CodeAssembler::Return ( TNode< Word32T > value1,
TNode< Object > value2 )

Definition at line 625 of file code-assembler.cc.

Here is the call graph for this function:

◆ Return() [9/12]

void v8::internal::compiler::CodeAssembler::Return ( TNode< Word32T > value1,
TNode< Word32T > value2 )

Definition at line 605 of file code-assembler.cc.

Here is the call graph for this function:

◆ Return() [10/12]

void v8::internal::compiler::CodeAssembler::Return ( TNode< WordT > value)

Definition at line 572 of file code-assembler.cc.

Here is the call graph for this function:

◆ Return() [11/12]

void v8::internal::compiler::CodeAssembler::Return ( TNode< WordT > value1,
TNode< Object > value2 )

Definition at line 616 of file code-assembler.cc.

Here is the call graph for this function:

◆ Return() [12/12]

void v8::internal::compiler::CodeAssembler::Return ( TNode< WordT > value1,
TNode< WordT > value2 )

Definition at line 594 of file code-assembler.cc.

Here is the call graph for this function:

◆ ReturnIf()

void v8::internal::compiler::CodeAssembler::ReturnIf ( TNode< BoolT > condition,
TNode< Object > value )

Definition at line 645 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RoundIntPtrToFloat64()

TNode< Float64T > v8::internal::compiler::CodeAssembler::RoundIntPtrToFloat64 ( Node * value)

Definition at line 831 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetDynamicJSParameterCount()

void v8::internal::compiler::CodeAssembler::SetDynamicJSParameterCount ( TNode< Uint16T > parameter_count)

Definition at line 522 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetSourcePosition()

void v8::internal::compiler::CodeAssembler::SetSourcePosition ( const char * file,
int line )

Definition at line 673 of file code-assembler.cc.

Here is the call graph for this function:

◆ Signed() [1/4]

TNode< Int32T > v8::internal::compiler::CodeAssembler::Signed ( TNode< Int32T > x)
private

◆ Signed() [2/4]

TNode< Int32T > v8::internal::compiler::CodeAssembler::Signed ( TNode< Word32T > x)
inline

Definition at line 666 of file code-assembler.h.

◆ Signed() [3/4]

TNode< Int64T > v8::internal::compiler::CodeAssembler::Signed ( TNode< Word64T > x)
inline

Definition at line 667 of file code-assembler.h.

◆ Signed() [4/4]

TNode< IntPtrT > v8::internal::compiler::CodeAssembler::Signed ( TNode< WordT > x)
inline

Definition at line 668 of file code-assembler.h.

◆ SmiConstant() [1/3]

template<typename E >
requires std::is_enum<E>::value
TNode< Smi > v8::internal::compiler::CodeAssembler::SmiConstant ( E value)
inline

Definition at line 612 of file code-assembler.h.

◆ SmiConstant() [2/3]

TNode< Smi > v8::internal::compiler::CodeAssembler::SmiConstant ( int value)

Definition at line 341 of file code-assembler.cc.

Here is the call graph for this function:

◆ SmiConstant() [3/3]

TNode< Smi > v8::internal::compiler::CodeAssembler::SmiConstant ( Tagged< Smi > value)

Definition at line 336 of file code-assembler.cc.

Here is the call graph for this function:

◆ StackSlotPtr()

TNode< RawPtrT > v8::internal::compiler::CodeAssembler::StackSlotPtr ( int size,
int alignment )

Definition at line 728 of file code-assembler.cc.

Here is the call graph for this function:

◆ state()

CodeAssemblerState * v8::internal::compiler::CodeAssembler::state ( )
inline

Definition at line 1556 of file code-assembler.h.

Here is the caller graph for this function:

◆ StaticAssert()

void v8::internal::compiler::CodeAssembler::StaticAssert ( TNode< BoolT > value,
const char * source = "unknown position" )

Definition at line 669 of file code-assembler.cc.

Here is the call graph for this function:

◆ Store() [1/2]

void v8::internal::compiler::CodeAssembler::Store ( Node * base,
Node * offset,
Node * value )

Definition at line 1018 of file code-assembler.cc.

Here is the call graph for this function:

◆ Store() [2/2]

void v8::internal::compiler::CodeAssembler::Store ( Node * base,
Node * value )

Definition at line 948 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ StoreEphemeronKey()

void v8::internal::compiler::CodeAssembler::StoreEphemeronKey ( Node * base,
Node * offset,
Node * value )

Definition at line 1025 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ StoreFullTaggedNoWriteBarrier() [1/2]

void v8::internal::compiler::CodeAssembler::StoreFullTaggedNoWriteBarrier ( TNode< RawPtrT > base,
TNode< IntPtrT > offset,
TNode< Object > tagged_value )

Definition at line 1066 of file code-assembler.cc.

Here is the call graph for this function:

◆ StoreFullTaggedNoWriteBarrier() [2/2]

void v8::internal::compiler::CodeAssembler::StoreFullTaggedNoWriteBarrier ( TNode< RawPtrT > base,
TNode< Object > tagged_value )

Definition at line 1060 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ StoreNoWriteBarrier() [1/2]

void v8::internal::compiler::CodeAssembler::StoreNoWriteBarrier ( MachineRepresentation rep,
Node * base,
Node * offset,
Node * value )

Definition at line 1038 of file code-assembler.cc.

Here is the call graph for this function:

◆ StoreNoWriteBarrier() [2/2]

void v8::internal::compiler::CodeAssembler::StoreNoWriteBarrier ( MachineRepresentation rep,
Node * base,
Node * value )

Definition at line 1031 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ StoreRoot()

void v8::internal::compiler::CodeAssembler::StoreRoot ( RootIndex root_index,
TNode< Object > value )

Definition at line 1156 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ StoreToObject()

void v8::internal::compiler::CodeAssembler::StoreToObject ( MachineRepresentation rep,
TNode< Object > object,
TNode< IntPtrT > offset,
Node * value,
StoreToObjectWriteBarrier write_barrier )

Definition at line 953 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ StringConstant()

TNode< String > v8::internal::compiler::CodeAssembler::StringConstant ( const char * str)

Definition at line 384 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Switch()

void v8::internal::compiler::CodeAssembler::Switch ( Node * index,
Label * default_label,
const int32_t * case_values,
Label ** case_labels,
size_t case_count )

Definition at line 1646 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SwitchFromTheCentralStack()

void v8::internal::compiler::CodeAssembler::SwitchFromTheCentralStack ( TNode< RawPtrT > old_sp)

◆ SwitchToTheCentralStack()

TNode< RawPtrT > v8::internal::compiler::CodeAssembler::SwitchToTheCentralStack ( )

◆ SwitchToTheCentralStackIfNeeded()

TNode< RawPtrT > v8::internal::compiler::CodeAssembler::SwitchToTheCentralStackIfNeeded ( )

◆ TaggedIndexConstant()

TNode< TaggedIndex > v8::internal::compiler::CodeAssembler::TaggedIndexConstant ( intptr_t value)

Definition at line 317 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TailCallBuiltin()

template<class... TArgs>
void v8::internal::compiler::CodeAssembler::TailCallBuiltin ( Builtin id,
TNode< Object > context,
TArgs... args )
inline

Definition at line 1380 of file code-assembler.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TailCallBuiltinThenBytecodeDispatch()

template<class... TArgs>
void v8::internal::compiler::CodeAssembler::TailCallBuiltinThenBytecodeDispatch ( Builtin builtin,
Node * context,
TArgs... args )
inline

Definition at line 1418 of file code-assembler.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TailCallBytecodeDispatch()

template<class... TArgs>
template V8_EXPORT_PRIVATE void v8::internal::compiler::CodeAssembler::TailCallBytecodeDispatch ( const CallInterfaceDescriptor & descriptor,
TNode< RawPtrT > target,
TArgs... args )

Definition at line 1487 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TailCallJSBuiltin()

void v8::internal::compiler::CodeAssembler::TailCallJSBuiltin ( Builtin id,
TNode< Object > context,
TNode< Object > function,
TNode< Object > new_target,
TNode< Int32T > arg_count,
TNode< JSDispatchHandleT > dispatch_handle )
inline

Definition at line 1449 of file code-assembler.h.

Here is the call graph for this function:

◆ TailCallJSCode()

void v8::internal::compiler::CodeAssembler::TailCallJSCode ( TNode< Code > code,
TNode< Context > context,
TNode< JSFunction > function,
TNode< Object > new_target,
TNode< Int32T > arg_count,
TNode< JSDispatchHandleT > dispatch_handle )

Definition at line 1506 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TailCallRuntime() [1/2]

template<class... TArgs>
void v8::internal::compiler::CodeAssembler::TailCallRuntime ( Runtime::FunctionId function,
TNode< Int32T > arity,
TNode< Object > context,
TArgs... args )
inline

Definition at line 1325 of file code-assembler.h.

Here is the call graph for this function:

◆ TailCallRuntime() [2/2]

template<class... TArgs>
void v8::internal::compiler::CodeAssembler::TailCallRuntime ( Runtime::FunctionId function,
TNode< Object > context,
TArgs... args )
inline

Definition at line 1316 of file code-assembler.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TailCallRuntimeImpl()

void v8::internal::compiler::CodeAssembler::TailCallRuntimeImpl ( Runtime::FunctionId function,
TNode< Int32T > arity,
TNode< Object > context,
std::initializer_list< TNode< Object > > args )
private

Definition at line 1322 of file code-assembler.cc.

Here is the call graph for this function:

◆ TailCallStub()

template<class... TArgs>
void v8::internal::compiler::CodeAssembler::TailCallStub ( const CallInterfaceDescriptor & descriptor,
TNode< Code > target,
TNode< Object > context,
TArgs... args )
inline

Definition at line 1408 of file code-assembler.h.

Here is the caller graph for this function:

◆ TailCallStubImpl()

void v8::internal::compiler::CodeAssembler::TailCallStubImpl ( const CallInterfaceDescriptor & descriptor,
TNode< Code > target,
TNode< Object > context,
std::initializer_list< Node * > args )
private

Definition at line 1390 of file code-assembler.cc.

Here is the call graph for this function:

◆ TailCallStubThenBytecodeDispatchImpl()

void v8::internal::compiler::CodeAssembler::TailCallStubThenBytecodeDispatchImpl ( const CallInterfaceDescriptor & descriptor,
Node * target,
Node * context,
std::initializer_list< Node * > args )
private

Definition at line 1463 of file code-assembler.cc.

Here is the call graph for this function:

◆ TruncateFloat32ToInt32()

TNode< Int32T > v8::internal::compiler::CodeAssembler::TruncateFloat32ToInt32 ( TNode< Float32T > value)

Definition at line 838 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TruncateFloat64ToInt64()

TNode< Int64T > v8::internal::compiler::CodeAssembler::TruncateFloat64ToInt64 ( TNode< Float64T > value)

Definition at line 842 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TryToInt32Constant()

bool v8::internal::compiler::CodeAssembler::TryToInt32Constant ( TNode< IntegralT > node,
int32_t * out_value )

Definition at line 419 of file code-assembler.cc.

Here is the caller graph for this function:

◆ TryToInt64Constant()

bool v8::internal::compiler::CodeAssembler::TryToInt64Constant ( TNode< IntegralT > node,
int64_t * out_value )

Definition at line 442 of file code-assembler.cc.

◆ TryToIntPtrConstant() [1/2]

bool v8::internal::compiler::CodeAssembler::TryToIntPtrConstant ( TNode< IntegralT > node,
intptr_t * out_value )

Definition at line 479 of file code-assembler.cc.

Here is the caller graph for this function:

◆ TryToIntPtrConstant() [2/2]

bool v8::internal::compiler::CodeAssembler::TryToIntPtrConstant ( TNode< Smi > tnode,
intptr_t * out_value )

Definition at line 470 of file code-assembler.cc.

Here is the call graph for this function:

◆ TryToSmiConstant() [1/2]

bool v8::internal::compiler::CodeAssembler::TryToSmiConstant ( TNode< IntegralT > node,
Tagged< Smi > * out_value )

Definition at line 457 of file code-assembler.cc.

Here is the caller graph for this function:

◆ TryToSmiConstant() [2/2]

bool v8::internal::compiler::CodeAssembler::TryToSmiConstant ( TNode< Smi > node,
Tagged< Smi > * out_value )

Definition at line 449 of file code-assembler.cc.

Here is the call graph for this function:

◆ Uint32Add()

TNode< Uint32T > v8::internal::compiler::CodeAssembler::Uint32Add ( TNode< Uint32T > left,
TNode< Uint32T > right )
inline

Definition at line 1157 of file code-assembler.h.

Here is the caller graph for this function:

◆ Uint32Constant()

TNode< Uint32T > v8::internal::compiler::CodeAssembler::Uint32Constant ( uint32_t value)
inline

Definition at line 587 of file code-assembler.h.

Here is the caller graph for this function:

◆ Uint32Mul()

TNode< Uint32T > v8::internal::compiler::CodeAssembler::Uint32Mul ( TNode< Uint32T > left,
TNode< Uint32T > right )
inline

Definition at line 1177 of file code-assembler.h.

Here is the caller graph for this function:

◆ Uint32Sub()

TNode< Uint32T > v8::internal::compiler::CodeAssembler::Uint32Sub ( TNode< Uint32T > left,
TNode< Uint32T > right )
inline

Definition at line 1162 of file code-assembler.h.

Here is the caller graph for this function:

◆ Uint64Add()

TNode< Uint64T > v8::internal::compiler::CodeAssembler::Uint64Add ( TNode< Uint64T > left,
TNode< Uint64T > right )
inline

Definition at line 1186 of file code-assembler.h.

Here is the caller graph for this function:

◆ Uint64Constant()

TNode< Uint64T > v8::internal::compiler::CodeAssembler::Uint64Constant ( uint64_t value)
inline

Definition at line 579 of file code-assembler.h.

Here is the caller graph for this function:

◆ Uint64HighWordConstant()

TNode< Uint32T > v8::internal::compiler::CodeAssembler::Uint64HighWordConstant ( uint64_t value)
inline

Definition at line 590 of file code-assembler.h.

Here is the caller graph for this function:

◆ Uint64HighWordConstantNoLowWord()

TNode< Uint32T > v8::internal::compiler::CodeAssembler::Uint64HighWordConstantNoLowWord ( uint64_t value)
inline

Definition at line 593 of file code-assembler.h.

Here is the caller graph for this function:

◆ Uint64LowWordConstant()

TNode< Uint32T > v8::internal::compiler::CodeAssembler::Uint64LowWordConstant ( uint64_t value)
inline

Definition at line 597 of file code-assembler.h.

Here is the caller graph for this function:

◆ Uint64Mul()

TNode< Uint64T > v8::internal::compiler::CodeAssembler::Uint64Mul ( TNode< Uint64T > left,
TNode< Uint64T > right )
inline

Definition at line 1202 of file code-assembler.h.

◆ Uint64Sub()

TNode< Uint64T > v8::internal::compiler::CodeAssembler::Uint64Sub ( TNode< Uint64T > left,
TNode< Uint64T > right )
inline

Definition at line 1194 of file code-assembler.h.

Here is the caller graph for this function:

◆ UintPtrAdd()

TNode< UintPtrT > v8::internal::compiler::CodeAssembler::UintPtrAdd ( TNode< UintPtrT > left,
TNode< UintPtrT > right )
inline

Definition at line 1218 of file code-assembler.h.

Here is the caller graph for this function:

◆ UintPtrConstant()

TNode< UintPtrT > v8::internal::compiler::CodeAssembler::UintPtrConstant ( uintptr_t value)
inline

Definition at line 600 of file code-assembler.h.

Here is the caller graph for this function:

◆ UintPtrSub()

TNode< UintPtrT > v8::internal::compiler::CodeAssembler::UintPtrSub ( TNode< UintPtrT > left,
TNode< UintPtrT > right )
inline

Definition at line 1222 of file code-assembler.h.

◆ UnalignedLoad() [1/2]

Node * v8::internal::compiler::CodeAssembler::UnalignedLoad ( MachineType type,
TNode< RawPtrT > base,
TNode< WordT > offset )
private

Definition at line 943 of file code-assembler.cc.

Here is the call graph for this function:

◆ UnalignedLoad() [2/2]

template<typename Type >
TNode< Type > v8::internal::compiler::CodeAssembler::UnalignedLoad ( TNode< RawPtrT > base,
TNode< IntPtrT > offset )
inline

Definition at line 909 of file code-assembler.h.

Here is the caller graph for this function:

◆ UnalignedLoadSupported()

bool v8::internal::compiler::CodeAssembler::UnalignedLoadSupported ( MachineRepresentation rep) const

Definition at line 1660 of file code-assembler.cc.

Here is the call graph for this function:

◆ UnalignedStoreSupported()

bool v8::internal::compiler::CodeAssembler::UnalignedStoreSupported ( MachineRepresentation rep) const

Definition at line 1663 of file code-assembler.cc.

Here is the call graph for this function:

◆ UncheckedCast() [1/2]

template<class T >
TNode< T > v8::internal::compiler::CodeAssembler::UncheckedCast ( Node * value)
inline

Definition at line 535 of file code-assembler.h.

◆ UncheckedCast() [2/2]

template<class T , class U >
TNode< T > v8::internal::compiler::CodeAssembler::UncheckedCast ( TNode< U > value)
inline

Definition at line 539 of file code-assembler.h.

◆ UncheckedParameter()

template<class T >
TNode< T > v8::internal::compiler::CodeAssembler::UncheckedParameter ( int value)
inline

Definition at line 717 of file code-assembler.h.

Here is the caller graph for this function:

◆ Uninitialized()

template<class T >
TNode< T > v8::internal::compiler::CodeAssembler::Uninitialized ( )
inline

Definition at line 803 of file code-assembler.h.

◆ UniqueInt32Constant()

TNode< Int32T > v8::internal::compiler::CodeAssembler::UniqueInt32Constant ( int32_t value)

Definition at line 293 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UniqueInt64Constant()

TNode< Int64T > v8::internal::compiler::CodeAssembler::UniqueInt64Constant ( int64_t value)

Definition at line 301 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UniqueIntPtrConstant()

TNode< IntPtrT > v8::internal::compiler::CodeAssembler::UniqueIntPtrConstant ( intptr_t value)

Definition at line 309 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UniqueUint32Constant()

TNode< Uint32T > v8::internal::compiler::CodeAssembler::UniqueUint32Constant ( int32_t value)
inline

Definition at line 584 of file code-assembler.h.

Here is the caller graph for this function:

◆ Unreachable()

void v8::internal::compiler::CodeAssembler::Unreachable ( )

Definition at line 659 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UnregisterCallGenerationCallbacks()

void v8::internal::compiler::CodeAssembler::UnregisterCallGenerationCallbacks ( )
protected

Definition at line 140 of file code-assembler.cc.

Here is the caller graph for this function:

◆ UnsafeStoreNoWriteBarrier() [1/2]

void v8::internal::compiler::CodeAssembler::UnsafeStoreNoWriteBarrier ( MachineRepresentation rep,
Node * base,
Node * offset,
Node * value )

Definition at line 1052 of file code-assembler.cc.

Here is the call graph for this function:

◆ UnsafeStoreNoWriteBarrier() [2/2]

void v8::internal::compiler::CodeAssembler::UnsafeStoreNoWriteBarrier ( MachineRepresentation rep,
Node * base,
Node * value )

Definition at line 1047 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Unsigned() [1/4]

TNode< Uint32T > v8::internal::compiler::CodeAssembler::Unsigned ( TNode< Uint32T > x)
private

◆ Unsigned() [2/4]

TNode< Uint32T > v8::internal::compiler::CodeAssembler::Unsigned ( TNode< Word32T > x)
inline

Definition at line 669 of file code-assembler.h.

Here is the caller graph for this function:

◆ Unsigned() [3/4]

TNode< Uint64T > v8::internal::compiler::CodeAssembler::Unsigned ( TNode< Word64T > x)
inline

Definition at line 672 of file code-assembler.h.

◆ Unsigned() [4/4]

TNode< UintPtrT > v8::internal::compiler::CodeAssembler::Unsigned ( TNode< WordT > x)
inline

Definition at line 675 of file code-assembler.h.

◆ UntypedHeapConstantHole()

TNode< HeapObject > v8::internal::compiler::CodeAssembler::UntypedHeapConstantHole ( Handle< HeapObject > object)

Definition at line 378 of file code-assembler.cc.

Here is the call graph for this function:

◆ UntypedHeapConstantMaybeHole()

TNode< HeapObject > v8::internal::compiler::CodeAssembler::UntypedHeapConstantMaybeHole ( Handle< HeapObject > object)

Definition at line 371 of file code-assembler.cc.

Here is the call graph for this function:

◆ UntypedHeapConstantNoHole()

TNode< HeapObject > v8::internal::compiler::CodeAssembler::UntypedHeapConstantNoHole ( Handle< HeapObject > object)

Definition at line 361 of file code-assembler.cc.

Here is the call graph for this function:

◆ UntypedParameter()

Node * v8::internal::compiler::CodeAssembler::UntypedParameter ( int value)

Definition at line 496 of file code-assembler.cc.

Here is the call graph for this function:

◆ Word32And() [1/4]

TNode< BoolT > v8::internal::compiler::CodeAssembler::Word32And ( TNode< BoolT > left,
TNode< BoolT > right )
inline

Definition at line 1147 of file code-assembler.h.

◆ Word32And() [2/4]

TNode< Int32T > v8::internal::compiler::CodeAssembler::Word32And ( TNode< Int32T > left,
TNode< Int32T > right )
inline

Definition at line 1106 of file code-assembler.h.

◆ Word32And() [3/4]

TNode< Uint32T > v8::internal::compiler::CodeAssembler::Word32And ( TNode< Uint32T > left,
TNode< Uint32T > right )
inline

Definition at line 1110 of file code-assembler.h.

◆ Word32And() [4/4]

TNode< Word32T > v8::internal::compiler::CodeAssembler::Word32And ( TNode< Word32T > left,
int right )
inline

Definition at line 1253 of file code-assembler.h.

◆ Word32BitwiseNot()

TNode< Int32T > v8::internal::compiler::CodeAssembler::Word32BitwiseNot ( TNode< Int32T > a)
inline

Definition at line 1140 of file code-assembler.h.

Here is the caller graph for this function:

◆ Word32Equal() [1/2]

TNode< BoolT > v8::internal::compiler::CodeAssembler::Word32Equal ( TNode< Word32T > left,
int right )
inline

Definition at line 1259 of file code-assembler.h.

◆ Word32Equal() [2/2]

TNode< BoolT > v8::internal::compiler::CodeAssembler::Word32Equal ( TNode< Word32T > left,
TNode< Word32T > right )

◆ Word32NotEqual()

TNode< BoolT > v8::internal::compiler::CodeAssembler::Word32NotEqual ( TNode< Word32T > left,
TNode< Word32T > right )
Here is the caller graph for this function:

◆ Word32Or() [1/3]

TNode< BoolT > v8::internal::compiler::CodeAssembler::Word32Or ( TNode< BoolT > left,
TNode< BoolT > right )
inline

Definition at line 1143 of file code-assembler.h.

◆ Word32Or() [2/3]

TNode< Int32T > v8::internal::compiler::CodeAssembler::Word32Or ( TNode< Int32T > left,
TNode< Int32T > right )
inline

Definition at line 1120 of file code-assembler.h.

Here is the caller graph for this function:

◆ Word32Or() [3/3]

TNode< Uint32T > v8::internal::compiler::CodeAssembler::Word32Or ( TNode< Uint32T > left,
TNode< Uint32T > right )
inline

Definition at line 1124 of file code-assembler.h.

◆ Word32Sar() [1/2]

TNode< Int32T > v8::internal::compiler::CodeAssembler::Word32Sar ( TNode< Int32T > left,
TNode< Int32T > right )
inline

Definition at line 1056 of file code-assembler.h.

Here is the caller graph for this function:

◆ Word32Sar() [2/2]

TNode< Word32T > v8::internal::compiler::CodeAssembler::Word32Sar ( TNode< Word32T > value,
int shift )

Definition at line 769 of file code-assembler.cc.

Here is the call graph for this function:

◆ Word32ShiftIsSafe()

bool v8::internal::compiler::CodeAssembler::Word32ShiftIsSafe ( ) const
protected

Definition at line 157 of file code-assembler.cc.

Here is the call graph for this function:

◆ Word32Shl() [1/3]

TNode< Int32T > v8::internal::compiler::CodeAssembler::Word32Shl ( TNode< Int32T > left,
int right )
inline

Definition at line 1256 of file code-assembler.h.

◆ Word32Shl() [2/3]

TNode< Int32T > v8::internal::compiler::CodeAssembler::Word32Shl ( TNode< Int32T > left,
TNode< Int32T > right )
inline

Definition at line 1047 of file code-assembler.h.

Here is the caller graph for this function:

◆ Word32Shl() [3/3]

TNode< Uint32T > v8::internal::compiler::CodeAssembler::Word32Shl ( TNode< Uint32T > left,
TNode< Uint32T > right )
inline

Definition at line 1050 of file code-assembler.h.

◆ Word32Shr() [1/2]

TNode< Uint32T > v8::internal::compiler::CodeAssembler::Word32Shr ( TNode< Uint32T > left,
TNode< Uint32T > right )
inline

Definition at line 1053 of file code-assembler.h.

Here is the caller graph for this function:

◆ Word32Shr() [2/2]

TNode< Word32T > v8::internal::compiler::CodeAssembler::Word32Shr ( TNode< Word32T > value,
int shift )

Definition at line 765 of file code-assembler.cc.

Here is the call graph for this function:

◆ Word64And() [1/2]

TNode< Int64T > v8::internal::compiler::CodeAssembler::Word64And ( TNode< Int64T > left,
TNode< Int64T > right )
inline

Definition at line 1076 of file code-assembler.h.

Here is the caller graph for this function:

◆ Word64And() [2/2]

TNode< Uint64T > v8::internal::compiler::CodeAssembler::Word64And ( TNode< Uint64T > left,
TNode< Uint64T > right )
inline

Definition at line 1079 of file code-assembler.h.

◆ Word64Equal()

TNode< BoolT > v8::internal::compiler::CodeAssembler::Word64Equal ( TNode< Word64T > left,
TNode< Word64T > right )
Here is the caller graph for this function:

◆ Word64Not() [1/2]

TNode< Int64T > v8::internal::compiler::CodeAssembler::Word64Not ( TNode< Int64T > value)
inline

Definition at line 1090 of file code-assembler.h.

Here is the caller graph for this function:

◆ Word64Not() [2/2]

TNode< Uint64T > v8::internal::compiler::CodeAssembler::Word64Not ( TNode< Uint64T > value)
inline

Definition at line 1093 of file code-assembler.h.

◆ Word64NotEqual()

TNode< BoolT > v8::internal::compiler::CodeAssembler::Word64NotEqual ( TNode< Word64T > left,
TNode< Word64T > right )
Here is the caller graph for this function:

◆ Word64Sar()

TNode< Int64T > v8::internal::compiler::CodeAssembler::Word64Sar ( TNode< Int64T > left,
TNode< Int64T > right )
inline

Definition at line 1072 of file code-assembler.h.

◆ Word64Shl() [1/2]

TNode< Int64T > v8::internal::compiler::CodeAssembler::Word64Shl ( TNode< Int64T > left,
TNode< Int64T > right )
inline

Definition at line 1060 of file code-assembler.h.

Here is the caller graph for this function:

◆ Word64Shl() [2/2]

TNode< Uint64T > v8::internal::compiler::CodeAssembler::Word64Shl ( TNode< Uint64T > left,
TNode< Uint64T > right )
inline

Definition at line 1063 of file code-assembler.h.

◆ Word64Shr() [1/2]

TNode< Int64T > v8::internal::compiler::CodeAssembler::Word64Shr ( TNode< Int64T > left,
TNode< Uint64T > right )
inline

Definition at line 1066 of file code-assembler.h.

Here is the caller graph for this function:

◆ Word64Shr() [2/2]

TNode< Uint64T > v8::internal::compiler::CodeAssembler::Word64Shr ( TNode< Uint64T > left,
TNode< Uint64T > right )
inline

Definition at line 1069 of file code-assembler.h.

◆ Word64Xor() [1/2]

TNode< Int64T > v8::internal::compiler::CodeAssembler::Word64Xor ( TNode< Int64T > left,
TNode< Int64T > right )
inline

Definition at line 1083 of file code-assembler.h.

Here is the caller graph for this function:

◆ Word64Xor() [2/2]

TNode< Uint64T > v8::internal::compiler::CodeAssembler::Word64Xor ( TNode< Uint64T > left,
TNode< Uint64T > right )
inline

Definition at line 1086 of file code-assembler.h.

◆ WordAnd() [1/2]

TNode< IntPtrT > v8::internal::compiler::CodeAssembler::WordAnd ( TNode< IntPtrT > left,
TNode< IntPtrT > right )
inline

Definition at line 1097 of file code-assembler.h.

Here is the caller graph for this function:

◆ WordAnd() [2/2]

TNode< UintPtrT > v8::internal::compiler::CodeAssembler::WordAnd ( TNode< UintPtrT > left,
TNode< UintPtrT > right )
inline

Definition at line 1101 of file code-assembler.h.

◆ WordEqual()

TNode< BoolT > v8::internal::compiler::CodeAssembler::WordEqual ( TNode< WordT > left,
TNode< WordT > right )
Here is the caller graph for this function:

◆ WordNot()

TNode< IntPtrT > v8::internal::compiler::CodeAssembler::WordNot ( TNode< IntPtrT > a)
inline

Definition at line 1137 of file code-assembler.h.

◆ WordNotEqual()

TNode< BoolT > v8::internal::compiler::CodeAssembler::WordNotEqual ( TNode< WordT > left,
TNode< WordT > right )
Here is the caller graph for this function:

◆ WordOr()

TNode< IntPtrT > v8::internal::compiler::CodeAssembler::WordOr ( TNode< IntPtrT > left,
TNode< IntPtrT > right )
inline

Definition at line 1115 of file code-assembler.h.

Here is the caller graph for this function:

◆ WordSar() [1/3]

TNode< IntPtrT > v8::internal::compiler::CodeAssembler::WordSar ( TNode< IntPtrT > left,
TNode< IntegralT > right )
inline

Definition at line 1037 of file code-assembler.h.

Here is the caller graph for this function:

◆ WordSar() [2/3]

TNode< IntPtrT > v8::internal::compiler::CodeAssembler::WordSar ( TNode< IntPtrT > value,
int shift )
inline

Definition at line 1243 of file code-assembler.h.

◆ WordSar() [3/3]

TNode< WordT > v8::internal::compiler::CodeAssembler::WordSar ( TNode< WordT > value,
int shift )

Definition at line 761 of file code-assembler.cc.

Here is the call graph for this function:

◆ WordShl() [1/3]

TNode< IntPtrT > v8::internal::compiler::CodeAssembler::WordShl ( TNode< IntPtrT > left,
TNode< IntegralT > right )
inline

Definition at line 1040 of file code-assembler.h.

Here is the caller graph for this function:

◆ WordShl() [2/3]

TNode< UintPtrT > v8::internal::compiler::CodeAssembler::WordShl ( TNode< UintPtrT > left,
TNode< IntegralT > right )
inline

Definition at line 1043 of file code-assembler.h.

◆ WordShl() [3/3]

TNode< WordT > v8::internal::compiler::CodeAssembler::WordShl ( TNode< WordT > value,
int shift )

Definition at line 753 of file code-assembler.cc.

Here is the call graph for this function:

◆ WordShr() [1/3]

TNode< IntPtrT > v8::internal::compiler::CodeAssembler::WordShr ( TNode< IntPtrT > value,
int shift )
inline

Definition at line 1240 of file code-assembler.h.

◆ WordShr() [2/3]

TNode< UintPtrT > v8::internal::compiler::CodeAssembler::WordShr ( TNode< UintPtrT > left,
TNode< IntegralT > right )
inline

Definition at line 1034 of file code-assembler.h.

Here is the caller graph for this function:

◆ WordShr() [3/3]

TNode< WordT > v8::internal::compiler::CodeAssembler::WordShr ( TNode< WordT > value,
int shift )

Definition at line 757 of file code-assembler.cc.

Here is the call graph for this function:

◆ zone()

Zone * v8::internal::compiler::CodeAssembler::zone ( ) const

Definition at line 1672 of file code-assembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ kTargetParameterIndex

int v8::internal::compiler::CodeAssembler::kTargetParameterIndex = kJSCallClosureParameterIndex
staticconstexpr

Definition at line 695 of file code-assembler.h.

◆ state_

CodeAssemblerState* v8::internal::compiler::CodeAssembler::state_
private

Definition at line 1650 of file code-assembler.h.


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