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

#include <interpreter-assembler.h>

Inheritance diagram for v8::internal::interpreter::InterpreterAssembler:
Collaboration diagram for v8::internal::interpreter::InterpreterAssembler:

Classes

class  RegListNodePair
 

Public Types

enum  StackCheckBehavior { kEnableStackCheck , kDisableStackCheck }
 
enum  OnStackReplacementParams { kBaselineCodeIsCached , kDefault }
 
- Public Types inherited from v8::internal::CodeStubAssembler
enum class  AllocationFlag : uint8_t { kNone = 0 , kDoubleAlignment = 1 , kPretenured = 1 << 1 }
 
enum  SlackTrackingMode { kWithSlackTracking , kNoSlackTracking , kDontInitializeInObjectProperties }
 
enum class  HoleConversionMode { kDontConvert , kConvertToUndefined }
 
enum class  DestroySource { kNo , kYes }
 
enum class  ExtractFixedArrayFlag {
  kFixedArrays = 1 , kFixedDoubleArrays = 2 , kDontCopyCOW = 4 , kAllFixedArrays = kFixedArrays | kFixedDoubleArrays ,
  kAllFixedArraysDontCopyCOW = kAllFixedArrays | kDontCopyCOW
}
 
enum class  BigIntHandling { kConvertToNumber , kThrow }
 
enum  LookupMode { kFindExisting , kFindInsertionIndex , kFindExistingOrInsertionIndex }
 
enum  GetOwnPropertyMode { kCallJSGetterDontUseCachedName , kCallJSGetterUseCachedName , kReturnAccessorPair }
 
enum  ExpectedReceiverMode { kExpectingJSReceiver , kExpectingAnyReceiver }
 
enum class  IndexAdvanceMode { kPre , kPost }
 
enum class  IndexAdvanceDirection { kUp , kDown }
 
enum class  LoopUnrollingMode { kNo , kYes }
 
enum class  ForEachDirection { kForward , kReverse }
 
enum class  SameValueMode { kNumbersOnly , kFull }
 
enum  HasPropertyLookupMode { kHasProperty , kForInHasProperty }
 
enum class  FrameArgumentsArgcType { kCountIncludesReceiver , kCountExcludesReceiver }
 
using ScopedExceptionHandler = compiler::ScopedExceptionHandler
 
template<typename T >
using LazyNode = std::function<TNode<T>()>
 
using AllocationFlags = base::Flags<AllocationFlag>
 
using BranchGenerator = std::function<void(Label*, Label*)>
 
template<typename T >
using NodeGenerator = std::function<TNode<T>()>
 
using ExtraNode = std::pair<TNode<Object>, const char*>
 
using ExtractFixedArrayFlags = base::Flags<ExtractFixedArrayFlag>
 
using LookupPropertyInHolder
 
using LookupElementInHolder
 
template<typename TIndex >
using FastLoopBody = std::function<void(TNode<TIndex> index)>
 
using FastArrayForEachBody
 
using ForEachDescriptorBodyFunction
 
using ForEachKeyValueFunction
 
- Public Types inherited from v8::internal::compiler::CodeAssembler
using Label = CodeAssemblerLabel
 
template<class T >
using TVariable = TypedCodeAssemblerVariable<T>
 
using VariableList = CodeAssemblerVariableList
 
using CFunctionArg = std::pair<MachineType, Node*>
 

Public Member Functions

 InterpreterAssembler (compiler::CodeAssemblerState *state, Bytecode bytecode, OperandScale operand_scale)
 
 ~InterpreterAssembler ()
 
 InterpreterAssembler (const InterpreterAssembler &)=delete
 
InterpreterAssembleroperator= (const InterpreterAssembler &)=delete
 
TNode< Uint32TBytecodeOperandCount (int operand_index)
 
TNode< Uint32TBytecodeOperandFlag8 (int operand_index)
 
TNode< Uint32TBytecodeOperandFlag16 (int operand_index)
 
TNode< Uint32TBytecodeOperandIdxInt32 (int operand_index)
 
TNode< UintPtrTBytecodeOperandIdx (int operand_index)
 
TNode< SmiBytecodeOperandIdxSmi (int operand_index)
 
TNode< TaggedIndexBytecodeOperandIdxTaggedIndex (int operand_index)
 
TNode< Uint32TBytecodeOperandUImm (int operand_index)
 
TNode< UintPtrTBytecodeOperandUImmWord (int operand_index)
 
TNode< SmiBytecodeOperandUImmSmi (int operand_index)
 
TNode< Int32TBytecodeOperandImm (int operand_index)
 
TNode< IntPtrTBytecodeOperandImmIntPtr (int operand_index)
 
TNode< SmiBytecodeOperandImmSmi (int operand_index)
 
TNode< Uint32TBytecodeOperandRuntimeId (int operand_index)
 
TNode< UintPtrTBytecodeOperandNativeContextIndex (int operand_index)
 
TNode< Uint32TBytecodeOperandIntrinsicId (int operand_index)
 
TNode< ObjectGetAccumulator ()
 
void SetAccumulator (TNode< Object > value)
 
void ClobberAccumulator (TNode< Object > clobber_value)
 
TNode< ContextGetContext ()
 
void SetContext (TNode< Context > value)
 
TNode< ContextGetContextAtDepth (TNode< Context > context, TNode< Uint32T > depth)
 
TNode< FixedArrayExportParametersAndRegisterFile (TNode< FixedArray > array, const RegListNodePair &registers)
 
TNode< FixedArrayImportRegisterFile (TNode< FixedArray > array, const RegListNodePair &registers)
 
TNode< ObjectLoadRegister (Register reg)
 
TNode< IntPtrTLoadAndUntagRegister (Register reg)
 
TNode< ObjectLoadRegisterAtOperandIndex (int operand_index)
 
std::pair< TNode< Object >, TNode< Object > > LoadRegisterPairAtOperandIndex (int operand_index)
 
void StoreRegister (TNode< Object > value, Register reg)
 
void StoreRegisterAtOperandIndex (TNode< Object > value, int operand_index)
 
void StoreRegisterPairAtOperandIndex (TNode< Object > value1, TNode< Object > value2, int operand_index)
 
void StoreRegisterTripleAtOperandIndex (TNode< Object > value1, TNode< Object > value2, TNode< Object > value3, int operand_index)
 
RegListNodePair GetRegisterListAtOperandIndex (int operand_index)
 
TNode< ObjectLoadRegisterFromRegisterList (const RegListNodePair &reg_list, int index)
 
TNode< IntPtrTRegisterLocationInRegisterList (const RegListNodePair &reg_list, int index)
 
TNode< ObjectLoadConstantPoolEntryAtOperandIndex (int operand_index)
 
TNode< IntPtrTLoadAndUntagConstantPoolEntryAtOperandIndex (int operand_index)
 
TNode< ObjectLoadConstantPoolEntry (TNode< WordT > index)
 
TNode< IntPtrTLoadAndUntagConstantPoolEntry (TNode< WordT > index)
 
TNode< JSFunctionLoadFunctionClosure ()
 
TNode< Union< FeedbackVector, Undefined > > LoadFeedbackVector ()
 
auto LoadFeedbackVectorOrUndefinedIfJitless ()
 
void CallJSAndDispatch (TNode< JSAny > function, TNode< Context > context, const RegListNodePair &args, ConvertReceiverMode receiver_mode)
 
template<class... TArgs>
void CallJSAndDispatch (TNode< JSAny > function, TNode< Context > context, TNode< Word32T > arg_count, ConvertReceiverMode receiver_mode, TArgs... args)
 
void CallJSWithSpreadAndDispatch (TNode< JSAny > function, TNode< Context > context, const RegListNodePair &args, TNode< UintPtrT > slot_id)
 
TNode< ObjectConstruct (TNode< JSAny > target, TNode< Context > context, TNode< JSAny > new_target, const RegListNodePair &args, TNode< UintPtrT > slot_id, TNode< Union< FeedbackVector, Undefined > > maybe_feedback_vector)
 
TNode< ObjectConstructWithSpread (TNode< JSAny > target, TNode< Context > context, TNode< JSAny > new_target, const RegListNodePair &args, TNode< UintPtrT > slot_id)
 
TNode< ObjectConstructForwardAllArgs (TNode< JSAny > target, TNode< Context > context, TNode< JSAny > new_target, TNode< TaggedIndex > slot_id)
 
template<class T = Object>
TNode< TCallRuntimeN (TNode< Uint32T > function_id, TNode< Context > context, const RegListNodePair &args, int return_count)
 
void Jump (TNode< IntPtrT > jump_offset)
 
void JumpBackward (TNode< IntPtrT > jump_offset)
 
void JumpIfTaggedEqual (TNode< Object > lhs, TNode< Object > rhs, TNode< IntPtrT > jump_offset)
 
void JumpIfTaggedEqual (TNode< Object > lhs, TNode< Object > rhs, int operand_index)
 
void JumpIfTaggedEqualConstant (TNode< Object > lhs, TNode< Object > rhs, int operand_index)
 
void JumpIfTaggedNotEqual (TNode< Object > lhs, TNode< Object > rhs, TNode< IntPtrT > jump_offset)
 
void JumpIfTaggedNotEqual (TNode< Object > lhs, TNode< Object > rhs, int operand_index)
 
void JumpIfTaggedNotEqualConstant (TNode< Object > lhs, TNode< Object > rhs, int operand_index)
 
void UpdateInterruptBudgetOnReturn ()
 
TNode< Int32TUpdateInterruptBudget (TNode< Int32T > weight)
 
void DecreaseInterruptBudget (TNode< Int32T > weight, StackCheckBehavior stack_check_behavior)
 
TNode< Int8TLoadOsrState (TNode< FeedbackVector > feedback_vector)
 
void Dispatch ()
 
void DispatchWide (OperandScale operand_scale)
 
void DispatchToBytecode (TNode< WordT > target_bytecode, TNode< IntPtrT > new_bytecode_offset)
 
void DispatchToBytecodeWithOptionalStarLookahead (TNode< WordT > target_bytecode)
 
void Abort (AbortReason abort_reason)
 
void AbortIfWordNotEqual (TNode< WordT > lhs, TNode< WordT > rhs, AbortReason abort_reason)
 
void AbortIfRegisterCountInvalid (TNode< FixedArray > parameters_and_registers, TNode< IntPtrT > parameter_count, TNode< UintPtrT > register_count)
 
void OnStackReplacement (TNode< Context > context, TNode< FeedbackVector > feedback_vector, TNode< IntPtrT > relative_jump, TNode< Int32T > loop_depth, TNode< IntPtrT > feedback_slot, TNode< Int8T > osr_state, OnStackReplacementParams params)
 
TNode< IntPtrTBytecodeOffset ()
 
- Public Member Functions inherited from v8::internal::CodeStubAssembler
 CodeStubAssembler (compiler::CodeAssemblerState *state)
 
TNode< UintPtrTArrayBufferMaxByteLength ()
 
TNode< IntPtrTParameterToIntPtr (TNode< Smi > value)
 
TNode< IntPtrTParameterToIntPtr (TNode< IntPtrT > value)
 
TNode< IntPtrTParameterToIntPtr (TNode< UintPtrT > value)
 
TNode< IntPtrTParameterToIntPtr (TNode< TaggedIndex > value)
 
TNode< SmiParameterToTagged (TNode< Smi > value)
 
TNode< SmiParameterToTagged (TNode< IntPtrT > value)
 
template<typename TIndex >
TNode< TIndex > TaggedToParameter (TNode< Smi > value)
 
bool ToParameterConstant (TNode< Smi > node, intptr_t *out)
 
bool ToParameterConstant (TNode< IntPtrT > node, intptr_t *out)
 
TNode< IntPtrTTaggedIndexToIntPtr (TNode< TaggedIndex > value)
 
TNode< TaggedIndexIntPtrToTaggedIndex (TNode< IntPtrT > value)
 
TNode< SmiTaggedIndexToSmi (TNode< TaggedIndex > value)
 
TNode< TaggedIndexSmiToTaggedIndex (TNode< Smi > value)
 
TNode< SmiNormalizeSmiIndex (TNode< Smi > smi_index)
 
TNode< SmiTaggedToSmi (TNode< Object > value, Label *fail)
 
TNode< SmiTaggedToPositiveSmi (TNode< Object > value, Label *fail)
 
TNode< StringTaggedToDirectString (TNode< Object > value, Label *fail)
 
TNode< HeapObjectTaggedToHeapObject (TNode< Object > value, Label *fail)
 
TNode< Uint16TUint16Constant (uint16_t t)
 
TNode< JSDataViewHeapObjectToJSDataView (TNode< HeapObject > heap_object, Label *fail)
 
TNode< JSProxyHeapObjectToJSProxy (TNode< HeapObject > heap_object, Label *fail)
 
TNode< JSStringIteratorHeapObjectToJSStringIterator (TNode< HeapObject > heap_object, Label *fail)
 
TNode< JSCallableHeapObjectToCallable (TNode< HeapObject > heap_object, Label *fail)
 
TNode< StringHeapObjectToString (TNode< HeapObject > heap_object, Label *fail)
 
TNode< JSReceiverHeapObjectToConstructor (TNode< HeapObject > heap_object, Label *fail)
 
TNode< JSFunctionHeapObjectToJSFunctionWithPrototypeSlot (TNode< HeapObject > heap_object, Label *fail)
 
template<typename T >
TNode< TRunLazy (LazyNode< T > lazy)
 
 PARAMETER_BINOP (IntPtrOrSmiLessThanOrEqual, IntPtrLessThanOrEqual, SmiLessThanOrEqual) PARAMETER_BINOP(UintPtrOrSmiLessThanOrEqual
 
SmiBelowOrEqual PARAMETER_BINOP (UintPtrOrSmiGreaterThanOrEqual, UintPtrGreaterThanOrEqual, SmiAboveOrEqual) uintptr_t ConstexprUintPtrShl(uintptr_t a
 
uintptr_t ConstexprUintPtrShr (uintptr_t a, int32_t b)
 
intptr_t ConstexprIntPtrAdd (intptr_t a, intptr_t b)
 
uintptr_t ConstexprUintPtrAdd (uintptr_t a, uintptr_t b)
 
intptr_t ConstexprWordNot (intptr_t a)
 
uintptr_t ConstexprWordNot (uintptr_t a)
 
TNode< BoolTTaggedEqual (TNode< AnyTaggedT > a, TNode< AnyTaggedT > b)
 
TNode< BoolTTaggedNotEqual (TNode< AnyTaggedT > a, TNode< AnyTaggedT > b)
 
TNode< SmiNoContextConstant ()
 
TNode< IntPtrTStackAlignmentInBytes ()
 
TNode< BInt > BIntConstant (int value)
 
template<typename TIndex >
TNode< TIndex > IntPtrOrSmiConstant (int value)
 
bool TryGetIntPtrOrSmiConstantValue (TNode< Smi > maybe_constant, int *value)
 
bool TryGetIntPtrOrSmiConstantValue (TNode< IntPtrT > maybe_constant, int *value)
 
TNode< IntPtrTPopulationCountFallback (TNode< UintPtrT > value)
 
TNode< Int64TPopulationCount64 (TNode< Word64T > value)
 
TNode< Int32TPopulationCount32 (TNode< Word32T > value)
 
TNode< Int64TCountTrailingZeros64 (TNode< Word64T > value)
 
TNode< Int32TCountTrailingZeros32 (TNode< Word32T > value)
 
TNode< Int64TCountLeadingZeros64 (TNode< Word64T > value)
 
TNode< Int32TCountLeadingZeros32 (TNode< Word32T > value)
 
TNode< IntPtrTIntPtrRoundUpToPowerOfTwo32 (TNode< IntPtrT > value)
 
TNode< IntPtrTIntPtrMax (TNode< IntPtrT > left, TNode< IntPtrT > right)
 
TNode< IntPtrTIntPtrMin (TNode< IntPtrT > left, TNode< IntPtrT > right)
 
TNode< UintPtrTUintPtrMin (TNode< UintPtrT > left, TNode< UintPtrT > right)
 
TNode< BoolTFloat64AlmostEqual (TNode< Float64T > x, TNode< Float64T > y, double max_relative_error=0.0000001)
 
TNode< Float64TFloat64Ceil (TNode< Float64T > x)
 
TNode< Float64TFloat64Floor (TNode< Float64T > x)
 
TNode< Float64TFloat64Round (TNode< Float64T > x)
 
TNode< Float64TFloat64RoundToEven (TNode< Float64T > x)
 
TNode< Float64TFloat64Trunc (TNode< Float64T > x)
 
TNode< NumberNumberMax (TNode< Number > left, TNode< Number > right)
 
TNode< NumberNumberMin (TNode< Number > left, TNode< Number > right)
 
TNode< BoolTIsValidPositiveSmi (TNode< IntPtrT > value)
 
TNode< SmiSmiTag (TNode< IntPtrT > value)
 
TNode< IntPtrTSmiUntag (TNode< Smi > value)
 
TNode< IntPtrTPositiveSmiUntag (TNode< Smi > value)
 
TNode< Float64TSmiToFloat64 (TNode< Smi > value)
 
TNode< SmiSmiFromIntPtr (TNode< IntPtrT > value)
 
TNode< SmiSmiFromInt32 (TNode< Int32T > value)
 
TNode< SmiSmiFromUint32 (TNode< Uint32T > value)
 
TNode< IntPtrTSmiToIntPtr (TNode< Smi > value)
 
TNode< Int32TSmiToInt32 (TNode< Smi > value)
 
TNode< Uint32TPositiveSmiToUint32 (TNode< Smi > value)
 
TNode< IntPtrTTryIntPtrAdd (TNode< IntPtrT > a, TNode< IntPtrT > b, Label *if_overflow)
 
TNode< IntPtrTTryIntPtrSub (TNode< IntPtrT > a, TNode< IntPtrT > b, Label *if_overflow)
 
TNode< IntPtrTTryIntPtrMul (TNode< IntPtrT > a, TNode< IntPtrT > b, Label *if_overflow)
 
TNode< IntPtrTTryIntPtrDiv (TNode< IntPtrT > a, TNode< IntPtrT > b, Label *if_div_zero)
 
TNode< IntPtrTTryIntPtrMod (TNode< IntPtrT > a, TNode< IntPtrT > b, Label *if_div_zero)
 
TNode< Int32TTryInt32Mul (TNode< Int32T > a, TNode< Int32T > b, Label *if_overflow)
 
TNode< SmiTrySmiAdd (TNode< Smi > a, TNode< Smi > b, Label *if_overflow)
 
TNode< SmiTrySmiSub (TNode< Smi > a, TNode< Smi > b, Label *if_overflow)
 
TNode< SmiTrySmiAbs (TNode< Smi > a, Label *if_overflow)
 
TNode< SmiUnsignedSmiShl (TNode< Smi > a, int shift)
 
TNode< SmiSmiShl (TNode< Smi > a, int shift)
 
TNode< SmiSmiShr (TNode< Smi > a, int shift)
 
TNode< SmiSmiSar (TNode< Smi > a, int shift)
 
TNode< SmiWordOrSmiShr (TNode< Smi > a, int shift)
 
TNode< IntPtrTWordOrSmiShr (TNode< IntPtrT > a, int shift)
 
 SMI_COMPARISON_OP (SmiAboveOrEqual, UintPtrGreaterThanOrEqual, Uint32GreaterThanOrEqual) SMI_COMPARISON_OP(SmiBelowOrEqual
 
Uint32LessThanOrEqual SMI_COMPARISON_OP (SmiLessThanOrEqual, IntPtrLessThanOrEqual, Int32LessThanOrEqual) SMI_COMPARISON_OP(SmiGreaterThanOrEqual
 
Uint32LessThanOrEqual Int32GreaterThanOrEqual TNode< SmiSmiMax (TNode< Smi > a, TNode< Smi > b)
 
TNode< SmiSmiMin (TNode< Smi > a, TNode< Smi > b)
 
TNode< NumberSmiMod (TNode< Smi > a, TNode< Smi > b)
 
TNode< NumberSmiMul (TNode< Smi > a, TNode< Smi > b)
 
TNode< SmiTrySmiDiv (TNode< Smi > dividend, TNode< Smi > divisor, Label *bailout)
 
TNode< SmiSmiLexicographicCompare (TNode< Smi > x, TNode< Smi > y)
 
TNode< ObjectGetCoverageInfo (TNode< SharedFunctionInfo > sfi)
 
 BINT_COMPARISON_OP (BIntAboveOrEqual, SmiAboveOrEqual, UintPtrGreaterThanOrEqual) BINT_COMPARISON_OP(BIntLessThanOrEqual
 
IntPtrLessThanOrEqual BINT_COMPARISON_OP (BIntGreaterThanOrEqual, SmiGreaterThanOrEqual, IntPtrGreaterThanOrEqual) TNode< Number > NumberInc(TNode< Number > value)
 
TNode< NumberNumberDec (TNode< Number > value)
 
TNode< NumberNumberAdd (TNode< Number > a, TNode< Number > b)
 
TNode< NumberNumberSub (TNode< Number > a, TNode< Number > b)
 
void GotoIfNotNumber (TNode< Object > value, Label *is_not_number)
 
void GotoIfNumber (TNode< Object > value, Label *is_number)
 
TNode< NumberSmiToNumber (TNode< Smi > v)
 
void GotoIfLargeBigInt (TNode< BigInt > bigint, Label *true_label)
 
TNode< Word32TNormalizeShift32OperandIfNecessary (TNode< Word32T > right32)
 
TNode< NumberBitwiseOp (TNode< Word32T > left32, TNode< Word32T > right32, Operation bitwise_op)
 
TNode< NumberBitwiseSmiOp (TNode< Smi > left32, TNode< Smi > right32, Operation bitwise_op)
 
TNode< IntPtrTAlignToAllocationAlignment (TNode< IntPtrT > value)
 
TNode< HeapObjectAllocateInNewSpace (TNode< IntPtrT > size, AllocationFlags flags=AllocationFlag::kNone)
 
TNode< HeapObjectAllocateInNewSpace (int size, AllocationFlags flags=AllocationFlag::kNone)
 
TNode< HeapObjectAllocate (TNode< IntPtrT > size, AllocationFlags flags=AllocationFlag::kNone)
 
TNode< HeapObjectAllocate (int size, AllocationFlags flags=AllocationFlag::kNone)
 
TNode< BoolTIsRegularHeapObjectSize (TNode< IntPtrT > size)
 
void Dcheck (const BranchGenerator &branch, const char *message, const char *file, int line, std::initializer_list< ExtraNode > extra_nodes={}, const SourceLocation &loc=SourceLocation::Current())
 
void Dcheck (const NodeGenerator< BoolT > &condition_body, const char *message, const char *file, int line, std::initializer_list< ExtraNode > extra_nodes={}, const SourceLocation &loc=SourceLocation::Current())
 
void Dcheck (TNode< Word32T > condition_node, const char *message, const char *file, int line, std::initializer_list< ExtraNode > extra_nodes={}, const SourceLocation &loc=SourceLocation::Current())
 
void Check (const BranchGenerator &branch, const char *message, const char *file, int line, std::initializer_list< ExtraNode > extra_nodes={}, const SourceLocation &loc=SourceLocation::Current())
 
void Check (const NodeGenerator< BoolT > &condition_body, const char *message, const char *file, int line, std::initializer_list< ExtraNode > extra_nodes={}, const SourceLocation &loc=SourceLocation::Current())
 
void Check (TNode< Word32T > condition_node, const char *message, const char *file, int line, std::initializer_list< ExtraNode > extra_nodes={}, const SourceLocation &loc=SourceLocation::Current())
 
void FailAssert (const char *message, const std::vector< FileAndLine > &files_and_lines, std::initializer_list< ExtraNode > extra_nodes={}, const SourceLocation &loc=SourceLocation::Current())
 
void FastCheck (TNode< BoolT > condition)
 
TNode< RawPtrTLoadCodeInstructionStart (TNode< Code > code, CodeEntrypointTag tag)
 
TNode< BoolTIsMarkedForDeoptimization (TNode< Code > code)
 
void DCheckReceiver (ConvertReceiverMode mode, TNode< JSAny > receiver)
 
template<typename TCallable , class... TArgs>
TNode< JSAnyCall (TNode< Context > context, TNode< TCallable > callable, ConvertReceiverMode mode, TNode< JSAny > receiver, TArgs... args)
 
template<typename TCallable , class... TArgs>
TNode< JSAnyCall (TNode< Context > context, TNode< TCallable > callable, TNode< JSReceiver > receiver, TArgs... args)
 
template<typename TCallable , class... TArgs>
TNode< JSAnyCall (TNode< Context > context, TNode< TCallable > callable, TNode< JSAny > receiver, TArgs... args)
 
template<class... TArgs>
TNode< JSAnyCallFunction (TNode< Context > context, TNode< JSFunction > callable, ConvertReceiverMode mode, TNode< JSAny > receiver, TArgs... args)
 
template<class... TArgs>
TNode< JSAnyCallFunction (TNode< Context > context, TNode< JSFunction > callable, TNode< JSReceiver > receiver, TArgs... args)
 
template<class... TArgs>
TNode< JSAnyCallFunction (TNode< Context > context, TNode< JSFunction > callable, TNode< JSAny > receiver, TArgs... args)
 
TNode< ObjectCallApiCallback (TNode< Object > context, TNode< RawPtrT > callback, TNode< Int32T > argc, TNode< Object > data, TNode< Object > holder, TNode< JSAny > receiver)
 
TNode< ObjectCallApiCallback (TNode< Object > context, TNode< RawPtrT > callback, TNode< Int32T > argc, TNode< Object > data, TNode< Object > holder, TNode< JSAny > receiver, TNode< Object > value)
 
TNode< ObjectCallRuntimeNewArray (TNode< Context > context, TNode< JSAny > receiver, TNode< Object > length, TNode< Object > new_target, TNode< Object > allocation_site)
 
void TailCallRuntimeNewArray (TNode< Context > context, TNode< JSAny > receiver, TNode< Object > length, TNode< Object > new_target, TNode< Object > allocation_site)
 
template<class... TArgs>
TNode< JSReceiverConstructWithTarget (TNode< Context > context, TNode< JSReceiver > target, TNode< JSReceiver > new_target, TArgs... args)
 
template<class... TArgs>
TNode< JSReceiverConstruct (TNode< Context > context, TNode< JSReceiver > new_target, TArgs... args)
 
template<typename T >
TNode< TSelect (TNode< BoolT > condition, const NodeGenerator< T > &true_body, const NodeGenerator< T > &false_body, BranchHint branch_hint=BranchHint::kNone)
 
template<class A >
TNode< ASelectConstant (TNode< BoolT > condition, TNode< A > true_value, TNode< A > false_value)
 
TNode< Int32TSelectInt32Constant (TNode< BoolT > condition, int true_value, int false_value)
 
TNode< IntPtrTSelectIntPtrConstant (TNode< BoolT > condition, int true_value, int false_value)
 
TNode< BooleanSelectBooleanConstant (TNode< BoolT > condition)
 
TNode< SmiSelectSmiConstant (TNode< BoolT > condition, Tagged< Smi > true_value, Tagged< Smi > false_value)
 
TNode< SmiSelectSmiConstant (TNode< BoolT > condition, int true_value, Tagged< Smi > false_value)
 
TNode< SmiSelectSmiConstant (TNode< BoolT > condition, Tagged< Smi > true_value, int false_value)
 
TNode< SmiSelectSmiConstant (TNode< BoolT > condition, int true_value, int false_value)
 
TNode< StringSingleCharacterStringConstant (char const *single_char)
 
TNode< Float16RawBitsTTruncateFloat32ToFloat16 (TNode< Float32T > value)
 
TNode< Float16RawBitsTTruncateFloat64ToFloat16 (TNode< Float64T > value)
 
TNode< Int32TTruncateWordToInt32 (TNode< WordT > value)
 
TNode< Int32TTruncateIntPtrToInt32 (TNode< IntPtrT > value)
 
TNode< Word32TTruncateWord64ToWord32 (TNode< Word64T > value)
 
TNode< BoolTTaggedIsSmi (TNode< MaybeObject > a)
 
TNode< BoolTTaggedIsNotSmi (TNode< MaybeObject > a)
 
TNode< BoolTTaggedIsPositiveSmi (TNode< Object > a)
 
TNode< BoolTWordIsAligned (TNode< WordT > word, size_t alignment)
 
TNode< BoolTWordIsPowerOfTwo (TNode< IntPtrT > value)
 
template<typename U >
TNode< BoolTIsInRange (TNode< Word32T > value, U lower_limit, U higher_limit)
 
TNode< BoolTIsInRange (TNode< UintPtrT > value, TNode< UintPtrT > lower_limit, TNode< UintPtrT > higher_limit)
 
TNode< BoolTIsInRange (TNode< WordT > value, intptr_t lower_limit, intptr_t higher_limit)
 
void Bind (Label *label)
 
template<class... T>
void Bind (compiler::CodeAssemblerParameterizedLabel< T... > *label, TNode< T > *... phis)
 
void BranchIfSmiEqual (TNode< Smi > a, TNode< Smi > b, Label *if_true, Label *if_false)
 
void BranchIfSmiLessThan (TNode< Smi > a, TNode< Smi > b, Label *if_true, Label *if_false)
 
void BranchIfSmiLessThanOrEqual (TNode< Smi > a, TNode< Smi > b, Label *if_true, Label *if_false)
 
void BranchIfFloat64IsNaN (TNode< Float64T > value, Label *if_true, Label *if_false)
 
void BranchIfToBooleanIsTrue (TNode< Object > value, Label *if_true, Label *if_false)
 
void BranchIfToBooleanIsFalse (TNode< Object > value, Label *if_false, Label *if_true)
 
void BranchIfJSReceiver (TNode< Object > object, Label *if_true, Label *if_false)
 
void GotoIfForceSlowPath (Label *if_true)
 
TNode< RawPtrTLoadSandboxedPointerFromObject (TNode< HeapObject > object, int offset)
 
TNode< RawPtrTLoadSandboxedPointerFromObject (TNode< HeapObject > object, TNode< IntPtrT > offset)
 
void StoreSandboxedPointerToObject (TNode< HeapObject > object, int offset, TNode< RawPtrT > pointer)
 
void StoreSandboxedPointerToObject (TNode< HeapObject > object, TNode< IntPtrT > offset, TNode< RawPtrT > pointer)
 
TNode< RawPtrTEmptyBackingStoreBufferConstant ()
 
TNode< UintPtrTLoadBoundedSizeFromObject (TNode< HeapObject > object, int offset)
 
TNode< UintPtrTLoadBoundedSizeFromObject (TNode< HeapObject > object, TNode< IntPtrT > offset)
 
void StoreBoundedSizeToObject (TNode< HeapObject > object, int offset, TNode< UintPtrT > value)
 
void StoreBoundedSizeToObject (TNode< HeapObject > object, TNode< IntPtrT > offset, TNode< UintPtrT > value)
 
TNode< RawPtrTExternalPointerTableAddress (ExternalPointerTagRange tag_range)
 
TNode< RawPtrTLoadExternalPointerFromObject (TNode< HeapObject > object, int offset, ExternalPointerTagRange tag_range)
 
TNode< RawPtrTLoadExternalPointerFromObject (TNode< HeapObject > object, TNode< IntPtrT > offset, ExternalPointerTagRange tag_range)
 
void StoreExternalPointerToObject (TNode< HeapObject > object, int offset, TNode< RawPtrT > pointer, ExternalPointerTag tag)
 
void StoreExternalPointerToObject (TNode< HeapObject > object, TNode< IntPtrT > offset, TNode< RawPtrT > pointer, ExternalPointerTag tag)
 
TNode< TrustedObjectLoadTrustedPointerFromObject (TNode< HeapObject > object, int offset, IndirectPointerTag tag)
 
TNode< CodeLoadCodePointerFromObject (TNode< HeapObject > object, int offset)
 
TNode< JSDispatchHandleTInvalidDispatchHandleConstant ()
 
TNode< ObjectLoadProtectedPointerField (TNode< TrustedObject > object, TNode< IntPtrT > offset)
 
TNode< ObjectLoadProtectedPointerField (TNode< TrustedObject > object, int offset)
 
TNode< RawPtrTLoadForeignForeignAddressPtr (TNode< Foreign > object, ExternalPointerTag tag)
 
TNode< RawPtrTLoadFunctionTemplateInfoJsCallbackPtr (TNode< FunctionTemplateInfo > object)
 
TNode< RawPtrTLoadExternalStringResourcePtr (TNode< ExternalString > object)
 
TNode< RawPtrTLoadExternalStringResourceDataPtr (TNode< ExternalString > object)
 
TNode< RawPtr< Uint64T > > Log10OffsetTable ()
 
TNode< RawPtrTLoadJSTypedArrayExternalPointerPtr (TNode< JSTypedArray > holder)
 
void StoreJSTypedArrayExternalPointerPtr (TNode< JSTypedArray > holder, TNode< RawPtrT > value)
 
void InitializeJSAPIObjectWithEmbedderSlotsCppHeapWrapperPtr (TNode< JSAPIObjectWithEmbedderSlots > holder)
 
TNode< ObjectLoadFromParentFrame (int offset)
 
TNode< ObjectLoadBufferObject (TNode< RawPtrT > buffer, int offset)
 
template<typename T >
TNode< TLoadBufferData (TNode< RawPtrT > buffer, int offset)
 
TNode< RawPtrTLoadBufferPointer (TNode< RawPtrT > buffer, int offset)
 
TNode< SmiLoadBufferSmi (TNode< RawPtrT > buffer, int offset)
 
TNode< IntPtrTLoadBufferIntptr (TNode< RawPtrT > buffer, int offset)
 
TNode< Uint8TLoadUint8Ptr (TNode< RawPtrT > ptr, TNode< IntPtrT > offset)
 
TNode< Uint64TLoadUint64Ptr (TNode< RawPtrT > ptr, TNode< IntPtrT > index)
 
template<typename T >
TNode< TLoadObjectField (TNode< HeapObject > object, int offset)
 
TNode< ObjectLoadObjectField (TNode< HeapObject > object, int offset)
 
TNode< ObjectLoadObjectField (TNode< HeapObject > object, TNode< IntPtrT > offset)
 
template<class T >
requires std::is_convertible_v<TNode<T>, TNode<UntaggedT>>
TNode< TLoadObjectField (TNode< HeapObject > object, TNode< IntPtrT > offset)
 
TNode< IntPtrTLoadAndUntagPositiveSmiObjectField (TNode< HeapObject > object, int offset)
 
TNode< Int32TLoadAndUntagToWord32ObjectField (TNode< HeapObject > object, int offset)
 
TNode< MaybeObjectLoadMaybeWeakObjectField (TNode< HeapObject > object, int offset)
 
TNode< ObjectLoadConstructorOrBackPointer (TNode< Map > map)
 
TNode< Simd128TLoadSimd128 (TNode< IntPtrT > ptr)
 
template<class T >
requires std::is_convertible_v<TNode<T>, TNode<Object>>
TNode< TLoadReference (Reference reference)
 
template<class T >
requires (std::is_convertible_v<TNode<T>, TNode<UntaggedT>> || is_maybe_weak_v<T>)
TNode< TLoadReference (Reference reference)
 
template<class T >
requires (std::is_convertible_v<TNode<T>, TNode<MaybeObject>>)
void StoreReference (Reference reference, TNode< T > value)
 
template<class T >
requires std::is_convertible_v<TNode<T>, TNode<UntaggedT>>
void StoreReference (Reference reference, TNode< T > value)
 
TNode< RawPtrTGCUnsafeReferenceToRawPtr (TNode< Object > object, TNode< IntPtrT > offset)
 
TNode< Float64TLoadHeapNumberValue (TNode< HeapObject > object)
 
TNode< Int32TLoadHeapInt32Value (TNode< HeapObject > object)
 
void StoreHeapInt32Value (TNode< HeapObject > object, TNode< Int32T > value)
 
TNode< MapLoadMap (TNode< HeapObject > object)
 
TNode< Uint16TLoadInstanceType (TNode< HeapObject > object)
 
TNode< BoolTHasInstanceType (TNode< HeapObject > object, InstanceType type)
 
TNode< BoolTDoesntHaveInstanceType (TNode< HeapObject > object, InstanceType type)
 
TNode< BoolTTaggedDoesntHaveInstanceType (TNode< HeapObject > any_tagged, InstanceType type)
 
TNode< Word32TIsStringWrapperElementsKind (TNode< Map > map)
 
void GotoIfMapHasSlowProperties (TNode< Map > map, Label *if_slow)
 
TNode< HeapObjectLoadSlowProperties (TNode< JSReceiver > object)
 
TNode< HeapObjectLoadFastProperties (TNode< JSReceiver > object, bool skip_empty_check=false)
 
TNode< FixedArrayBaseLoadElements (TNode< JSObject > object)
 
TNode< ObjectLoadJSArgumentsObjectLength (TNode< Context > context, TNode< JSArgumentsObject > array)
 
TNode< SmiLoadFastJSArrayLength (TNode< JSArray > array)
 
TNode< SmiLoadFixedArrayBaseLength (TNode< FixedArrayBase > array)
 
template<typename Array >
TNode< SmiLoadSmiArrayLength (TNode< Array > array)
 
TNode< IntPtrTLoadAndUntagFixedArrayBaseLength (TNode< FixedArrayBase > array)
 
TNode< Uint32TLoadAndUntagFixedArrayBaseLengthAsUint32 (TNode< FixedArrayBase > array)
 
TNode< SmiLoadWeakFixedArrayLength (TNode< WeakFixedArray > array)
 
TNode< IntPtrTLoadAndUntagWeakFixedArrayLength (TNode< WeakFixedArray > array)
 
TNode< Uint32TLoadAndUntagWeakFixedArrayLengthAsUint32 (TNode< WeakFixedArray > array)
 
TNode< Uint32TLoadAndUntagBytecodeArrayLength (TNode< BytecodeArray > array)
 
TNode< Int32TLoadNumberOfDescriptors (TNode< DescriptorArray > array)
 
TNode< Int32TLoadNumberOfOwnDescriptors (TNode< Map > map)
 
TNode< Int32TLoadMapBitField (TNode< Map > map)
 
TNode< Int32TLoadMapBitField2 (TNode< Map > map)
 
TNode< Uint32TLoadMapBitField3 (TNode< Map > map)
 
TNode< Uint16TLoadMapInstanceType (TNode< Map > map)
 
TNode< Int32TLoadMapElementsKind (TNode< Map > map)
 
TNode< Int32TLoadElementsKind (TNode< HeapObject > object)
 
TNode< DescriptorArrayLoadMapDescriptors (TNode< Map > map)
 
TNode< JSPrototypeLoadMapPrototype (TNode< Map > map)
 
TNode< IntPtrTLoadMapInstanceSizeInWords (TNode< Map > map)
 
TNode< IntPtrTLoadMapInobjectPropertiesStartInWords (TNode< Map > map)
 
TNode< IntPtrTLoadMapConstructorFunctionIndex (TNode< Map > map)
 
TNode< ObjectLoadMapConstructor (TNode< Map > map)
 
TNode< Uint32TLoadMapEnumLength (TNode< Map > map)
 
TNode< ObjectLoadMapBackPointer (TNode< Map > map)
 
TNode< IntPtrTMapUsedInstanceSizeInWords (TNode< Map > map)
 
TNode< IntPtrTMapUsedInObjectProperties (TNode< Map > map)
 
TNode< Uint32TEnsureOnlyHasSimpleProperties (TNode< Map > map, TNode< Int32T > instance_type, Label *bailout)
 
TNode< Uint32TLoadJSReceiverIdentityHash (TNode< JSReceiver > receiver, Label *if_no_hash=nullptr)
 
void InitializePropertyArrayLength (TNode< PropertyArray > property_array, TNode< IntPtrT > length)
 
TNode< BoolTIsDictionaryMap (TNode< Map > map)
 
TNode< Uint32TLoadNameHash (TNode< Name > name, Label *if_hash_not_computed=nullptr)
 
TNode< Uint32TLoadNameHashAssumeComputed (TNode< Name > name)
 
TNode< Uint32TLoadNameRawHash (TNode< Name > name)
 
TNode< SmiLoadStringLengthAsSmi (TNode< String > string)
 
TNode< IntPtrTLoadStringLengthAsWord (TNode< String > string)
 
TNode< Uint32TLoadStringLengthAsWord32 (TNode< String > string)
 
TNode< ObjectLoadJSPrimitiveWrapperValue (TNode< JSPrimitiveWrapper > object)
 
void DispatchMaybeObject (TNode< MaybeObject > maybe_object, Label *if_smi, Label *if_cleared, Label *if_weak, Label *if_strong, TVariable< Object > *extracted)
 
TNode< BoolTIsStrong (TNode< MaybeObject > value)
 
TNode< BoolTIsStrong (TNode< HeapObjectReference > value)
 
TNode< HeapObjectGetHeapObjectIfStrong (TNode< MaybeObject > value, Label *if_not_strong)
 
TNode< HeapObjectGetHeapObjectIfStrong (TNode< HeapObjectReference > value, Label *if_not_strong)
 
TNode< BoolTIsWeakOrCleared (TNode< MaybeObject > value)
 
TNode< BoolTIsWeakOrCleared (TNode< HeapObjectReference > value)
 
TNode< BoolTIsCleared (TNode< MaybeObject > value)
 
TNode< BoolTIsNotCleared (TNode< MaybeObject > value)
 
TNode< HeapObjectGetHeapObjectAssumeWeak (TNode< MaybeObject > value)
 
TNode< HeapObjectGetHeapObjectAssumeWeak (TNode< MaybeObject > value, Label *if_cleared)
 
TNode< BoolTIsWeakReferenceTo (TNode< MaybeObject > maybe_object, TNode< HeapObject > heap_object)
 
TNode< BoolTIsWeakReferenceToObject (TNode< MaybeObject > maybe_object, TNode< Object > object)
 
TNode< HeapObjectReferenceMakeWeak (TNode< HeapObject > value)
 
TNode< MaybeObjectClearedValue ()
 
void FixedArrayBoundsCheck (TNode< FixedArrayBase > array, TNode< Smi > index, int additional_offset)
 
void FixedArrayBoundsCheck (TNode< FixedArray > array, TNode< Smi > index, int additional_offset)
 
void FixedArrayBoundsCheck (TNode< FixedArrayBase > array, TNode< IntPtrT > index, int additional_offset)
 
void FixedArrayBoundsCheck (TNode< FixedArray > array, TNode< IntPtrT > index, int additional_offset)
 
void FixedArrayBoundsCheck (TNode< FixedArrayBase > array, TNode< UintPtrT > index, int additional_offset)
 
void FixedArrayBoundsCheck (TNode< FixedArrayBase > array, TNode< TaggedIndex > index, int additional_offset)
 
void FixedArrayBoundsCheck (TNode< FixedArray > array, TNode< TaggedIndex > index, int additional_offset)
 
template<typename Array >
TNode< IntPtrTLoadArrayLength (TNode< Array > array)
 
template<typename Array , typename TIndex , typename TValue = MaybeObject>
TNode< TValue > LoadArrayElement (TNode< Array > array, int array_header_size, TNode< TIndex > index, int additional_offset=0)
 
template<typename Array , typename TIndex >
TNode< typename Array::Shape::ElementT > LoadArrayElement (TNode< Array > array, TNode< TIndex > index, int additional_offset=0)
 
template<typename TIndex >
TNode< ObjectLoadFixedArrayElement (TNode< FixedArray > object, TNode< TIndex > index, int additional_offset=0, CheckBounds check_bounds=CheckBounds::kAlways)
 
TNode< ObjectUnsafeLoadFixedArrayElement (TNode< FixedArray > object, TNode< IntPtrT > index, int additional_offset=0)
 
TNode< ObjectLoadFixedArrayElement (TNode< FixedArray > object, int index, int additional_offset=0)
 
TNode< ObjectUnsafeLoadFixedArrayElement (TNode< FixedArray > object, int index, int additional_offset=0)
 
TNode< ObjectLoadPropertyArrayElement (TNode< PropertyArray > object, TNode< IntPtrT > index)
 
TNode< IntPtrTLoadPropertyArrayLength (TNode< PropertyArray > object)
 
template<typename Array >
TNode< Int32TLoadAndUntagToWord32ArrayElement (TNode< Array > array, int array_header_size, TNode< IntPtrT > index, int additional_offset=0)
 
TNode< Int32TLoadAndUntagToWord32FixedArrayElement (TNode< FixedArray > object, TNode< IntPtrT > index, int additional_offset=0)
 
TNode< MaybeObjectLoadWeakFixedArrayElement (TNode< WeakFixedArray > object, TNode< IntPtrT > index, int additional_offset=0)
 
TNode< Float64TLoadFixedDoubleArrayElement (TNode< FixedDoubleArray > object, TNode< IntPtrT > index, Label *if_hole=nullptr, MachineType machine_type=MachineType::Float64())
 
TNode< ObjectLoadFixedArrayBaseElementAsTagged (TNode< FixedArrayBase > elements, TNode< IntPtrT > index, TNode< Int32T > elements_kind, Label *if_accessor, Label *if_hole)
 
template<typename TIndex >
TNode< MaybeObjectLoadFeedbackVectorSlot (TNode< FeedbackVector > feedback_vector, TNode< TIndex > slot, int additional_offset=0)
 
TNode< IntPtrTLoadFeedbackVectorLength (TNode< FeedbackVector >)
 
TNode< Float64TLoadDoubleWithHoleCheck (TNode< FixedDoubleArray > array, TNode< IntPtrT > index, Label *if_hole=nullptr)
 
TNode< BoolTIsDoubleHole (TNode< Object > base, TNode< IntPtrT > offset)
 
TNode< Float64TLoadDoubleWithHoleCheck (TNode< Object > base, TNode< IntPtrT > offset, Label *if_hole, MachineType machine_type=MachineType::Float64())
 
TNode< NumericLoadFixedTypedArrayElementAsTagged (TNode< RawPtrT > data_pointer, TNode< UintPtrT > index, ElementsKind elements_kind)
 
TNode< NumericLoadFixedTypedArrayElementAsTagged (TNode< RawPtrT > data_pointer, TNode< UintPtrT > index, TNode< Int32T > elements_kind)
 
TNode< BigIntLoadFixedBigInt64ArrayElementAsTagged (TNode< RawPtrT > data_pointer, TNode< IntPtrT > offset)
 
TNode< BigIntLoadFixedBigUint64ArrayElementAsTagged (TNode< RawPtrT > data_pointer, TNode< IntPtrT > offset)
 
TNode< BigIntBigIntFromInt64 (TNode< IntPtrT > value)
 
TNode< BigIntBigIntFromUint64 (TNode< UintPtrT > value)
 
TNode< BigIntBigIntFromInt32Pair (TNode< IntPtrT > low, TNode< IntPtrT > high)
 
TNode< BigIntBigIntFromUint32Pair (TNode< UintPtrT > low, TNode< UintPtrT > high)
 
TNode< ScopeInfoLoadScopeInfo (TNode< Context > context)
 
TNode< BoolTLoadScopeInfoHasExtensionField (TNode< ScopeInfo > scope_info)
 
TNode< BoolTLoadScopeInfoClassScopeHasPrivateBrand (TNode< ScopeInfo > scope_info)
 
void StoreContextElementNoWriteBarrier (TNode< Context > context, int slot_index, TNode< Object > value)
 
TNode< NativeContextLoadNativeContext (TNode< Context > context)
 
TNode< ContextLoadModuleContext (TNode< Context > context)
 
TNode< ObjectGetImportMetaObject (TNode< Context > context)
 
void GotoIfContextElementEqual (TNode< Object > value, TNode< NativeContext > native_context, int slot_index, Label *if_equal)
 
TNode< MapLoadObjectFunctionInitialMap (TNode< NativeContext > native_context)
 
TNode< MapLoadSlowObjectWithNullPrototypeMap (TNode< NativeContext > native_context)
 
TNode< MapLoadCachedMap (TNode< NativeContext > native_context, TNode< IntPtrT > number_of_properties, Label *runtime)
 
TNode< MapLoadJSArrayElementsMap (ElementsKind kind, TNode< NativeContext > native_context)
 
TNode< MapLoadJSArrayElementsMap (TNode< Int32T > kind, TNode< NativeContext > native_context)
 
TNode< BoolTIsJSFunctionWithPrototypeSlot (TNode< HeapObject > object)
 
TNode< Uint32TLoadFunctionKind (TNode< JSFunction > function)
 
TNode< BoolTIsGeneratorFunction (TNode< JSFunction > function)
 
void BranchIfHasPrototypeProperty (TNode< JSFunction > function, TNode< Int32T > function_map_bit_field, Label *if_true, Label *if_false)
 
void GotoIfPrototypeRequiresRuntimeLookup (TNode< JSFunction > function, TNode< Map > map, Label *runtime)
 
TNode< HeapObjectLoadJSFunctionPrototype (TNode< JSFunction > function, Label *if_bailout)
 
TNode< CodeLoadJSFunctionCode (TNode< JSFunction > function)
 
TNode< ObjectLoadSharedFunctionInfoTrustedData (TNode< SharedFunctionInfo > sfi)
 
TNode< ObjectLoadSharedFunctionInfoUntrustedData (TNode< SharedFunctionInfo > sfi)
 
TNode< BoolTSharedFunctionInfoHasBaselineCode (TNode< SharedFunctionInfo > sfi)
 
TNode< SmiLoadSharedFunctionInfoBuiltinId (TNode< SharedFunctionInfo > sfi)
 
TNode< BytecodeArrayLoadSharedFunctionInfoBytecodeArray (TNode< SharedFunctionInfo > sfi)
 
TNode< Int32TLoadBytecodeArrayParameterCount (TNode< BytecodeArray > bytecode_array)
 
TNode< Int32TLoadBytecodeArrayParameterCountWithoutReceiver (TNode< BytecodeArray > bytecode_array)
 
void StoreObjectByteNoWriteBarrier (TNode< HeapObject > object, int offset, TNode< Word32T > value)
 
void StoreHeapNumberValue (TNode< HeapNumber > object, TNode< Float64T > value)
 
void StoreObjectField (TNode< HeapObject > object, int offset, TNode< Smi > value)
 
void StoreObjectField (TNode< HeapObject > object, TNode< IntPtrT > offset, TNode< Smi > value)
 
void StoreObjectField (TNode< HeapObject > object, int offset, TNode< Object > value)
 
void StoreObjectField (TNode< HeapObject > object, TNode< IntPtrT > offset, TNode< Object > value)
 
void StoreIndirectPointerField (TNode< HeapObject > object, int offset, IndirectPointerTag tag, TNode< ExposedTrustedObject > value)
 
void StoreIndirectPointerFieldNoWriteBarrier (TNode< HeapObject > object, int offset, IndirectPointerTag tag, TNode< ExposedTrustedObject > value)
 
void StoreTrustedPointerField (TNode< HeapObject > object, int offset, IndirectPointerTag tag, TNode< ExposedTrustedObject > value)
 
void StoreTrustedPointerFieldNoWriteBarrier (TNode< HeapObject > object, int offset, IndirectPointerTag tag, TNode< ExposedTrustedObject > value)
 
void ClearTrustedPointerField (TNode< HeapObject > object, int offset)
 
void StoreCodePointerField (TNode< HeapObject > object, int offset, TNode< Code > value)
 
void StoreCodePointerFieldNoWriteBarrier (TNode< HeapObject > object, int offset, TNode< Code > value)
 
template<class T >
void StoreObjectFieldNoWriteBarrier (TNode< HeapObject > object, TNode< IntPtrT > offset, TNode< T > value)
 
template<class T >
void StoreObjectFieldNoWriteBarrier (TNode< HeapObject > object, int offset, TNode< T > value)
 
void UnsafeStoreObjectFieldNoWriteBarrier (TNode< HeapObject > object, int offset, TNode< Object > value)
 
void StoreMap (TNode< HeapObject > object, TNode< Map > map)
 
void StoreMapNoWriteBarrier (TNode< HeapObject > object, RootIndex map_root_index)
 
void StoreMapNoWriteBarrier (TNode< HeapObject > object, TNode< Map > map)
 
void StoreObjectFieldRoot (TNode< HeapObject > object, int offset, RootIndex root)
 
void StoreFixedArrayElement (TNode< FixedArray > object, int index, TNode< Object > value, WriteBarrierMode barrier_mode=UPDATE_WRITE_BARRIER, CheckBounds check_bounds=CheckBounds::kAlways)
 
void StoreFixedArrayElement (TNode< FixedArray > object, int index, TNode< Smi > value, CheckBounds check_bounds=CheckBounds::kAlways)
 
template<typename TIndex >
void StoreFixedArrayElement (TNode< FixedArray > array, TNode< TIndex > index, TNode< Object > value, WriteBarrierMode barrier_mode=UPDATE_WRITE_BARRIER, int additional_offset=0, CheckBounds check_bounds=CheckBounds::kAlways)
 
template<typename TIndex >
void StoreFixedArrayElement (TNode< FixedArray > array, TNode< TIndex > index, TNode< Smi > value, int additional_offset=0)
 
void UnsafeStoreFixedArrayElement (TNode< FixedArray > object, int index, TNode< Object > value, WriteBarrierMode barrier_mode=UPDATE_WRITE_BARRIER)
 
template<typename Array >
void UnsafeStoreArrayElement (TNode< Array > object, int index, TNode< typename Array::Shape::ElementT > value, WriteBarrierMode barrier_mode=UPDATE_WRITE_BARRIER)
 
template<typename Array >
void UnsafeStoreArrayElement (TNode< Array > object, TNode< Smi > index, TNode< typename Array::Shape::ElementT > value, WriteBarrierMode barrier_mode=UPDATE_WRITE_BARRIER)
 
void UnsafeStoreFixedArrayElement (TNode< FixedArray > object, int index, TNode< Smi > value)
 
void UnsafeStoreFixedArrayElement (TNode< FixedArray > array, TNode< IntPtrT > index, TNode< Object > value, WriteBarrierMode barrier_mode=UPDATE_WRITE_BARRIER, int additional_offset=0)
 
void UnsafeStoreFixedArrayElement (TNode< FixedArray > array, TNode< IntPtrT > index, TNode< Smi > value, int additional_offset)
 
void StorePropertyArrayElement (TNode< PropertyArray > array, TNode< IntPtrT > index, TNode< Object > value)
 
template<typename TIndex >
void StoreFixedDoubleArrayElement (TNode< FixedDoubleArray > object, TNode< TIndex > index, TNode< Float64T > value, CheckBounds check_bounds=CheckBounds::kAlways)
 
void StoreDoubleHole (TNode< HeapObject > object, TNode< IntPtrT > offset)
 
void StoreFixedDoubleArrayHole (TNode< FixedDoubleArray > array, TNode< IntPtrT > index)
 
void StoreFeedbackVectorSlot (TNode< FeedbackVector > feedback_vector, TNode< UintPtrT > slot, TNode< AnyTaggedT > value, WriteBarrierMode barrier_mode=UPDATE_WRITE_BARRIER, int additional_offset=0)
 
void StoreSharedObjectField (TNode< HeapObject > object, TNode< IntPtrT > offset, TNode< Object > value)
 
void StoreJSSharedStructPropertyArrayElement (TNode< PropertyArray > array, TNode< IntPtrT > index, TNode< Object > value)
 
TNode< Int32TEnsureArrayPushable (TNode< Context > context, TNode< Map > map, Label *bailout)
 
void TryStoreArrayElement (ElementsKind kind, Label *bailout, TNode< FixedArrayBase > elements, TNode< BInt > index, TNode< Object > value)
 
TNode< SmiBuildAppendJSArray (ElementsKind kind, TNode< JSArray > array, CodeStubArguments *args, TVariable< IntPtrT > *arg_index, Label *bailout)
 
void BuildAppendJSArray (ElementsKind kind, TNode< JSArray > array, TNode< Object > value, Label *bailout)
 
void StoreFieldsNoWriteBarrier (TNode< IntPtrT > start_address, TNode< IntPtrT > end_address, TNode< Object > value)
 
void MakeFixedArrayCOW (TNode< FixedArray > array)
 
TNode< CellAllocateCellWithValue (TNode< Object > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
TNode< CellAllocateSmiCell (int value=0)
 
TNode< ObjectLoadCellValue (TNode< Cell > cell)
 
void StoreCellValue (TNode< Cell > cell, TNode< Object > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
TNode< HeapNumberAllocateHeapNumber ()
 
TNode< HeapNumberAllocateHeapNumberWithValue (TNode< Float64T > value)
 
TNode< HeapNumberAllocateHeapNumberWithValue (double value)
 
TNode< HeapNumberAllocateHeapInt32WithValue (TNode< Int32T > value)
 
TNode< BigIntAllocateBigInt (TNode< IntPtrT > length)
 
TNode< BigIntAllocateRawBigInt (TNode< IntPtrT > length)
 
void StoreBigIntBitfield (TNode< BigInt > bigint, TNode< Word32T > bitfield)
 
void StoreBigIntDigit (TNode< BigInt > bigint, intptr_t digit_index, TNode< UintPtrT > digit)
 
void StoreBigIntDigit (TNode< BigInt > bigint, TNode< IntPtrT > digit_index, TNode< UintPtrT > digit)
 
TNode< Word32TLoadBigIntBitfield (TNode< BigInt > bigint)
 
TNode< UintPtrTLoadBigIntDigit (TNode< BigInt > bigint, intptr_t digit_index)
 
TNode< UintPtrTLoadBigIntDigit (TNode< BigInt > bigint, TNode< IntPtrT > digit_index)
 
TNode< ByteArrayAllocateNonEmptyByteArray (TNode< UintPtrT > length, AllocationFlags flags=AllocationFlag::kNone)
 
TNode< ByteArrayAllocateByteArray (TNode< UintPtrT > length, AllocationFlags flags=AllocationFlag::kNone)
 
TNode< StringAllocateSeqOneByteString (uint32_t length, AllocationFlags flags=AllocationFlag::kNone)
 
TNode< StringAllocateSeqTwoByteString (uint32_t length, AllocationFlags flags=AllocationFlag::kNone)
 
TNode< StringAllocateSlicedOneByteString (TNode< Uint32T > length, TNode< String > parent, TNode< Smi > offset)
 
TNode< StringAllocateSlicedTwoByteString (TNode< Uint32T > length, TNode< String > parent, TNode< Smi > offset)
 
TNode< NameDictionaryAllocateNameDictionary (int at_least_space_for)
 
TNode< NameDictionaryAllocateNameDictionary (TNode< IntPtrT > at_least_space_for, AllocationFlags=AllocationFlag::kNone)
 
TNode< NameDictionaryAllocateNameDictionaryWithCapacity (TNode< IntPtrT > capacity, AllocationFlags=AllocationFlag::kNone)
 
TNode< PropertyDictionaryAllocatePropertyDictionary (int at_least_space_for)
 
TNode< PropertyDictionaryAllocatePropertyDictionary (TNode< IntPtrT > at_least_space_for, AllocationFlags=AllocationFlag::kNone)
 
TNode< PropertyDictionaryAllocatePropertyDictionaryWithCapacity (TNode< IntPtrT > capacity, AllocationFlags=AllocationFlag::kNone)
 
TNode< NameDictionaryCopyNameDictionary (TNode< NameDictionary > dictionary, Label *large_object_fallback)
 
TNode< OrderedHashSetAllocateOrderedHashSet ()
 
TNode< OrderedHashSetAllocateOrderedHashSet (TNode< IntPtrT > capacity)
 
TNode< OrderedHashMapAllocateOrderedHashMap ()
 
TNode< OrderedNameDictionaryAllocateOrderedNameDictionary (TNode< IntPtrT > capacity)
 
TNode< OrderedNameDictionaryAllocateOrderedNameDictionary (int capacity)
 
TNode< JSObjectAllocateJSObjectFromMap (TNode< Map > map, std::optional< TNode< HeapObject > > properties=std::nullopt, std::optional< TNode< FixedArray > > elements=std::nullopt, AllocationFlags flags=AllocationFlag::kNone, SlackTrackingMode slack_tracking_mode=kNoSlackTracking)
 
void InitializeJSObjectFromMap (TNode< HeapObject > object, TNode< Map > map, TNode< IntPtrT > instance_size, std::optional< TNode< HeapObject > > properties=std::nullopt, std::optional< TNode< FixedArray > > elements=std::nullopt, SlackTrackingMode slack_tracking_mode=kNoSlackTracking)
 
void InitializeJSObjectBodyWithSlackTracking (TNode< HeapObject > object, TNode< Map > map, TNode< IntPtrT > instance_size)
 
void InitializeJSObjectBodyNoSlackTracking (TNode< HeapObject > object, TNode< Map > map, TNode< IntPtrT > instance_size, int start_offset=JSObject::kHeaderSize)
 
TNode< BoolTIsValidFastJSArrayCapacity (TNode< IntPtrT > capacity)
 
std::pair< TNode< JSArray >, TNode< FixedArrayBase > > AllocateUninitializedJSArrayWithElements (ElementsKind kind, TNode< Map > array_map, TNode< Smi > length, std::optional< TNode< AllocationSite > > allocation_site, TNode< IntPtrT > capacity, AllocationFlags allocation_flags=AllocationFlag::kNone, int array_header_size=JSArray::kHeaderSize)
 
TNode< JSArrayAllocateJSArray (ElementsKind kind, TNode< Map > array_map, TNode< IntPtrT > capacity, TNode< Smi > length, std::optional< TNode< AllocationSite > > allocation_site, AllocationFlags allocation_flags=AllocationFlag::kNone)
 
TNode< JSArrayAllocateJSArray (ElementsKind kind, TNode< Map > array_map, TNode< Smi > capacity, TNode< Smi > length, std::optional< TNode< AllocationSite > > allocation_site, AllocationFlags allocation_flags=AllocationFlag::kNone)
 
TNode< JSArrayAllocateJSArray (ElementsKind kind, TNode< Map > array_map, TNode< Smi > capacity, TNode< Smi > length, AllocationFlags allocation_flags=AllocationFlag::kNone)
 
TNode< JSArrayAllocateJSArray (ElementsKind kind, TNode< Map > array_map, TNode< IntPtrT > capacity, TNode< Smi > length, AllocationFlags allocation_flags=AllocationFlag::kNone)
 
TNode< JSArrayAllocateJSArray (TNode< Map > array_map, TNode< FixedArrayBase > elements, TNode< Smi > length, std::optional< TNode< AllocationSite > > allocation_site=std::nullopt, int array_header_size=JSArray::kHeaderSize)
 
TNode< JSArrayCloneFastJSArray (TNode< Context > context, TNode< JSArray > array, std::optional< TNode< AllocationSite > > allocation_site=std::nullopt, HoleConversionMode convert_holes=HoleConversionMode::kDontConvert)
 
TNode< JSArrayExtractFastJSArray (TNode< Context > context, TNode< JSArray > array, TNode< BInt > begin, TNode< BInt > count)
 
template<typename TIndex >
TNode< FixedArrayBaseAllocateFixedArray (ElementsKind kind, TNode< TIndex > capacity, AllocationFlags flags=AllocationFlag::kNone, std::optional< TNode< Map > > fixed_array_map=std::nullopt)
 
template<typename Function >
TNode< ObjectFastCloneJSObject (TNode< HeapObject > source, TNode< Map > source_map, TNode< Map > target_map, const Function &materialize_target, bool target_is_new)
 
TNode< NativeContextGetCreationContextFromMap (TNode< Map > map, Label *if_bailout)
 
TNode< NativeContextGetCreationContext (TNode< JSReceiver > receiver, Label *if_bailout)
 
TNode< NativeContextGetFunctionRealm (TNode< Context > context, TNode< JSReceiver > receiver, Label *if_bailout)
 
TNode< ObjectGetConstructor (TNode< Map > map)
 
void FindNonDefaultConstructor (TNode< JSFunction > this_function, TVariable< Object > &constructor, Label *found_default_base_ctor, Label *found_something_else)
 
TNode< MapGetInstanceTypeMap (InstanceType instance_type)
 
TNode< FixedArrayAllocateUninitializedFixedArray (intptr_t capacity)
 
TNode< FixedArrayAllocateZeroedFixedArray (TNode< IntPtrT > capacity)
 
TNode< FixedDoubleArrayAllocateZeroedFixedDoubleArray (TNode< IntPtrT > capacity)
 
TNode< FixedArrayAllocateFixedArrayWithHoles (TNode< IntPtrT > capacity, AllocationFlags flags=AllocationFlag::kNone)
 
TNode< FixedDoubleArrayAllocateFixedDoubleArrayWithHoles (TNode< IntPtrT > capacity, AllocationFlags flags=AllocationFlag::kNone)
 
TNode< PropertyArrayAllocatePropertyArray (TNode< IntPtrT > capacity)
 
TNode< JSObjectAllocateJSIteratorResult (TNode< Context > context, TNode< Object > value, TNode< Boolean > done)
 
TNode< JSObjectAllocateJSIteratorResultForEntry (TNode< Context > context, TNode< Object > key, TNode< Object > value)
 
TNode< JSObjectAllocatePromiseWithResolversResult (TNode< Context > context, TNode< Object > promise, TNode< Object > resolve, TNode< Object > reject)
 
TNode< JSReceiverArraySpeciesCreate (TNode< Context > context, TNode< Object > originalArray, TNode< Number > len)
 
template<typename TIndex >
void FillFixedArrayWithValue (ElementsKind kind, TNode< FixedArrayBase > array, TNode< TIndex > from_index, TNode< TIndex > to_index, RootIndex value_root_index)
 
template<typename TIndex >
void FillFixedArrayWithValue (ElementsKind kind, TNode< FixedArray > array, TNode< TIndex > from_index, TNode< TIndex > to_index, RootIndex value_root_index)
 
void FillFixedArrayWithSmiZero (ElementsKind kind, TNode< FixedArray > array, TNode< IntPtrT > start, TNode< IntPtrT > length)
 
void FillEntireFixedArrayWithSmiZero (ElementsKind kind, TNode< FixedArray > array, TNode< IntPtrT > length)
 
void FillFixedDoubleArrayWithZero (TNode< FixedDoubleArray > array, TNode< IntPtrT > start, TNode< IntPtrT > length)
 
void FillEntireFixedDoubleArrayWithZero (TNode< FixedDoubleArray > array, TNode< IntPtrT > length)
 
void FillPropertyArrayWithUndefined (TNode< PropertyArray > array, TNode< IntPtrT > from_index, TNode< IntPtrT > to_index)
 
void IncrementCallCount (TNode< FeedbackVector > feedback_vector, TNode< UintPtrT > slot_id)
 
void CopyPropertyArrayValues (TNode< HeapObject > from_array, TNode< PropertyArray > to_array, TNode< IntPtrT > length, WriteBarrierMode barrier_mode, DestroySource destroy_source)
 
template<typename TIndex >
void CopyFixedArrayElements (ElementsKind kind, TNode< FixedArrayBase > from_array, TNode< FixedArrayBase > to_array, TNode< TIndex > length, WriteBarrierMode barrier_mode=UPDATE_WRITE_BARRIER)
 
template<typename TIndex >
void CopyFixedArrayElements (ElementsKind from_kind, TNode< FixedArrayBase > from_array, ElementsKind to_kind, TNode< FixedArrayBase > to_array, TNode< TIndex > element_count, TNode< TIndex > capacity, WriteBarrierMode barrier_mode=UPDATE_WRITE_BARRIER)
 
template<typename TIndex >
void CopyFixedArrayElements (ElementsKind from_kind, TNode< FixedArrayBase > from_array, ElementsKind to_kind, TNode< FixedArrayBase > to_array, TNode< TIndex > first_element, TNode< TIndex > element_count, TNode< TIndex > capacity, WriteBarrierMode barrier_mode=UPDATE_WRITE_BARRIER, HoleConversionMode convert_holes=HoleConversionMode::kDontConvert, TVariable< BoolT > *var_holes_converted=nullptr)
 
void TrySkipWriteBarrier (TNode< Object > object, Label *if_needs_write_barrier)
 
void MoveElements (ElementsKind kind, TNode< FixedArrayBase > elements, TNode< IntPtrT > dst_index, TNode< IntPtrT > src_index, TNode< IntPtrT > length)
 
void CopyElements (ElementsKind kind, TNode< FixedArrayBase > dst_elements, TNode< IntPtrT > dst_index, TNode< FixedArrayBase > src_elements, TNode< IntPtrT > src_index, TNode< IntPtrT > length, WriteBarrierMode write_barrier=UPDATE_WRITE_BARRIER)
 
void CopyRange (TNode< HeapObject > dst_object, int dst_offset, TNode< HeapObject > src_object, int src_offset, TNode< IntPtrT > length_in_tagged, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
TNode< FixedArrayHeapObjectToFixedArray (TNode< HeapObject > base, Label *cast_fail)
 
TNode< FixedDoubleArrayHeapObjectToFixedDoubleArray (TNode< HeapObject > base, Label *cast_fail)
 
TNode< ArrayListAllocateArrayList (TNode< Smi > size)
 
TNode< ArrayListArrayListEnsureSpace (TNode< ArrayList > array, TNode< Smi > length)
 
TNode< ArrayListArrayListAdd (TNode< ArrayList > array, TNode< Object > object)
 
void ArrayListSet (TNode< ArrayList > array, TNode< Smi > index, TNode< Object > object)
 
TNode< SmiArrayListGetLength (TNode< ArrayList > array)
 
void ArrayListSetLength (TNode< ArrayList > array, TNode< Smi > length)
 
TNode< FixedArrayArrayListElements (TNode< ArrayList > array)
 
template<typename T >
bool ClassHasMapConstant ()
 
template<typename T >
TNode< MapGetClassMapConstant ()
 
template<typename TIndex >
TNode< FixedArrayBaseExtractFixedArray (TNode< FixedArrayBase > source, std::optional< TNode< TIndex > > first, std::optional< TNode< TIndex > > count=std::nullopt, std::optional< TNode< TIndex > > capacity=std::nullopt, ExtractFixedArrayFlags extract_flags=ExtractFixedArrayFlag::kAllFixedArrays, TVariable< BoolT > *var_holes_converted=nullptr, std::optional< TNode< Int32T > > source_elements_kind=std::nullopt)
 
template<typename TIndex >
TNode< FixedArrayExtractToFixedArray (TNode< FixedArrayBase > source, TNode< TIndex > first, TNode< TIndex > count, TNode< TIndex > capacity, TNode< Map > source_map, ElementsKind from_kind, AllocationFlags allocation_flags, ExtractFixedArrayFlags extract_flags, HoleConversionMode convert_holes, TVariable< BoolT > *var_holes_converted=nullptr, std::optional< TNode< Int32T > > source_runtime_kind=std::nullopt)
 
template<typename TIndex >
TNode< FixedArrayBaseExtractFixedDoubleArrayFillingHoles (TNode< FixedArrayBase > source, TNode< TIndex > first, TNode< TIndex > count, TNode< TIndex > capacity, TNode< Map > source_map, TVariable< BoolT > *var_holes_converted, AllocationFlags allocation_flags, ExtractFixedArrayFlags extract_flags)
 
TNode< FixedArrayBaseCloneFixedArray (TNode< FixedArrayBase > source, ExtractFixedArrayFlags flags=ExtractFixedArrayFlag::kAllFixedArraysDontCopyCOW)
 
template<typename TResult >
TNode< TResult > LoadElementAndPrepareForStore (TNode< FixedArrayBase > array, TNode< IntPtrT > offset, ElementsKind from_kind, ElementsKind to_kind, Label *if_hole)
 
template<typename TIndex >
TNode< TIndex > CalculateNewElementsCapacity (TNode< TIndex > old_capacity)
 
TNode< FixedArrayBaseTryGrowElementsCapacity (TNode< HeapObject > object, TNode< FixedArrayBase > elements, ElementsKind kind, TNode< Smi > key, Label *bailout)
 
template<typename TIndex >
TNode< FixedArrayBaseTryGrowElementsCapacity (TNode< HeapObject > object, TNode< FixedArrayBase > elements, ElementsKind kind, TNode< TIndex > key, TNode< TIndex > capacity, Label *bailout)
 
template<typename TIndex >
TNode< FixedArrayBaseGrowElementsCapacity (TNode< HeapObject > object, TNode< FixedArrayBase > elements, ElementsKind from_kind, ElementsKind to_kind, TNode< TIndex > capacity, TNode< TIndex > new_capacity, Label *bailout)
 
void PossiblyGrowElementsCapacity (ElementsKind kind, TNode< HeapObject > array, TNode< BInt > length, TVariable< FixedArrayBase > *var_elements, TNode< BInt > growth, Label *bailout)
 
void InitializeAllocationMemento (TNode< HeapObject > base, TNode< IntPtrT > base_allocation_size, TNode< AllocationSite > allocation_site)
 
TNode< IntPtrTTryTaggedToInt32AsIntPtr (TNode< Object > value, Label *if_not_possible)
 
TNode< Float64TTryTaggedToFloat64 (TNode< Object > value, Label *if_valueisnotnumber)
 
TNode< Float64TTruncateTaggedToFloat64 (TNode< Context > context, TNode< Object > value)
 
TNode< Word32TTruncateTaggedToWord32 (TNode< Context > context, TNode< Object > value)
 
void TaggedToWord32OrBigInt (TNode< Context > context, TNode< Object > value, Label *if_number, TVariable< Word32T > *var_word32, Label *if_bigint, Label *if_bigint64, TVariable< BigInt > *var_maybe_bigint)
 
void TaggedToWord32OrBigIntWithFeedback (TNode< Context > context, TNode< Object > value, Label *if_number, TVariable< Word32T > *var_word32, Label *if_bigint, Label *if_bigint64, TVariable< BigInt > *var_maybe_bigint, const FeedbackValues &feedback)
 
void TaggedPointerToWord32OrBigIntWithFeedback (TNode< Context > context, TNode< HeapObject > pointer, Label *if_number, TVariable< Word32T > *var_word32, Label *if_bigint, Label *if_bigint64, TVariable< BigInt > *var_maybe_bigint, const FeedbackValues &feedback)
 
TNode< Int32TTruncateNumberToWord32 (TNode< Number > value)
 
TNode< Int32TTruncateHeapNumberValueToWord32 (TNode< HeapNumber > object)
 
TNode< SmiTryHeapNumberToSmi (TNode< HeapNumber > number, Label *not_smi)
 
TNode< SmiTryFloat32ToSmi (TNode< Float32T > number, Label *not_smi)
 
TNode< SmiTryFloat64ToSmi (TNode< Float64T > number, Label *not_smi)
 
TNode< Int32TTryFloat64ToInt32 (TNode< Float64T > number, Label *if_failed)
 
TNode< AdditiveSafeIntegerTTryFloat64ToAdditiveSafeInteger (TNode< Float64T > number, Label *if_failed)
 
TNode< BoolTIsAdditiveSafeInteger (TNode< Float64T > number)
 
TNode< Uint32TBitcastFloat16ToUint32 (TNode< Float16RawBitsT > value)
 
TNode< Float16RawBitsTBitcastUint32ToFloat16 (TNode< Uint32T > value)
 
TNode< Float16RawBitsTRoundInt32ToFloat16 (TNode< Int32T > value)
 
TNode< Float64TChangeFloat16ToFloat64 (TNode< Float16RawBitsT > value)
 
TNode< Float32TChangeFloat16ToFloat32 (TNode< Float16RawBitsT > value)
 
TNode< NumberChangeFloat32ToTagged (TNode< Float32T > value)
 
TNode< NumberChangeFloat64ToTagged (TNode< Float64T > value)
 
TNode< NumberChangeInt32ToTagged (TNode< Int32T > value)
 
TNode< NumberChangeInt32ToTaggedNoOverflow (TNode< Int32T > value)
 
TNode< NumberChangeUint32ToTagged (TNode< Uint32T > value)
 
TNode< NumberChangeUintPtrToTagged (TNode< UintPtrT > value)
 
TNode< Uint32TChangeNonNegativeNumberToUint32 (TNode< Number > value)
 
TNode< Float64TChangeNumberToFloat64 (TNode< Number > value)
 
TNode< Int32TChangeTaggedNonSmiToInt32 (TNode< Context > context, TNode< HeapObject > input)
 
TNode< Float64TChangeTaggedToFloat64 (TNode< Context > context, TNode< Object > input)
 
TNode< Int32TChangeBoolToInt32 (TNode< BoolT > b)
 
void TaggedToBigInt (TNode< Context > context, TNode< Object > value, Label *if_not_bigint, Label *if_bigint, Label *if_bigint64, TVariable< BigInt > *var_bigint, TVariable< Smi > *var_feedback)
 
void SharedValueBarrier (TNode< Context > context, TVariable< Object > *var_shared_value)
 
TNode< WordTTimesSystemPointerSize (TNode< WordT > value)
 
TNode< IntPtrTTimesSystemPointerSize (TNode< IntPtrT > value)
 
TNode< UintPtrTTimesSystemPointerSize (TNode< UintPtrT > value)
 
TNode< WordTTimesTaggedSize (TNode< WordT > value)
 
TNode< IntPtrTTimesTaggedSize (TNode< IntPtrT > value)
 
TNode< UintPtrTTimesTaggedSize (TNode< UintPtrT > value)
 
TNode< WordTTimesDoubleSize (TNode< WordT > value)
 
TNode< UintPtrTTimesDoubleSize (TNode< UintPtrT > value)
 
TNode< IntPtrTTimesDoubleSize (TNode< IntPtrT > value)
 
TNode< StringToThisString (TNode< Context > context, TNode< Object > value, TNode< String > method_name)
 
TNode< StringToThisString (TNode< Context > context, TNode< Object > value, char const *method_name)
 
TNode< JSAnyToThisValue (TNode< Context > context, TNode< JSAny > value, PrimitiveType primitive_type, char const *method_name)
 
void ThrowIfNotInstanceType (TNode< Context > context, TNode< Object > value, InstanceType instance_type, char const *method_name)
 
void ThrowIfNotJSReceiver (TNode< Context > context, TNode< Object > value, MessageTemplate msg_template, const char *method_name)
 
void ThrowIfNotCallable (TNode< Context > context, TNode< Object > value, const char *method_name)
 
void ThrowRangeError (TNode< Context > context, MessageTemplate message, std::optional< TNode< Object > > arg0=std::nullopt, std::optional< TNode< Object > > arg1=std::nullopt, std::optional< TNode< Object > > arg2=std::nullopt)
 
void ThrowTypeError (TNode< Context > context, MessageTemplate message, char const *arg0=nullptr, char const *arg1=nullptr)
 
void ThrowTypeError (TNode< Context > context, MessageTemplate message, std::optional< TNode< Object > > arg0, std::optional< TNode< Object > > arg1=std::nullopt, std::optional< TNode< Object > > arg2=std::nullopt)
 
void TerminateExecution (TNode< Context > context)
 
TNode< Union< Hole, JSMessageObject > > GetPendingMessage ()
 
void SetPendingMessage (TNode< Union< Hole, JSMessageObject > > message)
 
TNode< BoolTIsExecutionTerminating ()
 
TNode< ObjectGetContinuationPreservedEmbedderData ()
 
void SetContinuationPreservedEmbedderData (TNode< Object > value)
 
TNode< BoolTInstanceTypeEqual (TNode< Int32T > instance_type, int type)
 
TNode< BoolTIsNoElementsProtectorCellInvalid ()
 
TNode< BoolTIsMegaDOMProtectorCellInvalid ()
 
TNode< BoolTIsAlwaysSharedSpaceJSObjectInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsArrayIteratorProtectorCellInvalid ()
 
TNode< BoolTIsBigIntInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsBigInt (TNode< HeapObject > object)
 
TNode< BoolTIsBoolean (TNode< HeapObject > object)
 
TNode< BoolTIsCallableMap (TNode< Map > map)
 
TNode< BoolTIsCallable (TNode< HeapObject > object)
 
TNode< BoolTTaggedIsCallable (TNode< Object > object)
 
TNode< BoolTIsCode (TNode< HeapObject > object)
 
TNode< BoolTTaggedIsCode (TNode< Object > object)
 
TNode< BoolTIsConsStringInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsConstructorMap (TNode< Map > map)
 
TNode< BoolTIsConstructor (TNode< HeapObject > object)
 
TNode< BoolTIsDeprecatedMap (TNode< Map > map)
 
TNode< BoolTIsPropertyDictionary (TNode< HeapObject > object)
 
TNode< BoolTIsOrderedNameDictionary (TNode< HeapObject > object)
 
TNode< BoolTIsGlobalDictionary (TNode< HeapObject > object)
 
TNode< BoolTIsExtensibleMap (TNode< Map > map)
 
TNode< BoolTIsExtensibleNonPrototypeMap (TNode< Map > map)
 
TNode< BoolTIsExternalStringInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsFixedArray (TNode< HeapObject > object)
 
TNode< BoolTIsFixedArraySubclass (TNode< HeapObject > object)
 
TNode< BoolTIsFixedArrayWithKind (TNode< HeapObject > object, ElementsKind kind)
 
TNode< BoolTIsFixedArrayWithKindOrEmpty (TNode< FixedArrayBase > object, ElementsKind kind)
 
TNode< BoolTIsFunctionWithPrototypeSlotMap (TNode< Map > map)
 
TNode< BoolTIsHashTable (TNode< HeapObject > object)
 
TNode< BoolTIsEphemeronHashTable (TNode< HeapObject > object)
 
TNode< BoolTIsHeapNumberInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsNotAnyHole (TNode< Object > object)
 
TNode< BoolTIsHoleInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsOddball (TNode< HeapObject > object)
 
TNode< BoolTIsOddballInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsIndirectStringInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsJSArrayBuffer (TNode< HeapObject > object)
 
TNode< BoolTIsJSDataView (TNode< HeapObject > object)
 
TNode< BoolTIsJSRabGsabDataView (TNode< HeapObject > object)
 
TNode< BoolTIsJSArrayInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsJSArrayMap (TNode< Map > map)
 
TNode< BoolTIsJSArray (TNode< HeapObject > object)
 
TNode< BoolTIsJSArrayIterator (TNode< HeapObject > object)
 
TNode< BoolTIsJSAsyncGeneratorObject (TNode< HeapObject > object)
 
TNode< BoolTIsFunctionInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsJSFunctionInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsJSFunctionMap (TNode< Map > map)
 
TNode< BoolTIsJSFunction (TNode< HeapObject > object)
 
TNode< BoolTIsJSBoundFunction (TNode< HeapObject > object)
 
TNode< BoolTIsJSGeneratorObject (TNode< HeapObject > object)
 
TNode< BoolTIsJSGlobalProxyInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsJSGlobalProxyMap (TNode< Map > map)
 
TNode< BoolTIsJSGlobalProxy (TNode< HeapObject > object)
 
TNode< BoolTIsJSObjectInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsJSObjectMap (TNode< Map > map)
 
TNode< BoolTIsJSObject (TNode< HeapObject > object)
 
TNode< BoolTIsJSApiObjectInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsJSApiObjectMap (TNode< Map > map)
 
TNode< BoolTIsJSApiObject (TNode< HeapObject > object)
 
TNode< BoolTIsJSFinalizationRegistryMap (TNode< Map > map)
 
TNode< BoolTIsJSFinalizationRegistry (TNode< HeapObject > object)
 
TNode< BoolTIsJSPromiseMap (TNode< Map > map)
 
TNode< BoolTIsJSPromise (TNode< HeapObject > object)
 
TNode< BoolTIsJSProxy (TNode< HeapObject > object)
 
TNode< BoolTIsJSStringIterator (TNode< HeapObject > object)
 
TNode< BoolTIsJSShadowRealm (TNode< HeapObject > object)
 
TNode< BoolTIsJSRegExpStringIterator (TNode< HeapObject > object)
 
TNode< BoolTIsJSReceiverInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsJSReceiverMap (TNode< Map > map)
 
TNode< BoolTIsJSReceiver (TNode< HeapObject > object)
 
TNode< BoolTJSAnyIsNotPrimitiveMap (TNode< Map > map)
 
TNode< BoolTJSAnyIsNotPrimitive (TNode< HeapObject > object)
 
TNode< BoolTIsJSRegExp (TNode< HeapObject > object)
 
TNode< BoolTIsJSTypedArrayInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsJSTypedArrayMap (TNode< Map > map)
 
TNode< BoolTIsJSTypedArray (TNode< HeapObject > object)
 
TNode< BoolTIsJSGeneratorMap (TNode< Map > map)
 
TNode< BoolTIsJSPrimitiveWrapperInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsJSPrimitiveWrapperMap (TNode< Map > map)
 
TNode< BoolTIsJSPrimitiveWrapper (TNode< HeapObject > object)
 
TNode< BoolTIsJSSharedArrayInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsJSSharedArrayMap (TNode< Map > map)
 
TNode< BoolTIsJSSharedArray (TNode< HeapObject > object)
 
TNode< BoolTIsJSSharedArray (TNode< Object > object)
 
TNode< BoolTIsJSSharedStructInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsJSSharedStructMap (TNode< Map > map)
 
TNode< BoolTIsJSSharedStruct (TNode< HeapObject > object)
 
TNode< BoolTIsJSSharedStruct (TNode< Object > object)
 
TNode< BoolTIsJSWrappedFunction (TNode< HeapObject > object)
 
TNode< BoolTIsMap (TNode< HeapObject > object)
 
TNode< BoolTIsName (TNode< HeapObject > object)
 
TNode< BoolTIsNameInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsNullOrJSReceiver (TNode< HeapObject > object)
 
TNode< BoolTIsNullOrUndefined (TNode< Object > object)
 
TNode< BoolTIsNumberDictionary (TNode< HeapObject > object)
 
TNode< BoolTIsOneByteStringInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsSeqOneByteStringInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsPrimitiveInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsPrivateName (TNode< Symbol > symbol)
 
TNode< BoolTIsPropertyArray (TNode< HeapObject > object)
 
TNode< BoolTIsPropertyCell (TNode< HeapObject > object)
 
TNode< BoolTIsPromiseReactionJobTask (TNode< HeapObject > object)
 
TNode< BoolTIsPrototypeInitialArrayPrototype (TNode< Context > context, TNode< Map > map)
 
TNode< BoolTIsPrototypeTypedArrayPrototype (TNode< Context > context, TNode< Map > map)
 
TNode< BoolTIsFastAliasedArgumentsMap (TNode< Context > context, TNode< Map > map)
 
TNode< BoolTIsSlowAliasedArgumentsMap (TNode< Context > context, TNode< Map > map)
 
TNode< BoolTIsSloppyArgumentsMap (TNode< Context > context, TNode< Map > map)
 
TNode< BoolTIsStrictArgumentsMap (TNode< Context > context, TNode< Map > map)
 
TNode< BoolTIsSequentialStringInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsUncachedExternalStringInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsSpecialReceiverInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsCustomElementsReceiverInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsSpecialReceiverMap (TNode< Map > map)
 
TNode< BoolTIsStringInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsString (TNode< HeapObject > object)
 
TNode< Word32TIsStringWrapper (TNode< HeapObject > object)
 
TNode< BoolTIsSeqOneByteString (TNode< HeapObject > object)
 
TNode< BoolTIsSequentialString (TNode< HeapObject > object)
 
TNode< BoolTIsSeqOneByteStringMap (TNode< Map > map)
 
TNode< BoolTIsSequentialStringMap (TNode< Map > map)
 
TNode< BoolTIsExternalStringMap (TNode< Map > map)
 
TNode< BoolTIsUncachedExternalStringMap (TNode< Map > map)
 
TNode< BoolTIsOneByteStringMap (TNode< Map > map)
 
TNode< BoolTIsSymbolInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsInternalizedStringInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsSharedStringInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsTemporalInstantInstanceType (TNode< Int32T > instance_type)
 
TNode< BoolTIsUniqueName (TNode< HeapObject > object)
 
TNode< BoolTIsUniqueNameNoIndex (TNode< HeapObject > object)
 
TNode< BoolTIsUniqueNameNoCachedIndex (TNode< HeapObject > object)
 
TNode< BoolTIsUndetectableMap (TNode< Map > map)
 
TNode< BoolTIsNotWeakFixedArraySubclass (TNode< HeapObject > object)
 
TNode< BoolTIsZeroOrContext (TNode< Object > object)
 
TNode< BoolTIsPromiseResolveProtectorCellInvalid ()
 
TNode< BoolTIsPromiseThenProtectorCellInvalid ()
 
TNode< BoolTIsArraySpeciesProtectorCellInvalid ()
 
TNode< BoolTIsIsConcatSpreadableProtectorCellInvalid ()
 
TNode< BoolTIsTypedArraySpeciesProtectorCellInvalid ()
 
TNode< BoolTIsRegExpSpeciesProtectorCellInvalid ()
 
TNode< BoolTIsPromiseSpeciesProtectorCellInvalid ()
 
TNode< BoolTIsNumberStringNotRegexpLikeProtectorCellInvalid ()
 
TNode< BoolTIsSetIteratorProtectorCellInvalid ()
 
TNode< BoolTIsMapIteratorProtectorCellInvalid ()
 
void InvalidateStringWrapperToPrimitiveProtector ()
 
TNode< IntPtrTLoadMemoryChunkFlags (TNode< HeapObject > object)
 
TNode< BoolTLoadRuntimeFlag (ExternalReference address_of_flag)
 
TNode< BoolTIsMockArrayBufferAllocatorFlag ()
 
TNode< BoolTHasBuiltinSubclassingFlag ()
 
TNode< BoolTHasSharedStringTableFlag ()
 
TNode< BoolTIsScriptContextMutableHeapNumberFlag ()
 
TNode< BoolTIsScriptContextMutableHeapInt32Flag ()
 
TNode< BoolTIsAdditiveSafeIntegerFeedbackEnabled ()
 
TNode< BoolTIsNumeric (TNode< Object > object)
 
TNode< BoolTIsNumberNormalized (TNode< Number > number)
 
TNode< BoolTIsNumberPositive (TNode< Number > number)
 
TNode< BoolTIsHeapNumberPositive (TNode< HeapNumber > number)
 
TNode< BoolTIsNumberNonNegativeSafeInteger (TNode< Number > number)
 
TNode< BoolTIsInteger (TNode< Object > number)
 
TNode< BoolTIsInteger (TNode< HeapNumber > number)
 
TNode< BoolTIsSafeInteger (TNode< Object > number)
 
TNode< BoolTIsSafeInteger (TNode< HeapNumber > number)
 
TNode< BoolTIsHeapNumberUint32 (TNode< HeapNumber > number)
 
TNode< BoolTIsNumberArrayIndex (TNode< Number > number)
 
template<typename TIndex >
TNode< BoolTFixedArraySizeDoesntFitInNewSpace (TNode< TIndex > element_count, int base_size)
 
TNode< BoolTElementsKindEqual (TNode< Int32T > a, TNode< Int32T > b)
 
bool ElementsKindEqual (ElementsKind a, ElementsKind b)
 
TNode< BoolTIsFastElementsKind (TNode< Int32T > elements_kind)
 
bool IsFastElementsKind (ElementsKind kind)
 
TNode< BoolTIsFastPackedElementsKind (TNode< Int32T > elements_kind)
 
bool IsFastPackedElementsKind (ElementsKind kind)
 
TNode< BoolTIsFastOrNonExtensibleOrSealedElementsKind (TNode< Int32T > elements_kind)
 
TNode< BoolTIsDictionaryElementsKind (TNode< Int32T > elements_kind)
 
TNode< BoolTIsDoubleElementsKind (TNode< Int32T > elements_kind)
 
bool IsDoubleElementsKind (ElementsKind kind)
 
TNode< BoolTIsFastSmiOrTaggedElementsKind (TNode< Int32T > elements_kind)
 
TNode< BoolTIsFastSmiElementsKind (TNode< Int32T > elements_kind)
 
TNode< BoolTIsHoleyFastElementsKind (TNode< Int32T > elements_kind)
 
TNode< BoolTIsHoleyFastElementsKindForRead (TNode< Int32T > elements_kind)
 
TNode< BoolTIsElementsKindGreaterThan (TNode< Int32T > target_kind, ElementsKind reference_kind)
 
TNode< BoolTIsElementsKindGreaterThanOrEqual (TNode< Int32T > target_kind, ElementsKind reference_kind)
 
TNode< BoolTIsElementsKindLessThanOrEqual (TNode< Int32T > target_kind, ElementsKind reference_kind)
 
TNode< BoolTIsElementsKindInRange (TNode< Int32T > target_kind, ElementsKind lower_reference_kind, ElementsKind higher_reference_kind)
 
TNode< Int32TGetNonRabGsabElementsKind (TNode< Int32T > elements_kind)
 
TNode< Uint16TStringCharCodeAt (TNode< String > string, TNode< UintPtrT > index)
 
TNode< StringStringFromSingleCharCode (TNode< Int32T > code)
 
TNode< NumberStringToNumber (TNode< String > input)
 
TNode< StringNumberToString (TNode< Number > input)
 
TNode< StringNumberToString (TNode< Number > input, Label *bailout)
 
TNode< NumberNonNumberToNumber (TNode< Context > context, TNode< HeapObject > input, BigIntHandling bigint_handling=BigIntHandling::kThrow)
 
TNode< NumericNonNumberToNumeric (TNode< Context > context, TNode< HeapObject > input)
 
TNode< NumberToNumber (TNode< Context > context, TNode< Object > input, BigIntHandling bigint_handling=BigIntHandling::kThrow)
 
TNode< NumberToNumber_Inline (TNode< Context > context, TNode< Object > input)
 
TNode< NumericToNumberOrNumeric (LazyNode< Context > context, TNode< Object > input, TVariable< Smi > *var_type_feedback, Object::Conversion mode, BigIntHandling bigint_handling=BigIntHandling::kThrow)
 
TNode< NumberPlainPrimitiveToNumber (TNode< Object > input)
 
TNode< BigIntToBigInt (TNode< Context > context, TNode< Object > input)
 
TNode< BigIntToBigIntConvertNumber (TNode< Context > context, TNode< Object > input)
 
TNode< NumberToUint32 (TNode< Context > context, TNode< Object > input)
 
TNode< IntPtrTChangePositiveInt32ToIntPtr (TNode< Int32T > input)
 
TNode< StringToString_Inline (TNode< Context > context, TNode< Object > input)
 
TNode< JSReceiverToObject (TNode< Context > context, TNode< Object > input)
 
TNode< JSReceiverToObject_Inline (TNode< Context > context, TNode< Object > input)
 
TNode< NumberToLength_Inline (TNode< Context > context, TNode< Object > input)
 
TNode< ObjectOrdinaryToPrimitive (TNode< Context > context, TNode< Object > input, OrdinaryToPrimitiveHint hint)
 
template<typename BitField >
TNode< Uint32TDecodeWord32 (TNode< Word32T > word32)
 
template<typename BitField >
TNode< UintPtrTDecodeWord (TNode< WordT > word)
 
template<typename BitField >
TNode< UintPtrTDecodeWordFromWord32 (TNode< Word32T > word32)
 
template<typename BitField >
TNode< Uint32TDecodeWord32FromWord (TNode< WordT > word)
 
TNode< Uint32TDecodeWord32 (TNode< Word32T > word32, uint32_t shift, uint32_t mask)
 
TNode< UintPtrTDecodeWord (TNode< WordT > word, uint32_t shift, uintptr_t mask)
 
template<typename BitField >
TNode< Word32TUpdateWord32 (TNode< Word32T > word, TNode< Uint32T > value, bool starts_as_zero=false)
 
template<typename BitField >
TNode< WordTUpdateWord (TNode< WordT > word, TNode< UintPtrT > value, bool starts_as_zero=false)
 
template<typename BitField >
TNode< Word32TUpdateWordInWord32 (TNode< Word32T > word, TNode< UintPtrT > value, bool starts_as_zero=false)
 
template<typename BitField >
TNode< WordTUpdateWord32InWord (TNode< WordT > word, TNode< Uint32T > value, bool starts_as_zero=false)
 
TNode< Word32TUpdateWord32 (TNode< Word32T > word, TNode< Uint32T > value, uint32_t shift, uint32_t mask, bool starts_as_zero=false)
 
TNode< WordTUpdateWord (TNode< WordT > word, TNode< UintPtrT > value, uint32_t shift, uintptr_t mask, bool starts_as_zero=false)
 
template<typename T >
TNode< BoolTIsSetWord32 (TNode< Word32T > word32)
 
template<typename T >
TNode< BoolTIsNotSetWord32 (TNode< Word32T > word32)
 
TNode< BoolTIsSetWord32 (TNode< Word32T > word32, uint32_t mask)
 
TNode< BoolTIsNotSetWord32 (TNode< Word32T > word32, uint32_t mask)
 
TNode< BoolTIsAllSetWord32 (TNode< Word32T > word32, uint32_t mask)
 
template<typename BitField >
TNode< BoolTIsEqualInWord32 (TNode< Word32T > word32, typename BitField::FieldType value)
 
template<typename BitField1 , typename BitField2 >
TNode< BoolTIsBothEqualInWord32 (TNode< Word32T > word32, typename BitField1::FieldType value1, typename BitField2::FieldType value2)
 
template<typename BitField >
TNode< BoolTIsNotEqualInWord32 (TNode< Word32T > word32, typename BitField::FieldType value)
 
template<typename T >
TNode< BoolTIsSetWord (TNode< WordT > word)
 
TNode< BoolTIsSetWord (TNode< WordT > word, uint32_t mask)
 
TNode< BoolTIsSetSmi (TNode< Smi > smi, int untagged_mask)
 
template<typename T >
TNode< BoolTIsClearWord32 (TNode< Word32T > word32)
 
TNode< BoolTIsClearWord32 (TNode< Word32T > word32, uint32_t mask)
 
template<typename T >
TNode< BoolTIsClearWord (TNode< WordT > word)
 
TNode< BoolTIsClearWord (TNode< WordT > word, uint32_t mask)
 
void SetCounter (StatsCounter *counter, int value)
 
void IncrementCounter (StatsCounter *counter, int delta)
 
void DecrementCounter (StatsCounter *counter, int delta)
 
template<typename TIndex >
void Increment (TVariable< TIndex > *variable, int value=1)
 
template<typename TIndex >
void Decrement (TVariable< TIndex > *variable, int value=1)
 
void Use (Label *label)
 
void TryToName (TNode< Object > key, Label *if_keyisindex, TVariable< IntPtrT > *var_index, Label *if_keyisunique, TVariable< Name > *var_unique, Label *if_bailout, Label *if_notinternalized=nullptr)
 
void StringWriteToFlatOneByte (TNode< String > source, TNode< RawPtrT > sink, TNode< Int32T > start, TNode< Int32T > length)
 
void StringWriteToFlatTwoByte (TNode< String > source, TNode< RawPtrT > sink, TNode< Int32T > start, TNode< Int32T > length)
 
TNode< RawPtr< Uint8T > > ExternalOneByteStringGetChars (TNode< ExternalOneByteString > string)
 
TNode< RawPtr< Uint16T > > ExternalTwoByteStringGetChars (TNode< ExternalTwoByteString > string)
 
TNode< RawPtr< Uint8T > > IntlAsciiCollationWeightsL1 ()
 
TNode< RawPtr< Uint8T > > IntlAsciiCollationWeightsL3 ()
 
void TryInternalizeString (TNode< String > string, Label *if_index, TVariable< IntPtrT > *var_index, Label *if_internalized, TVariable< Name > *var_internalized, Label *if_not_internalized, Label *if_bailout)
 
template<typename Dictionary >
TNode< IntPtrTEntryToIndex (TNode< IntPtrT > entry, int field_index)
 
template<typename Dictionary >
TNode< IntPtrTEntryToIndex (TNode< IntPtrT > entry)
 
template<class ContainerType >
TNode< Uint32TLoadDetailsByKeyIndex (TNode< ContainerType > container, TNode< IntPtrT > key_index)
 
template<class ContainerType >
TNode< ObjectLoadValueByKeyIndex (TNode< ContainerType > container, TNode< IntPtrT > key_index)
 
template<class ContainerType >
void StoreDetailsByKeyIndex (TNode< ContainerType > container, TNode< IntPtrT > key_index, TNode< Smi > details)
 
template<class ContainerType >
void StoreValueByKeyIndex (TNode< ContainerType > container, TNode< IntPtrT > key_index, TNode< Object > value, WriteBarrierMode write_barrier=UPDATE_WRITE_BARRIER)
 
TNode< IntPtrTHashTableComputeCapacity (TNode< IntPtrT > at_least_space_for)
 
TNode< IntPtrTNameToIndexHashTableLookup (TNode< NameToIndexHashTable > table, TNode< Name > name, Label *not_found)
 
template<class Dictionary >
TNode< SmiGetNumberOfElements (TNode< Dictionary > dictionary)
 
TNode< SmiGetNumberDictionaryNumberOfElements (TNode< NumberDictionary > dictionary)
 
template<class Dictionary >
void SetNumberOfElements (TNode< Dictionary > dictionary, TNode< Smi > num_elements_smi)
 
template<class Dictionary >
TNode< SmiGetNumberOfDeletedElements (TNode< Dictionary > dictionary)
 
template<class Dictionary >
void SetNumberOfDeletedElements (TNode< Dictionary > dictionary, TNode< Smi > num_deleted_smi)
 
template<class Dictionary >
TNode< SmiGetCapacity (TNode< Dictionary > dictionary)
 
template<class Dictionary >
TNode< SmiGetNextEnumerationIndex (TNode< Dictionary > dictionary)
 
template<class Dictionary >
void SetNextEnumerationIndex (TNode< Dictionary > dictionary, TNode< Smi > next_enum_index_smi)
 
template<class Dictionary >
TNode< SmiGetNameDictionaryFlags (TNode< Dictionary > dictionary)
 
template<class Dictionary >
void SetNameDictionaryFlags (TNode< Dictionary >, TNode< Smi > flags)
 
template<typename Dictionary >
TNode< HeapObjectLoadName (TNode< HeapObject > key)
 
template<typename Dictionary >
void NameDictionaryLookup (TNode< Dictionary > dictionary, TNode< Name > unique_name, Label *if_found, TVariable< IntPtrT > *var_name_index, Label *if_not_found, LookupMode mode=kFindExisting)
 
template<typename Dictionary >
void NameDictionaryLookupWithForwardIndex (TNode< Dictionary > dictionary, TNode< Name > unique_name, Label *if_found, TVariable< IntPtrT > *var_name_index, Label *if_not_found, LookupMode mode=kFindExisting)
 
TNode< Word32TComputeSeededHash (TNode< IntPtrT > key)
 
void NumberDictionaryLookup (TNode< NumberDictionary > dictionary, TNode< IntPtrT > intptr_index, Label *if_found, TVariable< IntPtrT > *var_entry, Label *if_not_found)
 
TNode< JSAnyBasicLoadNumberDictionaryElement (TNode< NumberDictionary > dictionary, TNode< IntPtrT > intptr_index, Label *not_data, Label *if_hole)
 
template<class Dictionary >
void FindInsertionEntry (TNode< Dictionary > dictionary, TNode< Name > key, TVariable< IntPtrT > *var_key_index)
 
template<class Dictionary >
void InsertEntry (TNode< Dictionary > dictionary, TNode< Name > key, TNode< Object > value, TNode< IntPtrT > index, TNode< Smi > enum_index)
 
template<class Dictionary >
void AddToDictionary (TNode< Dictionary > dictionary, TNode< Name > key, TNode< Object > value, Label *bailout, std::optional< TNode< IntPtrT > > insertion_index=std::nullopt)
 
void TryHasOwnProperty (TNode< HeapObject > object, TNode< Map > map, TNode< Int32T > instance_type, TNode< Name > unique_name, Label *if_found, Label *if_not_found, Label *if_bailout)
 
void TryGetOwnProperty (TNode< Context > context, TNode< JSAny > receiver, TNode< JSReceiver > object, TNode< Map > map, TNode< Int32T > instance_type, TNode< Name > unique_name, Label *if_found_value, TVariable< Object > *var_value, Label *if_not_found, Label *if_bailout, ExpectedReceiverMode expected_receiver_mode=kExpectingAnyReceiver)
 
void TryGetOwnProperty (TNode< Context > context, TNode< JSAny > receiver, TNode< JSReceiver > object, TNode< Map > map, TNode< Int32T > instance_type, TNode< Name > unique_name, Label *if_found_value, TVariable< Object > *var_value, TVariable< Uint32T > *var_details, TVariable< Object > *var_raw_value, Label *if_not_found, Label *if_bailout, GetOwnPropertyMode mode, ExpectedReceiverMode expected_receiver_mode=kExpectingAnyReceiver)
 
TNode< PropertyDescriptorObjectAllocatePropertyDescriptorObject (TNode< Context > context)
 
void InitializePropertyDescriptorObject (TNode< PropertyDescriptorObject > descriptor, TNode< Object > value, TNode< Uint32T > details, Label *if_bailout)
 
TNode< JSAnyGetProperty (TNode< Context > context, TNode< JSAny > receiver, Handle< Name > name)
 
TNode< JSAnyGetProperty (TNode< Context > context, TNode< JSAny > receiver, TNode< Object > name)
 
TNode< BoolTIsInterestingProperty (TNode< Name > name)
 
TNode< JSAnyGetInterestingProperty (TNode< Context > context, TNode< JSReceiver > receiver, TNode< Name > name, Label *if_not_found)
 
TNode< JSAnyGetInterestingProperty (TNode< Context > context, TNode< JSAny > receiver, TVariable< JSAnyNotSmi > *var_holder, TVariable< Map > *var_holder_map, TNode< Name > name, Label *if_not_found)
 
TNode< ObjectSetPropertyStrict (TNode< Context > context, TNode< JSAny > receiver, TNode< Object > key, TNode< Object > value)
 
TNode< ObjectCreateDataProperty (TNode< Context > context, TNode< JSObject > receiver, TNode< Object > key, TNode< Object > value)
 
TNode< JSAnyGetMethod (TNode< Context > context, TNode< JSAny > object, Handle< Name > name, Label *if_null_or_undefined)
 
TNode< JSAnyGetIteratorMethod (TNode< Context > context, TNode< JSAnyNotSmi > heap_obj, Label *if_iteratorundefined)
 
TNode< JSAnyCreateAsyncFromSyncIterator (TNode< Context > context, TNode< JSAny > sync_iterator)
 
TNode< JSObjectCreateAsyncFromSyncIterator (TNode< Context > context, TNode< JSReceiver > sync_iterator, TNode< Object > next)
 
void LoadPropertyFromFastObject (TNode< HeapObject > object, TNode< Map > map, TNode< DescriptorArray > descriptors, TNode< IntPtrT > name_index, TVariable< Uint32T > *var_details, TVariable< Object > *var_value)
 
void LoadPropertyFromFastObject (TNode< HeapObject > object, TNode< Map > map, TNode< DescriptorArray > descriptors, TNode< IntPtrT > name_index, TNode< Uint32T >, TVariable< Object > *var_value)
 
template<typename Dictionary >
void LoadPropertyFromDictionary (TNode< Dictionary > dictionary, TNode< IntPtrT > name_index, TVariable< Uint32T > *var_details, TVariable< Object > *var_value)
 
void LoadPropertyFromGlobalDictionary (TNode< GlobalDictionary > dictionary, TNode< IntPtrT > name_index, TVariable< Uint32T > *var_details, TVariable< Object > *var_value, Label *if_deleted)
 
void TryLookupProperty (TNode< HeapObject > object, TNode< Map > map, TNode< Int32T > instance_type, TNode< Name > unique_name, Label *if_found_fast, Label *if_found_dict, Label *if_found_global, TVariable< HeapObject > *var_meta_storage, TVariable< IntPtrT > *var_name_index, Label *if_not_found, Label *if_bailout)
 
void TryLookupPropertyInSimpleObject (TNode< JSObject > object, TNode< Map > map, TNode< Name > unique_name, Label *if_found_fast, Label *if_found_dict, TVariable< HeapObject > *var_meta_storage, TVariable< IntPtrT > *var_name_index, Label *if_not_found, Label *bailout)
 
void TryLookupElement (TNode< HeapObject > object, TNode< Map > map, TNode< Int32T > instance_type, TNode< IntPtrT > intptr_index, Label *if_found, Label *if_absent, Label *if_not_found, Label *if_bailout)
 
void BranchIfMaybeSpecialIndex (TNode< String > name_string, Label *if_maybe_special_index, Label *if_not_special_index)
 
void TryPrototypeChainLookup (TNode< JSAny > receiver, TNode< JSAny > object, TNode< Object > key, const LookupPropertyInHolder &lookup_property_in_holder, const LookupElementInHolder &lookup_element_in_holder, Label *if_end, Label *if_bailout, Label *if_proxy, bool handle_private_names=false)
 
TNode< BooleanHasInPrototypeChain (TNode< Context > context, TNode< HeapObject > object, TNode< Object > prototype)
 
TNode< BooleanOrdinaryHasInstance (TNode< Context > context, TNode< Object > callable, TNode< Object > object)
 
TNode< BytecodeArrayLoadBytecodeArrayFromBaseline ()
 
TNode< FeedbackVectorLoadFeedbackVectorForStub ()
 
TNode< FeedbackVectorLoadFeedbackVectorFromBaseline ()
 
TNode< ContextLoadContextFromBaseline ()
 
TNode< FeedbackVectorLoadFeedbackVectorForStubWithTrampoline ()
 
TNode< HeapObjectLoadFeedbackCellValue (TNode< JSFunction > closure)
 
TNode< HeapObjectLoadFeedbackVector (TNode< JSFunction > closure)
 
TNode< FeedbackVectorLoadFeedbackVector (TNode< JSFunction > closure, Label *if_no_feedback_vector)
 
TNode< ClosureFeedbackCellArrayLoadClosureFeedbackArray (TNode< JSFunction > closure)
 
bool UpdateFeedbackModeEqual (UpdateFeedbackMode a, UpdateFeedbackMode b)
 
void UpdateFeedback (TNode< Smi > feedback, TNode< HeapObject > maybe_feedback_vector, TNode< UintPtrT > slot_id, UpdateFeedbackMode mode)
 
void UpdateFeedback (TNode< Smi > feedback, TNode< FeedbackVector > feedback_vector, TNode< UintPtrT > slot_id)
 
void MaybeUpdateFeedback (TNode< Smi > feedback, TNode< HeapObject > maybe_feedback_vector, TNode< UintPtrT > slot_id)
 
void ReportFeedbackUpdate (TNode< FeedbackVector > feedback_vector, TNode< UintPtrT > slot_id, const char *reason)
 
void CombineFeedback (TVariable< Smi > *existing_feedback, int feedback)
 
void CombineFeedback (TVariable< Smi > *existing_feedback, TNode< Smi > feedback)
 
void OverwriteFeedback (TVariable< Smi > *existing_feedback, int new_feedback)
 
void CheckForAssociatedProtector (TNode< Name > name, Label *if_protector)
 
TNode< MapLoadReceiverMap (TNode< Object > receiver)
 
TNode< ContextLoadScriptContext (TNode< Context > context, TNode< IntPtrT > context_index)
 
TNode< Uint8TInt32ToUint8Clamped (TNode< Int32T > int32_value)
 
TNode< Uint8TFloat64ToUint8Clamped (TNode< Float64T > float64_value)
 
template<typename T >
TNode< TPrepareValueForWriteToTypedArray (TNode< Object > input, ElementsKind elements_kind, TNode< Context > context)
 
template<typename TIndex , typename TValue >
void StoreElement (TNode< RawPtrT > elements, ElementsKind kind, TNode< TIndex > index, TNode< TValue > value)
 
void BigIntToRawBytes (TNode< BigInt > bigint, TVariable< UintPtrT > *var_low, TVariable< UintPtrT > *var_high)
 
void EmitElementStore (TNode< JSObject > object, TNode< Object > key, TNode< Object > value, ElementsKind elements_kind, KeyedAccessStoreMode store_mode, Label *bailout, TNode< Context > context, TVariable< Object > *maybe_converted_value=nullptr)
 
TNode< FixedArrayBaseCheckForCapacityGrow (TNode< JSObject > object, TNode< FixedArrayBase > elements, ElementsKind kind, TNode< UintPtrT > length, TNode< IntPtrT > key, Label *bailout)
 
TNode< FixedArrayBaseCopyElementsOnWrite (TNode< HeapObject > object, TNode< FixedArrayBase > elements, ElementsKind kind, TNode< IntPtrT > length, Label *bailout)
 
void TransitionElementsKind (TNode< JSObject > object, TNode< Map > map, ElementsKind from_kind, ElementsKind to_kind, Label *bailout)
 
void TrapAllocationMemento (TNode< JSObject > object, Label *memento_found)
 
TNode< IntPtrTMemoryChunkFromAddress (TNode< IntPtrT > address)
 
TNode< IntPtrTPageMetadataFromMemoryChunk (TNode< IntPtrT > address)
 
TNode< IntPtrTPageMetadataFromAddress (TNode< IntPtrT > address)
 
TNode< MaybeObjectStoreWeakReferenceInFeedbackVector (TNode< FeedbackVector > feedback_vector, TNode< UintPtrT > slot, TNode< HeapObject > value, int additional_offset=0)
 
TNode< AllocationSiteCreateAllocationSiteInFeedbackVector (TNode< FeedbackVector > feedback_vector, TNode< UintPtrT > slot)
 
TNode< BoolTHasBoilerplate (TNode< Object > maybe_literal_site)
 
TNode< SmiLoadTransitionInfo (TNode< AllocationSite > allocation_site)
 
TNode< JSObjectLoadBoilerplate (TNode< AllocationSite > allocation_site)
 
TNode< Int32TLoadElementsKind (TNode< AllocationSite > allocation_site)
 
TNode< ObjectLoadNestedAllocationSite (TNode< AllocationSite > allocation_site)
 
TNode< ObjectLoadAccessorPairGetter (TNode< AccessorPair > accessor_pair)
 
TNode< ObjectLoadAccessorPairSetter (TNode< AccessorPair > accessor_pair)
 
template<typename TIndex >
void BuildFastLoop (const VariableList &vars, TVariable< TIndex > &var_index, TNode< TIndex > start_index, TNode< TIndex > end_index, const FastLoopBody< TIndex > &body, TNode< TIndex > increment, LoopUnrollingMode unrolling_mode, IndexAdvanceMode advance_mode, IndexAdvanceDirection advance_direction)
 
template<typename TIndex >
void BuildFastLoop (const VariableList &vars, TVariable< TIndex > &var_index, TNode< TIndex > start_index, TNode< TIndex > end_index, const FastLoopBody< TIndex > &body, int increment, LoopUnrollingMode unrolling_mode, IndexAdvanceMode advance_mode=IndexAdvanceMode::kPre)
 
template<typename TIndex >
void BuildFastLoop (TVariable< TIndex > &var_index, TNode< TIndex > start_index, TNode< TIndex > end_index, const FastLoopBody< TIndex > &body, int increment, LoopUnrollingMode unrolling_mode, IndexAdvanceMode advance_mode=IndexAdvanceMode::kPre)
 
template<typename TIndex >
void BuildFastLoop (const VariableList &vars, TNode< TIndex > start_index, TNode< TIndex > end_index, const FastLoopBody< TIndex > &body, int increment, LoopUnrollingMode unrolling_mode, IndexAdvanceMode advance_mode)
 
template<typename TIndex >
void BuildFastLoop (TNode< TIndex > start_index, TNode< TIndex > end_index, const FastLoopBody< TIndex > &body, int increment, LoopUnrollingMode unrolling_mode, IndexAdvanceMode advance_mode=IndexAdvanceMode::kPre)
 
template<typename TIndex >
void BuildFastArrayForEach (TNode< UnionOf< FixedArray, PropertyArray, HeapObject > > array, ElementsKind kind, TNode< TIndex > first_element_inclusive, TNode< TIndex > last_element_exclusive, const FastArrayForEachBody &body, LoopUnrollingMode loop_unrolling_mode, ForEachDirection direction=ForEachDirection::kReverse)
 
template<typename TIndex >
TNode< IntPtrTGetArrayAllocationSize (TNode< TIndex > element_count, ElementsKind kind, int header_size)
 
template<typename TIndex >
TNode< IntPtrTGetFixedArrayAllocationSize (TNode< TIndex > element_count, ElementsKind kind)
 
TNode< IntPtrTGetPropertyArrayAllocationSize (TNode< IntPtrT > element_count)
 
template<typename TIndex >
void GotoIfFixedArraySizeDoesntFitInNewSpace (TNode< TIndex > element_count, Label *doesnt_fit, int base_size)
 
void InitializeFieldsWithRoot (TNode< HeapObject > object, TNode< IntPtrT > start_offset, TNode< IntPtrT > end_offset, RootIndex root)
 
TNode< ContextGotoIfHasContextExtensionUpToDepth (TNode< Context > context, TNode< Uint32T > depth, Label *target)
 
TNode< BooleanRelationalComparison (Operation op, TNode< Object > left, TNode< Object > right, TNode< Context > context, TVariable< Smi > *var_type_feedback=nullptr)
 
TNode< BooleanRelationalComparison (Operation op, TNode< Object > left, TNode< Object > right, const LazyNode< Context > &context, TVariable< Smi > *var_type_feedback=nullptr)
 
void BranchIfNumberRelationalComparison (Operation op, TNode< Number > left, TNode< Number > right, Label *if_true, Label *if_false)
 
void BranchIfNumberEqual (TNode< Number > left, TNode< Number > right, Label *if_true, Label *if_false)
 
void BranchIfNumberNotEqual (TNode< Number > left, TNode< Number > right, Label *if_true, Label *if_false)
 
void BranchIfNumberLessThan (TNode< Number > left, TNode< Number > right, Label *if_true, Label *if_false)
 
void BranchIfNumberLessThanOrEqual (TNode< Number > left, TNode< Number > right, Label *if_true, Label *if_false)
 
void BranchIfNumberGreaterThan (TNode< Number > left, TNode< Number > right, Label *if_true, Label *if_false)
 
void BranchIfNumberGreaterThanOrEqual (TNode< Number > left, TNode< Number > right, Label *if_true, Label *if_false)
 
void BranchIfAccessorPair (TNode< Object > value, Label *if_accessor_pair, Label *if_not_accessor_pair)
 
void GotoIfNumberGreaterThanOrEqual (TNode< Number > left, TNode< Number > right, Label *if_false)
 
TNode< BooleanEqual (TNode< Object > lhs, TNode< Object > rhs, TNode< Context > context, TVariable< Smi > *var_type_feedback=nullptr)
 
TNode< BooleanEqual (TNode< Object > lhs, TNode< Object > rhs, const LazyNode< Context > &context, TVariable< Smi > *var_type_feedback=nullptr)
 
TNode< BooleanStrictEqual (TNode< Object > lhs, TNode< Object > rhs, TVariable< Smi > *var_type_feedback=nullptr)
 
void GotoIfStringEqual (TNode< String > lhs, TNode< IntPtrT > lhs_length, TNode< String > rhs, Label *if_true)
 
void BranchIfStringEqual (TNode< String > lhs, TNode< String > rhs, Label *if_true, Label *if_false, TVariable< Boolean > *result=nullptr)
 
void BranchIfStringEqual (TNode< String > lhs, TNode< IntPtrT > lhs_length, TNode< String > rhs, TNode< IntPtrT > rhs_length, Label *if_true, Label *if_false, TVariable< Boolean > *result=nullptr)
 
void BranchIfSameValue (TNode< Object > lhs, TNode< Object > rhs, Label *if_true, Label *if_false, SameValueMode mode=SameValueMode::kFull)
 
void BranchIfSameNumberValue (TNode< Float64T > lhs_value, TNode< Float64T > rhs_value, Label *if_true, Label *if_false)
 
TNode< BooleanHasProperty (TNode< Context > context, TNode< JSAny > object, TNode< Object > key, HasPropertyLookupMode mode)
 
TNode< BooleanHasProperty_Inline (TNode< Context > context, TNode< JSReceiver > object, TNode< Object > key)
 
void ForInPrepare (TNode< HeapObject > enumerator, TNode< UintPtrT > slot, TNode< HeapObject > maybe_feedback_vector, TNode< FixedArray > *cache_array_out, TNode< Smi > *cache_length_out, UpdateFeedbackMode update_feedback_mode)
 
TNode< StringTypeof (TNode< Object > value, std::optional< TNode< UintPtrT > > slot_id={}, std::optional< TNode< HeapObject > > maybe_feedback_vector={})
 
TNode< HeapObjectGetSuperConstructor (TNode< JSFunction > active_function)
 
TNode< JSReceiverSpeciesConstructor (TNode< Context > context, TNode< JSAny > object, TNode< JSReceiver > default_constructor)
 
TNode< BooleanInstanceOf (TNode< Object > object, TNode< JSAny > callable, TNode< Context > context)
 
TNode< BoolTIsDebugActive ()
 
TNode< UintPtrTLoadJSArrayBufferByteLength (TNode< JSArrayBuffer > array_buffer)
 
TNode< UintPtrTLoadJSArrayBufferMaxByteLength (TNode< JSArrayBuffer > array_buffer)
 
TNode< RawPtrTLoadJSArrayBufferBackingStorePtr (TNode< JSArrayBuffer > array_buffer)
 
void ThrowIfArrayBufferIsDetached (TNode< Context > context, TNode< JSArrayBuffer > array_buffer, const char *method_name)
 
TNode< JSArrayBufferLoadJSArrayBufferViewBuffer (TNode< JSArrayBufferView > array_buffer_view)
 
TNode< UintPtrTLoadJSArrayBufferViewByteLength (TNode< JSArrayBufferView > array_buffer_view)
 
void StoreJSArrayBufferViewByteLength (TNode< JSArrayBufferView > array_buffer_view, TNode< UintPtrT > value)
 
TNode< UintPtrTLoadJSArrayBufferViewByteOffset (TNode< JSArrayBufferView > array_buffer_view)
 
void StoreJSArrayBufferViewByteOffset (TNode< JSArrayBufferView > array_buffer_view, TNode< UintPtrT > value)
 
void ThrowIfArrayBufferViewBufferIsDetached (TNode< Context > context, TNode< JSArrayBufferView > array_buffer_view, const char *method_name)
 
TNode< UintPtrTLoadJSTypedArrayLength (TNode< JSTypedArray > typed_array)
 
void StoreJSTypedArrayLength (TNode< JSTypedArray > typed_array, TNode< UintPtrT > value)
 
TNode< UintPtrTLoadJSTypedArrayLengthAndCheckDetached (TNode< JSTypedArray > typed_array, Label *detached)
 
TNode< UintPtrTLoadVariableLengthJSTypedArrayLength (TNode< JSTypedArray > array, TNode< JSArrayBuffer > buffer, Label *detached_or_out_of_bounds)
 
TNode< UintPtrTLoadVariableLengthJSTypedArrayByteLength (TNode< Context > context, TNode< JSTypedArray > array, TNode< JSArrayBuffer > buffer)
 
TNode< UintPtrTLoadVariableLengthJSArrayBufferViewByteLength (TNode< JSArrayBufferView > array, TNode< JSArrayBuffer > buffer, Label *detached_or_out_of_bounds)
 
void IsJSArrayBufferViewDetachedOrOutOfBounds (TNode< JSArrayBufferView > array_buffer_view, Label *detached_or_oob, Label *not_detached_nor_oob)
 
TNode< BoolTIsJSArrayBufferViewDetachedOrOutOfBoundsBoolean (TNode< JSArrayBufferView > array_buffer_view)
 
void CheckJSTypedArrayIndex (TNode< JSTypedArray > typed_array, TNode< UintPtrT > index, Label *detached_or_out_of_bounds)
 
TNode< IntPtrTRabGsabElementsKindToElementByteSize (TNode< Int32T > elementsKind)
 
TNode< RawPtrTLoadJSTypedArrayDataPtr (TNode< JSTypedArray > typed_array)
 
TNode< JSArrayBufferGetTypedArrayBuffer (TNode< Context > context, TNode< JSTypedArray > array)
 
template<typename TIndex >
TNode< IntPtrTElementOffsetFromIndex (TNode< TIndex > index, ElementsKind kind, int base_size=0)
 
template<typename Array , typename TIndex >
TNode< IntPtrTOffsetOfElementAt (TNode< TIndex > index)
 
TNode< BoolTIsOffsetInBounds (TNode< IntPtrT > offset, TNode< IntPtrT > length, int header_size, ElementsKind kind=HOLEY_ELEMENTS)
 
TNode< CodeLoadBuiltin (TNode< Smi > builtin_id)
 
void SetSupportsDynamicParameterCount (TNode< JSFunction > callee, TNode< JSDispatchHandleT > dispatch_handle)
 
TNode< CodeGetSharedFunctionInfoCode (TNode< SharedFunctionInfo > shared_info, TVariable< Uint16T > *data_type_out=nullptr, Label *if_compile_lazy=nullptr)
 
TNode< JSFunctionAllocateRootFunctionWithContext (RootIndex function, TNode< Context > context, std::optional< TNode< NativeContext > > maybe_native_context)
 
TNode< JSFunctionAllocateRootFunctionWithContext (intptr_t function, TNode< Context > context, TNode< NativeContext > native_context)
 
TNode< Uint32TPromiseHookFlags ()
 
TNode< BoolTHasAsyncEventDelegate ()
 
TNode< BoolTIsIsolatePromiseHookEnabled (TNode< Uint32T > flags)
 
TNode< BoolTIsAnyPromiseHookEnabled (TNode< Uint32T > flags)
 
TNode< BoolTIsAnyPromiseHookEnabled ()
 
TNode< BoolTIsIsolatePromiseHookEnabledOrHasAsyncEventDelegate (TNode< Uint32T > flags)
 
TNode< BoolTIsIsolatePromiseHookEnabledOrHasAsyncEventDelegate ()
 
TNode< BoolTIsIsolatePromiseHookEnabledOrDebugIsActiveOrHasAsyncEventDelegate (TNode< Uint32T > flags)
 
TNode< BoolTIsIsolatePromiseHookEnabledOrDebugIsActiveOrHasAsyncEventDelegate ()
 
TNode< BoolTNeedsAnyPromiseHooks (TNode< Uint32T > flags)
 
TNode< BoolTNeedsAnyPromiseHooks ()
 
void CheckPrototypeEnumCache (TNode< JSReceiver > receiver, TNode< Map > receiver_map, Label *if_fast, Label *if_slow)
 
TNode< MapCheckEnumCache (TNode< JSReceiver > receiver, Label *if_empty, Label *if_runtime)
 
TNode< JSAnyGetArgumentValue (TorqueStructArguments args, TNode< IntPtrT > index)
 
void SetArgumentValue (TorqueStructArguments args, TNode< IntPtrT > index, TNode< JSAny > value)
 
TorqueStructArguments GetFrameArguments (TNode< RawPtrT > frame, TNode< IntPtrT > argc, FrameArgumentsArgcType argc_type=FrameArgumentsArgcType::kCountExcludesReceiver)
 
TNode< Int32TJSParameterCount (int argc_without_receiver)
 
TNode< Word32TJSParameterCount (TNode< Word32T > argc_without_receiver)
 
void Print (const char *s)
 
void Print (const char *prefix, TNode< MaybeObject > tagged_value)
 
void Print (TNode< MaybeObject > tagged_value)
 
void Print (const char *prefix, TNode< UintPtrT > value)
 
void Print (const char *prefix, TNode< Float64T > value)
 
void PrintErr (const char *s)
 
void PrintErr (const char *prefix, TNode< MaybeObject > tagged_value)
 
void PrintErr (TNode< MaybeObject > tagged_value)
 
void PrintToStream (const char *s, int stream)
 
void PrintToStream (const char *prefix, TNode< MaybeObject > tagged_value, int stream)
 
void PrintToStream (const char *prefix, TNode< UintPtrT > value, int stream)
 
void PrintToStream (const char *prefix, TNode< Float64T > value, int stream)
 
template<class... TArgs>
TNode< HeapObjectMakeTypeError (MessageTemplate message, TNode< Context > context, TArgs... args)
 
void Abort (AbortReason reason)
 
bool ConstexprBoolNot (bool value)
 
int31_t ConstexprIntegerLiteralToInt31 (const IntegerLiteral &i)
 
int32_t ConstexprIntegerLiteralToInt32 (const IntegerLiteral &i)
 
uint32_t ConstexprIntegerLiteralToUint32 (const IntegerLiteral &i)
 
int8_t ConstexprIntegerLiteralToInt8 (const IntegerLiteral &i)
 
uint8_t ConstexprIntegerLiteralToUint8 (const IntegerLiteral &i)
 
int64_t ConstexprIntegerLiteralToInt64 (const IntegerLiteral &i)
 
uint64_t ConstexprIntegerLiteralToUint64 (const IntegerLiteral &i)
 
intptr_t ConstexprIntegerLiteralToIntptr (const IntegerLiteral &i)
 
uintptr_t ConstexprIntegerLiteralToUintptr (const IntegerLiteral &i)
 
double ConstexprIntegerLiteralToFloat64 (const IntegerLiteral &i)
 
bool ConstexprIntegerLiteralEqual (IntegerLiteral lhs, IntegerLiteral rhs)
 
IntegerLiteral ConstexprIntegerLiteralAdd (const IntegerLiteral &lhs, const IntegerLiteral &rhs)
 
IntegerLiteral ConstexprIntegerLiteralLeftShift (const IntegerLiteral &lhs, const IntegerLiteral &rhs)
 
IntegerLiteral ConstexprIntegerLiteralBitwiseOr (const IntegerLiteral &lhs, const IntegerLiteral &rhs)
 
bool ConstexprInt31Equal (int31_t a, int31_t b)
 
bool ConstexprInt31NotEqual (int31_t a, int31_t b)
 
bool ConstexprInt31GreaterThanEqual (int31_t a, int31_t b)
 
bool ConstexprUint32Equal (uint32_t a, uint32_t b)
 
bool ConstexprUint32NotEqual (uint32_t a, uint32_t b)
 
bool ConstexprInt32Equal (int32_t a, int32_t b)
 
bool ConstexprInt32NotEqual (int32_t a, int32_t b)
 
bool ConstexprInt32GreaterThanEqual (int32_t a, int32_t b)
 
uint32_t ConstexprUint32Add (uint32_t a, uint32_t b)
 
int32_t ConstexprUint32Sub (uint32_t a, uint32_t b)
 
int32_t ConstexprInt32Sub (int32_t a, int32_t b)
 
int32_t ConstexprInt32Add (int32_t a, int32_t b)
 
int31_t ConstexprInt31Add (int31_t a, int31_t b)
 
int31_t ConstexprInt31Mul (int31_t a, int31_t b)
 
int32_t ConstexprWord32Or (int32_t a, int32_t b)
 
uint32_t ConstexprWord32Shl (uint32_t a, int32_t b)
 
bool ConstexprUintPtrLessThan (uintptr_t a, uintptr_t b)
 
void PerformStackCheck (TNode< Context > context)
 
void SetPropertyLength (TNode< Context > context, TNode< JSAny > array, TNode< Number > length)
 
void DescriptorLookup (TNode< Name > unique_name, TNode< DescriptorArray > descriptors, TNode< Uint32T > bitfield3, Label *if_found, TVariable< IntPtrT > *var_name_index, Label *if_not_found)
 
void TransitionLookup (TNode< Name > unique_name, TNode< TransitionArray > transitions, Label *if_found, TVariable< IntPtrT > *var_name_index, Label *if_not_found)
 
template<typename Array >
void Lookup (TNode< Name > unique_name, TNode< Array > array, TNode< Uint32T > number_of_valid_entries, Label *if_found, TVariable< IntPtrT > *var_name_index, Label *if_not_found)
 
template<typename Array >
void LookupLinear (TNode< Name > unique_name, TNode< Array > array, TNode< Uint32T > number_of_valid_entries, Label *if_found, TVariable< IntPtrT > *var_name_index, Label *if_not_found)
 
template<typename Array >
void LookupBinary (TNode< Name > unique_name, TNode< Array > array, TNode< Uint32T > number_of_valid_entries, Label *if_found, TVariable< IntPtrT > *var_name_index, Label *if_not_found)
 
template<typename Array >
TNode< IntPtrTEntryIndexToIndex (TNode< Uint32T > entry_index)
 
template<typename Array >
TNode< IntPtrTToKeyIndex (TNode< Uint32T > entry_index)
 
template<typename Array >
TNode< NameGetKey (TNode< Array > array, TNode< Uint32T > entry_index)
 
TNode< Uint32TDescriptorArrayGetDetails (TNode< DescriptorArray > descriptors, TNode< Uint32T > descriptor_number)
 
TNode< NameLoadKeyByKeyIndex (TNode< DescriptorArray > container, TNode< IntPtrT > key_index)
 
TNode< Uint32TLoadDetailsByKeyIndex (TNode< DescriptorArray > container, TNode< IntPtrT > key_index)
 
TNode< ObjectLoadValueByKeyIndex (TNode< DescriptorArray > container, TNode< IntPtrT > key_index)
 
TNode< MaybeObjectLoadFieldTypeByKeyIndex (TNode< DescriptorArray > container, TNode< IntPtrT > key_index)
 
TNode< IntPtrTDescriptorEntryToIndex (TNode< IntPtrT > descriptor)
 
TNode< NameLoadKeyByDescriptorEntry (TNode< DescriptorArray > descriptors, TNode< IntPtrT > descriptor)
 
TNode< NameLoadKeyByDescriptorEntry (TNode< DescriptorArray > descriptors, int descriptor)
 
TNode< Uint32TLoadDetailsByDescriptorEntry (TNode< DescriptorArray > descriptors, TNode< IntPtrT > descriptor)
 
TNode< Uint32TLoadDetailsByDescriptorEntry (TNode< DescriptorArray > descriptors, int descriptor)
 
TNode< ObjectLoadValueByDescriptorEntry (TNode< DescriptorArray > descriptors, TNode< IntPtrT > descriptor)
 
TNode< ObjectLoadValueByDescriptorEntry (TNode< DescriptorArray > descriptors, int descriptor)
 
TNode< MaybeObjectLoadFieldTypeByDescriptorEntry (TNode< DescriptorArray > descriptors, TNode< IntPtrT > descriptor)
 
void ForEachEnumerableOwnProperty (TNode< Context > context, TNode< Map > map, TNode< JSObject > object, PropertiesEnumerationMode mode, const ForEachKeyValueFunction &body, Label *bailout)
 
TNode< ObjectCallGetterIfAccessor (TNode< Object > value, TNode< Union< JSReceiver, PropertyCell > > holder, TNode< Uint32T > details, TNode< Context > context, TNode< JSAny > receiver, TNode< Object > name, Label *if_bailout, GetOwnPropertyMode mode=kCallJSGetterDontUseCachedName, ExpectedReceiverMode expected_receiver_mode=kExpectingJSReceiver)
 
TNode< IntPtrTTryToIntptr (TNode< Object > key, Label *if_not_intptr, TVariable< Int32T > *var_instance_type=nullptr)
 
TNode< JSArrayArrayCreate (TNode< Context > context, TNode< Number > length)
 
TNode< ObjectCloneIfMutablePrimitive (TNode< Object > object)
 
TNode< SmiRefillMathRandom (TNode< NativeContext > native_context)
 
TNode< IntPtrTFeedbackIteratorEntrySize ()
 
TNode< IntPtrTFeedbackIteratorHandlerOffset ()
 
TNode< SwissNameDictionaryAllocateSwissNameDictionary (TNode< IntPtrT > at_least_space_for)
 
TNode< SwissNameDictionaryAllocateSwissNameDictionary (int at_least_space_for)
 
TNode< SwissNameDictionaryAllocateSwissNameDictionaryWithCapacity (TNode< IntPtrT > capacity)
 
TNode< IntPtrTSwissNameDictionaryOffsetIntoDataTableMT (TNode< SwissNameDictionary > dict, TNode< IntPtrT > index, int field_index)
 
TNode< IntPtrTSwissNameDictionaryOffsetIntoPropertyDetailsTableMT (TNode< SwissNameDictionary > dict, TNode< IntPtrT > capacity, TNode< IntPtrT > index)
 
TNode< IntPtrTLoadSwissNameDictionaryNumberOfElements (TNode< SwissNameDictionary > table, TNode< IntPtrT > capacity)
 
TNode< IntPtrTLoadSwissNameDictionaryNumberOfDeletedElements (TNode< SwissNameDictionary > table, TNode< IntPtrT > capacity)
 
TNode< Uint32TSwissNameDictionaryIncreaseElementCountOrBailout (TNode< ByteArray > meta_table, TNode< IntPtrT > capacity, TNode< Uint32T > max_usable_capacity, Label *bailout)
 
TNode< Uint32TSwissNameDictionaryUpdateCountsForDeletion (TNode< ByteArray > meta_table, TNode< IntPtrT > capacity)
 
void StoreSwissNameDictionaryCapacity (TNode< SwissNameDictionary > table, TNode< Int32T > capacity)
 
void StoreSwissNameDictionaryEnumToEntryMapping (TNode< SwissNameDictionary > table, TNode< IntPtrT > capacity, TNode< IntPtrT > enum_index, TNode< Int32T > entry)
 
TNode< NameLoadSwissNameDictionaryKey (TNode< SwissNameDictionary > dict, TNode< IntPtrT > entry)
 
void StoreSwissNameDictionaryKeyAndValue (TNode< SwissNameDictionary > dict, TNode< IntPtrT > entry, TNode< Object > key, TNode< Object > value)
 
void SwissNameDictionarySetCtrl (TNode< SwissNameDictionary > table, TNode< IntPtrT > capacity, TNode< IntPtrT > entry, TNode< Uint8T > ctrl)
 
TNode< Uint64TLoadSwissNameDictionaryCtrlTableGroup (TNode< IntPtrT > address)
 
TNode< Uint8TLoadSwissNameDictionaryPropertyDetails (TNode< SwissNameDictionary > table, TNode< IntPtrT > capacity, TNode< IntPtrT > entry)
 
void StoreSwissNameDictionaryPropertyDetails (TNode< SwissNameDictionary > table, TNode< IntPtrT > capacity, TNode< IntPtrT > entry, TNode< Uint8T > details)
 
TNode< SwissNameDictionaryCopySwissNameDictionary (TNode< SwissNameDictionary > original)
 
void SwissNameDictionaryFindEntry (TNode< SwissNameDictionary > table, TNode< Name > key, Label *found, TVariable< IntPtrT > *var_found_entry, Label *not_found)
 
void SwissNameDictionaryAdd (TNode< SwissNameDictionary > table, TNode< Name > key, TNode< Object > value, TNode< Uint8T > property_details, Label *needs_resize)
 
TNode< BoolTIsMarked (TNode< Object > object)
 
void GetMarkBit (TNode< IntPtrT > object, TNode< IntPtrT > *cell, TNode< IntPtrT > *mask)
 
TNode< BoolTIsPageFlagSet (TNode< IntPtrT > object, int mask)
 
TNode< BoolTIsPageFlagReset (TNode< IntPtrT > object, int mask)
 
template<>
TNode< SmiIntPtrOrSmiConstant (int value)
 
template<>
TNode< IntPtrTIntPtrOrSmiConstant (int value)
 
template<>
TNode< UintPtrTIntPtrOrSmiConstant (int value)
 
template<>
TNode< RawPtrTIntPtrOrSmiConstant (int value)
 
template<>
TNode< SmiTaggedToParameter (TNode< Smi > value)
 
template<>
TNode< IntPtrTTaggedToParameter (TNode< Smi > value)
 
template<>
TNode< IntPtrTLoadArrayLength (TNode< FixedArray > array)
 
template<>
TNode< IntPtrTLoadArrayLength (TNode< ClosureFeedbackCellArray > array)
 
template<>
TNode< IntPtrTLoadArrayLength (TNode< ScriptContextTable > array)
 
template<>
TNode< IntPtrTLoadArrayLength (TNode< RegExpMatchInfo > array)
 
template<>
TNode< IntPtrTLoadArrayLength (TNode< WeakFixedArray > array)
 
template<>
TNode< IntPtrTLoadArrayLength (TNode< PropertyArray > array)
 
template<>
TNode< IntPtrTLoadArrayLength (TNode< DescriptorArray > array)
 
template<>
TNode< IntPtrTLoadArrayLength (TNode< TransitionArray > array)
 
template<>
TNode< IntPtrTLoadArrayLength (TNode< TrustedFixedArray > array)
 
template<>
TNode< ObjectLoadElementAndPrepareForStore (TNode< FixedArrayBase > array, TNode< IntPtrT > offset, ElementsKind from_kind, ElementsKind to_kind, Label *if_hole)
 
template<>
TNode< Float64TLoadElementAndPrepareForStore (TNode< FixedArrayBase > array, TNode< IntPtrT > offset, ElementsKind from_kind, ElementsKind to_kind, Label *if_hole)
 
template<>
V8_EXPORT_PRIVATE TNode< ObjectLoadValueByKeyIndex (TNode< SwissNameDictionary > container, TNode< IntPtrT > key_index)
 
template<>
V8_EXPORT_PRIVATE TNode< Uint32TLoadDetailsByKeyIndex (TNode< SwissNameDictionary > container, TNode< IntPtrT > key_index)
 
template<>
V8_EXPORT_PRIVATE void StoreDetailsByKeyIndex (TNode< SwissNameDictionary > container, TNode< IntPtrT > key_index, TNode< Smi > details)
 
template<>
V8_EXPORT_PRIVATE void StoreValueByKeyIndex (TNode< SwissNameDictionary > container, TNode< IntPtrT > key_index, TNode< Object > value, WriteBarrierMode write_barrier)
 
template<>
TNode< HeapObjectLoadName (TNode< HeapObject > key)
 
template<>
TNode< HeapObjectLoadName (TNode< HeapObject > key)
 
template<>
TNode< HeapObjectLoadName (TNode< HeapObject > key)
 
template<>
void NameDictionaryLookup (TNode< SwissNameDictionary > dictionary, TNode< Name > unique_name, Label *if_found, TVariable< IntPtrT > *var_name_index, Label *if_not_found, LookupMode mode)
 
template<>
void FindInsertionEntry (TNode< NameDictionary > dictionary, TNode< Name > key, TVariable< IntPtrT > *var_key_index)
 
template<>
void InsertEntry (TNode< NameDictionary > dictionary, TNode< Name > name, TNode< Object > value, TNode< IntPtrT > index, TNode< Smi > enum_index)
 
template<>
void InsertEntry (TNode< GlobalDictionary > dictionary, TNode< Name > key, TNode< Object > value, TNode< IntPtrT > index, TNode< Smi > enum_index)
 
template<>
void AddToDictionary (TNode< SwissNameDictionary > dictionary, TNode< Name > key, TNode< Object > value, Label *bailout, std::optional< TNode< IntPtrT > > insertion_index)
 
template<>
TNode< SmiGetNumberOfElements (TNode< SwissNameDictionary > dictionary)
 
template<>
TNode< SmiGetNameDictionaryFlags (TNode< NameDictionary > dictionary)
 
template<>
void SetNameDictionaryFlags (TNode< NameDictionary > dictionary, TNode< Smi > flags)
 
template<>
TNode< SmiGetNameDictionaryFlags (TNode< SwissNameDictionary > dictionary)
 
template<>
void SetNameDictionaryFlags (TNode< SwissNameDictionary > dictionary, TNode< Smi > flags)
 
template<>
void StoreElementTypedArray (TNode< RawPtrT > elements, ElementsKind kind, TNode< UintPtrT > index, TNode< BigInt > value)
 
template<>
void StoreElementTypedArray (TNode< RawPtrT > elements, ElementsKind kind, TNode< IntPtrT > index, TNode< BigInt > value)
 
template<>
void StoreElementTypedArray (TNode< RawPtrT > elements, ElementsKind kind, TNode< UintPtrT > index, TNode< Word32T > value)
 
template<>
void StoreElementTypedArray (TNode< RawPtrT > elements, ElementsKind kind, TNode< IntPtrT > index, TNode< Word32T > value)
 
template<>
TNode< Word32TPrepareValueForWriteToTypedArray (TNode< Object > input, ElementsKind elements_kind, TNode< Context > context)
 
template<>
TNode< Float16RawBitsTPrepareValueForWriteToTypedArray (TNode< Object > input, ElementsKind elements_kind, TNode< Context > context)
 
template<>
TNode< Float32TPrepareValueForWriteToTypedArray (TNode< Object > input, ElementsKind elements_kind, TNode< Context > context)
 
template<>
TNode< Float64TPrepareValueForWriteToTypedArray (TNode< Object > input, ElementsKind elements_kind, TNode< Context > context)
 
template<>
TNode< BigIntPrepareValueForWriteToTypedArray (TNode< Object > input, ElementsKind elements_kind, TNode< Context > context)
 
template<>
void EmitElementStoreTypedArrayUpdateValue (TNode< Object > value, ElementsKind elements_kind, TNode< Word32T > converted_value, TVariable< Object > *maybe_converted_value)
 
template<>
void EmitElementStoreTypedArrayUpdateValue (TNode< Object > value, ElementsKind elements_kind, TNode< Float16RawBitsT > converted_value, TVariable< Object > *maybe_converted_value)
 
template<>
void EmitElementStoreTypedArrayUpdateValue (TNode< Object > value, ElementsKind elements_kind, TNode< Float32T > converted_value, TVariable< Object > *maybe_converted_value)
 
template<>
void EmitElementStoreTypedArrayUpdateValue (TNode< Object > value, ElementsKind elements_kind, TNode< Float64T > converted_value, TVariable< Object > *maybe_converted_value)
 
template<>
void EmitElementStoreTypedArrayUpdateValue (TNode< Object > value, ElementsKind elements_kind, TNode< BigInt > converted_value, TVariable< Object > *maybe_converted_value)
 
template<typename TIndex >
void BuildFastArrayForEach (TNode< UnionOf< UnionOf< FixedArray, PropertyArray >, HeapObject > > array, ElementsKind kind, TNode< TIndex > first_element_inclusive, TNode< TIndex > last_element_exclusive, const FastArrayForEachBody &body, LoopUnrollingMode loop_unrolling_mode, ForEachDirection direction)
 
- Public Member Functions inherited from v8::internal::compiler::CodeAssembler
 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 Member Functions

static constexpr UpdateFeedbackMode DefaultUpdateFeedbackMode ()
 
- Static Public Member Functions inherited from v8::internal::CodeStubAssembler
static uintptr_t MaxSafeIntegerUintPtr ()
 

Static Public Attributes

static constexpr int kFirstBytecodeOffset
 
- Static Public Attributes inherited from v8::internal::compiler::CodeAssembler
static constexpr int kTargetParameterIndex = kJSCallClosureParameterIndex
 

Protected Member Functions

Bytecode bytecode () const
 
void ToNumberOrNumeric (Object::Conversion mode)
 
void StoreRegisterForShortStar (TNode< Object > value, TNode< WordT > opcode)
 
TNode< WordTLoadBytecode (TNode< IntPtrT > bytecode_offset)
 
TNode< IntPtrTLoadParameterCountWithoutReceiver ()
 
- Protected Member Functions inherited from v8::internal::compiler::CodeAssembler
void RegisterCallGenerationCallbacks (const CodeAssemblerCallback &call_prologue, const CodeAssemblerCallback &call_epilogue)
 
void UnregisterCallGenerationCallbacks ()
 
bool Word32ShiftIsSafe () const
 
bool IsJSFunctionCall () const
 

Static Protected Member Functions

static bool TargetSupportsUnalignedAccess ()
 

Private Member Functions

TNode< BytecodeArrayBytecodeArrayTaggedPointer ()
 
TNode< ExternalReferenceDispatchTablePointer ()
 
TNode< ObjectGetAccumulatorUnchecked ()
 
TNode< RawPtrTGetInterpretedFramePointer ()
 
TNode< IntPtrTRegisterLocation (Register reg)
 
TNode< IntPtrTRegisterLocation (TNode< IntPtrT > reg_index)
 
TNode< IntPtrTNextRegister (TNode< IntPtrT > reg_index)
 
TNode< ObjectLoadRegister (TNode< IntPtrT > reg_index)
 
void StoreRegister (TNode< Object > value, TNode< IntPtrT > reg_index)
 
void CallPrologue ()
 
void CallEpilogue ()
 
void TraceBytecodeDispatch (TNode< WordT > target_bytecode)
 
void TraceBytecode (Runtime::FunctionId function_id)
 
TNode< IntPtrTRegisterFrameOffset (TNode< IntPtrT > index)
 
TNode< IntPtrTOperandOffset (int operand_index)
 
TNode< Word32TBytecodeOperandReadUnaligned (int relative_offset, MachineType result_type)
 
TNode< Uint8TBytecodeOperandUnsignedByte (int operand_index)
 
TNode< Int8TBytecodeOperandSignedByte (int operand_index)
 
TNode< Uint16TBytecodeOperandUnsignedShort (int operand_index)
 
TNode< Int16TBytecodeOperandSignedShort (int operand_index)
 
TNode< Uint32TBytecodeOperandUnsignedQuad (int operand_index)
 
TNode< Int32TBytecodeOperandSignedQuad (int operand_index)
 
TNode< Int32TBytecodeSignedOperand (int operand_index, OperandSize operand_size)
 
TNode< Uint32TBytecodeUnsignedOperand (int operand_index, OperandSize operand_size)
 
TNode< IntPtrTBytecodeOperandReg (int operand_index)
 
TNode< UintPtrTBytecodeOperandConstantPoolIdx (int operand_index)
 
void JumpToOffset (TNode< IntPtrT > new_bytecode_offset)
 
void JumpConditional (TNode< BoolT > condition, TNode< IntPtrT > jump_offset)
 
void JumpConditionalByImmediateOperand (TNode< BoolT > condition, int operand_index)
 
void JumpConditionalByConstantOperand (TNode< BoolT > condition, int operand_index)
 
void SaveBytecodeOffset ()
 
TNode< IntPtrTReloadBytecodeOffset ()
 
TNode< IntPtrTAdvance ()
 
TNode< IntPtrTAdvance (int delta)
 
TNode< IntPtrTAdvance (TNode< IntPtrT > delta)
 
void StarDispatchLookahead (TNode< WordT > target_bytecode)
 
void InlineShortStar (TNode< WordT > target_bytecode)
 
void DispatchToBytecodeHandlerEntry (TNode< RawPtrT > handler_entry, TNode< IntPtrT > bytecode_offset)
 
int CurrentBytecodeSize () const
 
OperandScale operand_scale () const
 

Private Attributes

Bytecode bytecode_
 
OperandScale operand_scale_
 
CodeStubAssembler::TVariable< RawPtrTinterpreted_frame_pointer_
 
CodeStubAssembler::TVariable< BytecodeArraybytecode_array_
 
CodeStubAssembler::TVariable< IntPtrTbytecode_offset_
 
CodeStubAssembler::TVariable< ExternalReferencedispatch_table_
 
CodeStubAssembler::TVariable< Objectaccumulator_
 
ImplicitRegisterUse implicit_register_use_
 
bool made_call_
 
bool reloaded_frame_ptr_
 
bool bytecode_array_valid_
 

Additional Inherited Members

- Public Attributes inherited from v8::internal::CodeStubAssembler
 UintPtrLessThanOrEqual
 
SmiBelowOrEqual int32_t b { return a << b
 
Uint32LessThanOrEqual IntPtrGreaterThanOrEqual
 
 SmiLessThanOrEqual
 

Detailed Description

Definition at line 19 of file interpreter-assembler.h.

Member Enumeration Documentation

◆ OnStackReplacementParams

Enumerator
kBaselineCodeIsCached 
kDefault 

Definition at line 301 of file interpreter-assembler.h.

◆ StackCheckBehavior

Enumerator
kEnableStackCheck 
kDisableStackCheck 

Definition at line 265 of file interpreter-assembler.h.

Constructor & Destructor Documentation

◆ InterpreterAssembler() [1/2]

v8::internal::interpreter::InterpreterAssembler::InterpreterAssembler ( compiler::CodeAssemblerState * state,
Bytecode bytecode,
OperandScale operand_scale )

Definition at line 26 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ ~InterpreterAssembler()

v8::internal::interpreter::InterpreterAssembler::~InterpreterAssembler ( )

Definition at line 64 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ InterpreterAssembler() [2/2]

v8::internal::interpreter::InterpreterAssembler::InterpreterAssembler ( const InterpreterAssembler & )
delete

Member Function Documentation

◆ Abort()

void v8::internal::interpreter::InterpreterAssembler::Abort ( AbortReason abort_reason)

Definition at line 1387 of file interpreter-assembler.cc.

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

◆ AbortIfRegisterCountInvalid()

void v8::internal::interpreter::InterpreterAssembler::AbortIfRegisterCountInvalid ( TNode< FixedArray > parameters_and_registers,
TNode< IntPtrT > parameter_count,
TNode< UintPtrT > register_count )

Definition at line 1532 of file interpreter-assembler.cc.

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

◆ AbortIfWordNotEqual()

void v8::internal::interpreter::InterpreterAssembler::AbortIfWordNotEqual ( TNode< WordT > lhs,
TNode< WordT > rhs,
AbortReason abort_reason )

Definition at line 1392 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ Advance() [1/3]

TNode< IntPtrT > v8::internal::interpreter::InterpreterAssembler::Advance ( )
private

Definition at line 1110 of file interpreter-assembler.cc.

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

◆ Advance() [2/3]

TNode< IntPtrT > v8::internal::interpreter::InterpreterAssembler::Advance ( int delta)
private

Definition at line 1114 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ Advance() [3/3]

TNode< IntPtrT > v8::internal::interpreter::InterpreterAssembler::Advance ( TNode< IntPtrT > delta)
private

Definition at line 1118 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ bytecode()

Bytecode v8::internal::interpreter::InterpreterAssembler::bytecode ( ) const
inlineprotected

Definition at line 322 of file interpreter-assembler.h.

◆ BytecodeArrayTaggedPointer()

TNode< BytecodeArray > v8::internal::interpreter::InterpreterAssembler::BytecodeArrayTaggedPointer ( )
private

Definition at line 132 of file interpreter-assembler.cc.

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

◆ BytecodeOffset()

TNode< IntPtrT > v8::internal::interpreter::InterpreterAssembler::BytecodeOffset ( )

Definition at line 84 of file interpreter-assembler.cc.

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

◆ BytecodeOperandConstantPoolIdx()

TNode< UintPtrT > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandConstantPoolIdx ( int operand_index)
private

Definition at line 630 of file interpreter-assembler.cc.

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

◆ BytecodeOperandCount()

TNode< Uint32T > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandCount ( int operand_index)

Definition at line 546 of file interpreter-assembler.cc.

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

◆ BytecodeOperandFlag16()

TNode< Uint32T > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandFlag16 ( int operand_index)

Definition at line 563 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ BytecodeOperandFlag8()

TNode< Uint32T > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandFlag8 ( int operand_index)

Definition at line 554 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ BytecodeOperandIdx()

TNode< UintPtrT > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandIdx ( int operand_index)

Definition at line 615 of file interpreter-assembler.cc.

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

◆ BytecodeOperandIdxInt32()

TNode< Uint32T > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandIdxInt32 ( int operand_index)

Definition at line 606 of file interpreter-assembler.cc.

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

◆ BytecodeOperandIdxSmi()

TNode< Smi > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandIdxSmi ( int operand_index)

Definition at line 619 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ BytecodeOperandIdxTaggedIndex()

TNode< TaggedIndex > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandIdxTaggedIndex ( int operand_index)

Definition at line 623 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ BytecodeOperandImm()

TNode< Int32T > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandImm ( int operand_index)

Definition at line 589 of file interpreter-assembler.cc.

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

◆ BytecodeOperandImmIntPtr()

TNode< IntPtrT > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandImmIntPtr ( int operand_index)

Definition at line 597 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ BytecodeOperandImmSmi()

TNode< Smi > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandImmSmi ( int operand_index)

Definition at line 602 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ BytecodeOperandIntrinsicId()

TNode< Uint32T > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandIntrinsicId ( int operand_index)

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

Here is the call graph for this function:

◆ BytecodeOperandNativeContextIndex()

TNode< UintPtrT > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandNativeContextIndex ( int operand_index)

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

Here is the call graph for this function:

◆ BytecodeOperandReadUnaligned()

TNode< Word32T > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandReadUnaligned ( int relative_offset,
MachineType result_type )
private

Definition at line 392 of file interpreter-assembler.cc.

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

◆ BytecodeOperandReg()

TNode< IntPtrT > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandReg ( int operand_index)
private

Definition at line 640 of file interpreter-assembler.cc.

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

◆ BytecodeOperandRuntimeId()

TNode< Uint32T > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandRuntimeId ( int operand_index)

Definition at line 649 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ BytecodeOperandSignedByte()

TNode< Int8T > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandSignedByte ( int operand_index)
private

Definition at line 382 of file interpreter-assembler.cc.

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

◆ BytecodeOperandSignedQuad()

TNode< Int32T > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandSignedQuad ( int operand_index)
private

Definition at line 497 of file interpreter-assembler.cc.

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

◆ BytecodeOperandSignedShort()

TNode< Int16T > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandSignedShort ( int operand_index)
private

Definition at line 462 of file interpreter-assembler.cc.

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

◆ BytecodeOperandUImm()

TNode< Uint32T > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandUImm ( int operand_index)

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

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

◆ BytecodeOperandUImmSmi()

TNode< Smi > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandUImmSmi ( int operand_index)

Definition at line 585 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ BytecodeOperandUImmWord()

TNode< UintPtrT > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandUImmWord ( int operand_index)

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

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

◆ BytecodeOperandUnsignedByte()

TNode< Uint8T > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandUnsignedByte ( int operand_index)
private

Definition at line 372 of file interpreter-assembler.cc.

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

◆ BytecodeOperandUnsignedQuad()

TNode< Uint32T > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandUnsignedQuad ( int operand_index)
private

Definition at line 480 of file interpreter-assembler.cc.

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

◆ BytecodeOperandUnsignedShort()

TNode< Uint16T > v8::internal::interpreter::InterpreterAssembler::BytecodeOperandUnsignedShort ( int operand_index)
private

Definition at line 444 of file interpreter-assembler.cc.

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

◆ BytecodeSignedOperand()

TNode< Int32T > v8::internal::interpreter::InterpreterAssembler::BytecodeSignedOperand ( int operand_index,
OperandSize operand_size )
private

Definition at line 514 of file interpreter-assembler.cc.

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

◆ BytecodeUnsignedOperand()

TNode< Uint32T > v8::internal::interpreter::InterpreterAssembler::BytecodeUnsignedOperand ( int operand_index,
OperandSize operand_size )
private

Definition at line 530 of file interpreter-assembler.cc.

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

◆ CallEpilogue()

void v8::internal::interpreter::InterpreterAssembler::CallEpilogue ( )
private

Definition at line 727 of file interpreter-assembler.cc.

Here is the caller graph for this function:

◆ CallJSAndDispatch() [1/2]

void v8::internal::interpreter::InterpreterAssembler::CallJSAndDispatch ( TNode< JSAny > function,
TNode< Context > context,
const RegListNodePair & args,
ConvertReceiverMode receiver_mode )

Definition at line 729 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ CallJSAndDispatch() [2/2]

template<class... TArgs>
void v8::internal::interpreter::InterpreterAssembler::CallJSAndDispatch ( TNode< JSAny > function,
TNode< Context > context,
TNode< Word32T > arg_count,
ConvertReceiverMode receiver_mode,
TArgs... args )

Definition at line 754 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ CallJSWithSpreadAndDispatch()

void v8::internal::interpreter::InterpreterAssembler::CallJSWithSpreadAndDispatch ( TNode< JSAny > function,
TNode< Context > context,
const RegListNodePair & args,
TNode< UintPtrT > slot_id )

Definition at line 795 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ CallPrologue()

void v8::internal::interpreter::InterpreterAssembler::CallPrologue ( )
private

Definition at line 713 of file interpreter-assembler.cc.

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

◆ CallRuntimeN()

template<class T >
template V8_EXPORT_PRIVATE TNode< PairT< Object, Object > > v8::internal::interpreter::InterpreterAssembler::CallRuntimeN ( TNode< Uint32T > function_id,
TNode< Context > context,
const RegListNodePair & args,
int return_count )

Definition at line 1035 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ ClobberAccumulator()

void v8::internal::interpreter::InterpreterAssembler::ClobberAccumulator ( TNode< Object > clobber_value)

Definition at line 171 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ Construct()

TNode< Object > v8::internal::interpreter::InterpreterAssembler::Construct ( TNode< JSAny > target,
TNode< Context > context,
TNode< JSAny > new_target,
const RegListNodePair & args,
TNode< UintPtrT > slot_id,
TNode< Union< FeedbackVector, Undefined > > maybe_feedback_vector )

Definition at line 823 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ ConstructForwardAllArgs()

TNode< Object > v8::internal::interpreter::InterpreterAssembler::ConstructForwardAllArgs ( TNode< JSAny > target,
TNode< Context > context,
TNode< JSAny > new_target,
TNode< TaggedIndex > slot_id )

Definition at line 1010 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ ConstructWithSpread()

TNode< Object > v8::internal::interpreter::InterpreterAssembler::ConstructWithSpread ( TNode< JSAny > target,
TNode< Context > context,
TNode< JSAny > new_target,
const RegListNodePair & args,
TNode< UintPtrT > slot_id )

Definition at line 881 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ CurrentBytecodeSize()

int v8::internal::interpreter::InterpreterAssembler::CurrentBytecodeSize ( ) const
private

Definition at line 1657 of file interpreter-assembler.cc.

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

◆ DecreaseInterruptBudget()

void v8::internal::interpreter::InterpreterAssembler::DecreaseInterruptBudget ( TNode< Int32T > weight,
StackCheckBehavior stack_check_behavior )

Definition at line 1082 of file interpreter-assembler.cc.

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

◆ DefaultUpdateFeedbackMode()

static constexpr UpdateFeedbackMode v8::internal::interpreter::InterpreterAssembler::DefaultUpdateFeedbackMode ( )
inlinestaticconstexpr

Definition at line 158 of file interpreter-assembler.h.

◆ Dispatch()

void v8::internal::interpreter::InterpreterAssembler::Dispatch ( )

Definition at line 1285 of file interpreter-assembler.cc.

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

◆ DispatchTablePointer()

TNode< ExternalReference > v8::internal::interpreter::InterpreterAssembler::DispatchTablePointer ( )
private

Definition at line 142 of file interpreter-assembler.cc.

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

◆ DispatchToBytecode()

void v8::internal::interpreter::InterpreterAssembler::DispatchToBytecode ( TNode< WordT > target_bytecode,
TNode< IntPtrT > new_bytecode_offset )

Definition at line 1301 of file interpreter-assembler.cc.

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

◆ DispatchToBytecodeHandlerEntry()

void v8::internal::interpreter::InterpreterAssembler::DispatchToBytecodeHandlerEntry ( TNode< RawPtrT > handler_entry,
TNode< IntPtrT > bytecode_offset )
private

Definition at line 1313 of file interpreter-assembler.cc.

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

◆ DispatchToBytecodeWithOptionalStarLookahead()

void v8::internal::interpreter::InterpreterAssembler::DispatchToBytecodeWithOptionalStarLookahead ( TNode< WordT > target_bytecode)

Definition at line 1293 of file interpreter-assembler.cc.

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

◆ DispatchWide()

void v8::internal::interpreter::InterpreterAssembler::DispatchWide ( OperandScale operand_scale)

Definition at line 1320 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ ExportParametersAndRegisterFile()

TNode< FixedArray > v8::internal::interpreter::InterpreterAssembler::ExportParametersAndRegisterFile ( TNode< FixedArray > array,
const RegListNodePair & registers )

Definition at line 1550 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ GetAccumulator()

TNode< Object > v8::internal::interpreter::InterpreterAssembler::GetAccumulator ( )

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

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

◆ GetAccumulatorUnchecked()

TNode< Object > v8::internal::interpreter::InterpreterAssembler::GetAccumulatorUnchecked ( )
private

Definition at line 153 of file interpreter-assembler.cc.

Here is the caller graph for this function:

◆ GetContext()

TNode< Context > v8::internal::interpreter::InterpreterAssembler::GetContext ( )

Definition at line 178 of file interpreter-assembler.cc.

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

◆ GetContextAtDepth()

TNode< Context > v8::internal::interpreter::InterpreterAssembler::GetContextAtDepth ( TNode< Context > context,
TNode< Uint32T > depth )

Definition at line 186 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ GetInterpretedFramePointer()

TNode< RawPtrT > v8::internal::interpreter::InterpreterAssembler::GetInterpretedFramePointer ( )
private

Definition at line 73 of file interpreter-assembler.cc.

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

◆ GetRegisterListAtOperandIndex()

InterpreterAssembler::RegListNodePair v8::internal::interpreter::InterpreterAssembler::GetRegisterListAtOperandIndex ( int operand_index)

Definition at line 266 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ ImportRegisterFile()

TNode< FixedArray > v8::internal::interpreter::InterpreterAssembler::ImportRegisterFile ( TNode< FixedArray > array,
const RegListNodePair & registers )

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

Here is the call graph for this function:

◆ InlineShortStar()

void v8::internal::interpreter::InterpreterAssembler::InlineShortStar ( TNode< WordT > target_bytecode)
private

Definition at line 1261 of file interpreter-assembler.cc.

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

◆ Jump()

void v8::internal::interpreter::InterpreterAssembler::Jump ( TNode< IntPtrT > jump_offset)

Definition at line 1135 of file interpreter-assembler.cc.

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

◆ JumpBackward()

void v8::internal::interpreter::InterpreterAssembler::JumpBackward ( TNode< IntPtrT > jump_offset)

Definition at line 1139 of file interpreter-assembler.cc.

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

◆ JumpConditional()

void v8::internal::interpreter::InterpreterAssembler::JumpConditional ( TNode< BoolT > condition,
TNode< IntPtrT > jump_offset )
private

Definition at line 1145 of file interpreter-assembler.cc.

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

◆ JumpConditionalByConstantOperand()

void v8::internal::interpreter::InterpreterAssembler::JumpConditionalByConstantOperand ( TNode< BoolT > condition,
int operand_index )
private

Definition at line 1168 of file interpreter-assembler.cc.

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

◆ JumpConditionalByImmediateOperand()

void v8::internal::interpreter::InterpreterAssembler::JumpConditionalByImmediateOperand ( TNode< BoolT > condition,
int operand_index )
private

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

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

◆ JumpIfTaggedEqual() [1/2]

void v8::internal::interpreter::InterpreterAssembler::JumpIfTaggedEqual ( TNode< Object > lhs,
TNode< Object > rhs,
int operand_index )

Definition at line 1187 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ JumpIfTaggedEqual() [2/2]

void v8::internal::interpreter::InterpreterAssembler::JumpIfTaggedEqual ( TNode< Object > lhs,
TNode< Object > rhs,
TNode< IntPtrT > jump_offset )

Definition at line 1181 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ JumpIfTaggedEqualConstant()

void v8::internal::interpreter::InterpreterAssembler::JumpIfTaggedEqualConstant ( TNode< Object > lhs,
TNode< Object > rhs,
int operand_index )

Definition at line 1193 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ JumpIfTaggedNotEqual() [1/2]

void v8::internal::interpreter::InterpreterAssembler::JumpIfTaggedNotEqual ( TNode< Object > lhs,
TNode< Object > rhs,
int operand_index )

Definition at line 1205 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ JumpIfTaggedNotEqual() [2/2]

void v8::internal::interpreter::InterpreterAssembler::JumpIfTaggedNotEqual ( TNode< Object > lhs,
TNode< Object > rhs,
TNode< IntPtrT > jump_offset )

Definition at line 1199 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ JumpIfTaggedNotEqualConstant()

void v8::internal::interpreter::InterpreterAssembler::JumpIfTaggedNotEqualConstant ( TNode< Object > lhs,
TNode< Object > rhs,
int operand_index )

Definition at line 1211 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ JumpToOffset()

void v8::internal::interpreter::InterpreterAssembler::JumpToOffset ( TNode< IntPtrT > new_bytecode_offset)
private

Definition at line 1124 of file interpreter-assembler.cc.

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

◆ LoadAndUntagConstantPoolEntry()

TNode< IntPtrT > v8::internal::interpreter::InterpreterAssembler::LoadAndUntagConstantPoolEntry ( TNode< WordT > index)

Definition at line 687 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ LoadAndUntagConstantPoolEntryAtOperandIndex()

TNode< IntPtrT > v8::internal::interpreter::InterpreterAssembler::LoadAndUntagConstantPoolEntryAtOperandIndex ( int operand_index)

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

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

◆ LoadAndUntagRegister()

TNode< IntPtrT > v8::internal::interpreter::InterpreterAssembler::LoadAndUntagRegister ( Register reg)

Definition at line 237 of file interpreter-assembler.cc.

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

◆ LoadBytecode()

TNode< WordT > v8::internal::interpreter::InterpreterAssembler::LoadBytecode ( TNode< IntPtrT > bytecode_offset)
protected

Definition at line 1217 of file interpreter-assembler.cc.

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

◆ LoadConstantPoolEntry()

TNode< Object > v8::internal::interpreter::InterpreterAssembler::LoadConstantPoolEntry ( TNode< WordT > index)

Definition at line 679 of file interpreter-assembler.cc.

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

◆ LoadConstantPoolEntryAtOperandIndex()

TNode< Object > v8::internal::interpreter::InterpreterAssembler::LoadConstantPoolEntryAtOperandIndex ( int operand_index)

Definition at line 692 of file interpreter-assembler.cc.

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

◆ LoadFeedbackVector()

TNode< Union< FeedbackVector, Undefined > > v8::internal::interpreter::InterpreterAssembler::LoadFeedbackVector ( )

Definition at line 709 of file interpreter-assembler.cc.

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

◆ LoadFeedbackVectorOrUndefinedIfJitless()

auto v8::internal::interpreter::InterpreterAssembler::LoadFeedbackVectorOrUndefinedIfJitless ( )
inline

Definition at line 150 of file interpreter-assembler.h.

◆ LoadFunctionClosure()

TNode< JSFunction > v8::internal::interpreter::InterpreterAssembler::LoadFunctionClosure ( )

Definition at line 704 of file interpreter-assembler.cc.

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

◆ LoadOsrState()

TNode< Int8T > v8::internal::interpreter::InterpreterAssembler::LoadOsrState ( TNode< FeedbackVector > feedback_vector)

Definition at line 1379 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ LoadParameterCountWithoutReceiver()

TNode< IntPtrT > v8::internal::interpreter::InterpreterAssembler::LoadParameterCountWithoutReceiver ( )
protected

Definition at line 1224 of file interpreter-assembler.cc.

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

◆ LoadRegister() [1/2]

TNode< Object > v8::internal::interpreter::InterpreterAssembler::LoadRegister ( Register reg)

Definition at line 232 of file interpreter-assembler.cc.

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

◆ LoadRegister() [2/2]

TNode< Object > v8::internal::interpreter::InterpreterAssembler::LoadRegister ( TNode< IntPtrT > reg_index)
private

Definition at line 227 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ LoadRegisterAtOperandIndex()

TNode< Object > v8::internal::interpreter::InterpreterAssembler::LoadRegisterAtOperandIndex ( int operand_index)

Definition at line 250 of file interpreter-assembler.cc.

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

◆ LoadRegisterFromRegisterList()

TNode< Object > v8::internal::interpreter::InterpreterAssembler::LoadRegisterFromRegisterList ( const RegListNodePair & reg_list,
int index )

Definition at line 276 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ LoadRegisterPairAtOperandIndex()

std::pair< TNode< Object >, TNode< Object > > v8::internal::interpreter::InterpreterAssembler::LoadRegisterPairAtOperandIndex ( int operand_index)

Definition at line 256 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ NextRegister()

TNode< IntPtrT > v8::internal::interpreter::InterpreterAssembler::NextRegister ( TNode< IntPtrT > reg_index)
private

Definition at line 362 of file interpreter-assembler.cc.

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

◆ OnStackReplacement()

void v8::internal::interpreter::InterpreterAssembler::OnStackReplacement ( TNode< Context > context,
TNode< FeedbackVector > feedback_vector,
TNode< IntPtrT > relative_jump,
TNode< Int32T > loop_depth,
TNode< IntPtrT > feedback_slot,
TNode< Int8T > osr_state,
OnStackReplacementParams params )

Definition at line 1405 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ operand_scale()

OperandScale v8::internal::interpreter::InterpreterAssembler::operand_scale ( ) const
inlineprivate

Definition at line 457 of file interpreter-assembler.h.

Here is the caller graph for this function:

◆ OperandOffset()

TNode< IntPtrT > v8::internal::interpreter::InterpreterAssembler::OperandOffset ( int operand_index)
private

Definition at line 367 of file interpreter-assembler.cc.

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

◆ operator=()

InterpreterAssembler & v8::internal::interpreter::InterpreterAssembler::operator= ( const InterpreterAssembler & )
delete

◆ RegisterFrameOffset()

TNode< IntPtrT > v8::internal::interpreter::InterpreterAssembler::RegisterFrameOffset ( TNode< IntPtrT > index)
private

Definition at line 223 of file interpreter-assembler.cc.

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

◆ RegisterLocation() [1/2]

TNode< IntPtrT > v8::internal::interpreter::InterpreterAssembler::RegisterLocation ( Register reg)
private

Definition at line 219 of file interpreter-assembler.cc.

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

◆ RegisterLocation() [2/2]

TNode< IntPtrT > v8::internal::interpreter::InterpreterAssembler::RegisterLocation ( TNode< IntPtrT > reg_index)
private

Definition at line 213 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ RegisterLocationInRegisterList()

TNode< IntPtrT > v8::internal::interpreter::InterpreterAssembler::RegisterLocationInRegisterList ( const RegListNodePair & reg_list,
int index )

Definition at line 282 of file interpreter-assembler.cc.

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

◆ ReloadBytecodeOffset()

TNode< IntPtrT > v8::internal::interpreter::InterpreterAssembler::ReloadBytecodeOffset ( )
private

Definition at line 94 of file interpreter-assembler.cc.

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

◆ SaveBytecodeOffset()

void v8::internal::interpreter::InterpreterAssembler::SaveBytecodeOffset ( )
private

Definition at line 104 of file interpreter-assembler.cc.

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

◆ SetAccumulator()

void v8::internal::interpreter::InterpreterAssembler::SetAccumulator ( TNode< Object > value)

Definition at line 164 of file interpreter-assembler.cc.

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

◆ SetContext()

void v8::internal::interpreter::InterpreterAssembler::SetContext ( TNode< Context > value)

Definition at line 182 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ StarDispatchLookahead()

void v8::internal::interpreter::InterpreterAssembler::StarDispatchLookahead ( TNode< WordT > target_bytecode)
private

Definition at line 1231 of file interpreter-assembler.cc.

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

◆ StoreRegister() [1/2]

void v8::internal::interpreter::InterpreterAssembler::StoreRegister ( TNode< Object > value,
Register reg )

Definition at line 292 of file interpreter-assembler.cc.

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

◆ StoreRegister() [2/2]

void v8::internal::interpreter::InterpreterAssembler::StoreRegister ( TNode< Object > value,
TNode< IntPtrT > reg_index )
private

Definition at line 298 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ StoreRegisterAtOperandIndex()

void v8::internal::interpreter::InterpreterAssembler::StoreRegisterAtOperandIndex ( TNode< Object > value,
int operand_index )

Definition at line 333 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ StoreRegisterForShortStar()

void v8::internal::interpreter::InterpreterAssembler::StoreRegisterForShortStar ( TNode< Object > value,
TNode< WordT > opcode )
protected

Definition at line 304 of file interpreter-assembler.cc.

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

◆ StoreRegisterPairAtOperandIndex()

void v8::internal::interpreter::InterpreterAssembler::StoreRegisterPairAtOperandIndex ( TNode< Object > value1,
TNode< Object > value2,
int operand_index )

Definition at line 338 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ StoreRegisterTripleAtOperandIndex()

void v8::internal::interpreter::InterpreterAssembler::StoreRegisterTripleAtOperandIndex ( TNode< Object > value1,
TNode< Object > value2,
TNode< Object > value3,
int operand_index )

Definition at line 349 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ TargetSupportsUnalignedAccess()

bool v8::internal::interpreter::InterpreterAssembler::TargetSupportsUnalignedAccess ( )
staticprotected

Definition at line 1520 of file interpreter-assembler.cc.

Here is the caller graph for this function:

◆ ToNumberOrNumeric()

void v8::internal::interpreter::InterpreterAssembler::ToNumberOrNumeric ( Object::Conversion mode)
protected

Definition at line 1661 of file interpreter-assembler.cc.

Here is the call graph for this function:

◆ TraceBytecode()

void v8::internal::interpreter::InterpreterAssembler::TraceBytecode ( Runtime::FunctionId function_id)
private

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

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

◆ TraceBytecodeDispatch()

void v8::internal::interpreter::InterpreterAssembler::TraceBytecodeDispatch ( TNode< WordT > target_bytecode)
private

Definition at line 1492 of file interpreter-assembler.cc.

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

◆ UpdateInterruptBudget()

TNode< Int32T > v8::internal::interpreter::InterpreterAssembler::UpdateInterruptBudget ( TNode< Int32T > weight)

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

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

◆ UpdateInterruptBudgetOnReturn()

void v8::internal::interpreter::InterpreterAssembler::UpdateInterruptBudgetOnReturn ( )

Definition at line 1354 of file interpreter-assembler.cc.

Here is the call graph for this function:

Member Data Documentation

◆ accumulator_

CodeStubAssembler::TVariable<Object> v8::internal::interpreter::InterpreterAssembler::accumulator_
private

Definition at line 465 of file interpreter-assembler.h.

◆ bytecode_

Bytecode v8::internal::interpreter::InterpreterAssembler::bytecode_
private

Definition at line 459 of file interpreter-assembler.h.

◆ bytecode_array_

CodeStubAssembler::TVariable<BytecodeArray> v8::internal::interpreter::InterpreterAssembler::bytecode_array_
private

Definition at line 462 of file interpreter-assembler.h.

◆ bytecode_array_valid_

bool v8::internal::interpreter::InterpreterAssembler::bytecode_array_valid_
private

Definition at line 469 of file interpreter-assembler.h.

◆ bytecode_offset_

CodeStubAssembler::TVariable<IntPtrT> v8::internal::interpreter::InterpreterAssembler::bytecode_offset_
private

Definition at line 463 of file interpreter-assembler.h.

◆ dispatch_table_

CodeStubAssembler::TVariable<ExternalReference> v8::internal::interpreter::InterpreterAssembler::dispatch_table_
private

Definition at line 464 of file interpreter-assembler.h.

◆ implicit_register_use_

ImplicitRegisterUse v8::internal::interpreter::InterpreterAssembler::implicit_register_use_
private

Definition at line 466 of file interpreter-assembler.h.

◆ interpreted_frame_pointer_

CodeStubAssembler::TVariable<RawPtrT> v8::internal::interpreter::InterpreterAssembler::interpreted_frame_pointer_
private

Definition at line 461 of file interpreter-assembler.h.

◆ kFirstBytecodeOffset

int v8::internal::interpreter::InterpreterAssembler::kFirstBytecodeOffset
staticconstexpr
Initial value:

Definition at line 315 of file interpreter-assembler.h.

◆ made_call_

bool v8::internal::interpreter::InterpreterAssembler::made_call_
private

Definition at line 467 of file interpreter-assembler.h.

◆ operand_scale_

OperandScale v8::internal::interpreter::InterpreterAssembler::operand_scale_
private

Definition at line 460 of file interpreter-assembler.h.

◆ reloaded_frame_ptr_

bool v8::internal::interpreter::InterpreterAssembler::reloaded_frame_ptr_
private

Definition at line 468 of file interpreter-assembler.h.


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