5#ifndef V8_COMPILER_SIMPLIFIED_OPERATOR_H_ 
    6#define V8_COMPILER_SIMPLIFIED_OPERATOR_H_ 
   27#ifdef V8_ENABLE_WEBASSEMBLY 
   45struct SimplifiedOperatorGlobalCache;
 
   46struct WasmTypeCheckConfig;
 
   71                                           ConstFieldInfo 
const&);
 
   73#if V8_ENABLE_WEBASSEMBLY 
   78  CheckForNull null_check;
 
   87struct WasmElementInfo {
 
   88  const wasm::ArrayType* 
type;
 
   93                                  WasmElementInfo 
const&);
 
   98                                           WasmElementInfo 
const&);
 
  174    #if !defined(OFFICIAL_BUILD) 
  177      this->creator_mnemonic = 
nullptr;
 
 
 
  297      : check_parameters_(feedback), 
flags_(flags) {}
 
 
 
  493  return static_cast<uint8_t
>(
mode);
 
 
  782#if V8_ENABLE_WEBASSEMBLY 
  783struct AssertNotNullParameters {
 
  789                                           AssertNotNullParameters 
const&);
 
  791size_t hash_value(AssertNotNullParameters 
const&);
 
  793bool operator==(AssertNotNullParameters 
const&, AssertNotNullParameters 
const&);
 
  936  const Operator* SpeculativeBigIntAsIntN(
int bits,
 
  938  const Operator* SpeculativeBigIntAsUintN(
int bits,
 
 1042  const Operator* CheckedFloat64ToAdditiveSafeInteger(
 
 1067  const Operator* CheckedTaggedToAdditiveSafeInteger(
 
 1115  const Operator* RestLength(
int formal_parameter_count);
 
 1122                                       int formal_parameter_count);
 
 1128  const Operator* EnsureWritableFastElements();
 
 1136  const Operator* TransitionElementsKindOrCheckMap(
 
 1150                             bool maybe_initializing_or_transitioning = 
true);
 
 1156  const Operator* LoadStackArgument();
 
 1164  const Operator* StoreSignedSmallElement();
 
 1167  const Operator* TransitionAndStoreNumberElement(
MapRef double_map);
 
 1170  const Operator* TransitionAndStoreNonNumberElement(
MapRef fast_map,
 
 1212  const Operator* CheckTurboshaftTypeOf();
 
 1214#if V8_ENABLE_WEBASSEMBLY 
 1224  const Operator* WasmAnyConvertExtern();
 
 1225  const Operator* WasmExternConvertAny();
 
 1233  const Operator* WasmArrayInitializeLength();
 
 1235  const Operator* StringPrepareForGetCodeunit();
 
 1255#ifdef V8_ENABLE_CONTINUATION_PRESERVED_EMBEDDER_DATA 
 1256  const Operator* GetContinuationPreservedEmbedderData();
 
 1257  const Operator* SetContinuationPreservedEmbedderData();
 
 
 1300#define DEFINE_INPUT_ACCESSORS(Name, name, TheIndex, Type) \ 
 1301  static constexpr int Name##Index() { return TheIndex; }  \ 
 1302  TNode<Type> name() const {                               \ 
 1303    return TNode<Type>::UncheckedCast(                     \ 
 1304        NodeProperties::GetValueInput(node(), TheIndex));  \ 
 
 1313    DCHECK_EQ(IrOpcode::kFastApiCall, node->opcode());
 
 
 1320#define INPUTS(V) V(Receiver, receiver, 0, Object) 
 1385    return ReceiverIndex() + 1;
 
 
 
 1416#undef DEFINE_INPUT_ACCESSORS 
#define DEFINE_OPERATORS_FOR_FLAGS(Type)
 
static constexpr int kMapOffset
 
constexpr bool IsMapWord() const
 
static TNode UncheckedCast(compiler::Node *node)
 
AllocationType allocation_type_
 
AllocateParameters(Type type, AllocationType allocation_type)
 
AllocationType allocation_type() const
 
BigIntOperationParameters(BigIntOperationHint hint, const FeedbackSource &feedback)
 
const FeedbackSource & feedback() const
 
BigIntOperationHint hint_
 
BigIntOperationHint hint() const
 
CheckBoundsParameters(const FeedbackSource &feedback, CheckBoundsFlags flags)
 
CheckBoundsFlags flags() const
 
const CheckParameters & check_parameters() const
 
CheckParameters check_parameters_
 
CheckFloat64HoleMode mode_
 
CheckFloat64HoleMode mode() const
 
FeedbackSource const & feedback() const
 
CheckFloat64HoleParameters(CheckFloat64HoleMode mode, FeedbackSource const &feedback)
 
CheckIfParameters(DeoptimizeReason reason, const FeedbackSource &feedback)
 
DeoptimizeReason reason() const
 
FeedbackSource const & feedback() const
 
FeedbackSource const feedback_
 
ZoneRefSet< Map > const & maps() const
 
FeedbackSource const & feedback() const
 
CheckMapsFlags flags() const
 
CheckMapsFlags const flags_
 
ZoneRefSet< Map > const maps_
 
CheckMapsParameters(CheckMapsFlags flags, ZoneRefSet< Map > const &maps, const FeedbackSource &feedback)
 
CheckForMinusZeroMode mode_
 
CheckMinusZeroParameters(CheckForMinusZeroMode mode, const FeedbackSource &feedback)
 
const FeedbackSource & feedback() const
 
CheckForMinusZeroMode mode() const
 
CheckParameters(const FeedbackSource &feedback)
 
FeedbackSource const & feedback() const
 
ZoneRefSet< Map > sources_
 
const FeedbackSource & feedback() const
 
const ZoneRefSet< Map > & sources() const
 
ElementsTransitionWithMultipleSources(ZoneRefSet< Map > sources, MapRef target, const FeedbackSource &feedback=FeedbackSource())
 
ElementsTransition(Mode mode, MapRef source, MapRef target)
 
constexpr int FastCallArgumentCount() const
 
constexpr int FirstSlowCallArgumentIndex() const
 
constexpr int FirstFastCallArgumentIndex() const
 
constexpr int FastCallArgumentIndex(int i) const
 
constexpr int CallbackDataIndex() const
 
const FastApiCallParameters & Parameters() const
 
FastApiCallNode(Node *node)
 
constexpr int FrameStateIndex() const
 
TNode< Object > Context() const
 
TNode< Object > CallbackData() const
 
constexpr int ContextIndex() const
 
const int slow_arg_count_
 
static constexpr int kSlowCodeTarget
 
constexpr int SlowCallArgumentCount() const
 
TNode< Object > SlowCallArgument(int i) const
 
static constexpr int ArityForArgc(int c_arg_count, int slow_arg_count)
 
static constexpr int kFrameState
 
static constexpr int kCallbackData
 
constexpr int SlowCallArgumentIndex(int i) const
 
TNode< Object > FastCallArgument(int i) const
 
constexpr int CArgumentCount() const
 
FastApiCallFunction c_function() const
 
const CFunctionInfo * signature() const
 
FastApiCallParameters(FastApiCallFunction c_function, FeedbackSource const &feedback, CallDescriptor *descriptor)
 
const FeedbackSource feedback_
 
CallDescriptor * descriptor() const
 
CallDescriptor * descriptor_
 
FeedbackSource const & feedback() const
 
FastApiCallFunction c_function_
 
unsigned int argument_count() const
 
GrowFastElementsParameters(GrowFastElementsMode mode, const FeedbackSource &feedback)
 
GrowFastElementsMode mode() const
 
const FeedbackSource & feedback() const
 
GrowFastElementsMode mode_
 
CreateArgumentsType type_
 
int formal_parameter_count_
 
CreateArgumentsType arguments_type() const
 
int formal_parameter_count() const
 
NewArgumentsElementsParameters(CreateArgumentsType type, int formal_parameter_count)
 
static Node * GetEffectInput(Node *node, int index=0)
 
static Node * GetContextInput(Node *node)
 
static Node * GetFrameStateInput(Node *node)
 
static Node * GetValueInput(Node *node, int index)
 
static Node * GetControlInput(Node *node, int index=0)
 
NumberOperationHint hint() const
 
const FeedbackSource & feedback() const
 
NumberOperationParameters(NumberOperationHint hint, const FeedbackSource &feedback)
 
NumberOperationHint hint_
 
virtual void PrintParameter(std::ostream &os, PrintVerbosity verbose) const
 
constexpr SimplifiedNodeWrapperBase(Node *node)
 
FrameState frame_state() const
 
TNode< Object > context() const
 
const Operator * ChangeUint64ToBigInt()
 
const Operator * StringCodePointAt()
 
const Operator * ObjectIsInteger()
 
const Operator * BigIntShiftLeft()
 
const Operator * StringLessThan()
 
const Operator * SpeculativeSmallIntegerSubtract(NumberOperationHint hint)
 
const Operator * NumberAbs()
 
const Operator * DoubleArrayMin()
 
const Operator * NumberImul()
 
const Operator * StringWrapperLength()
 
const Operator * PlainPrimitiveToWord32()
 
const Operator * SpeculativeAdditiveSafeIntegerAdd(NumberOperationHint hint)
 
const Operator * LoadFromObject(ObjectAccess const &)
 
const Operator * LoadImmutableFromObject(ObjectAccess const &)
 
const Operator * CheckedInt64Sub()
 
const Operator * ObjectIsNaN()
 
const Operator * NumberAtan2()
 
const Operator * CheckInternalizedString()
 
const Operator * ChangeTaggedToInt32()
 
const Operator * CheckHeapObject()
 
const Operator * ObjectIsCallable()
 
const Operator * ObjectIsFiniteNumber()
 
const Operator * ObjectIsString()
 
const Operator * CheckedInt64ToInt32(const FeedbackSource &feedback)
 
const Operator * NumberToUint8Clamped()
 
const Operator * CheckedUint32ToInt32(const FeedbackSource &feedback)
 
const Operator * StringLessThanOrEqual()
 
const Operator * NumberMin()
 
const Operator * NumberLessThan()
 
const Operator * BigIntBitwiseAnd()
 
const Operator * NumberShiftLeft()
 
const Operator * CheckedTaggedToTaggedPointer(const FeedbackSource &feedback)
 
const Operator * NumberMultiply()
 
const Operator * SpeculativeNumberLessThanOrEqual(NumberOperationHint hint)
 
const Operator * CheckSmi(const FeedbackSource &feedback)
 
const Operator * CheckedUint32Div()
 
const Operator * ObjectIsDetectableCallable()
 
const Operator * ChangeTaggedToBit()
 
const Operator * BigIntMultiply()
 
const Operator * PlainPrimitiveToNumber()
 
const Operator * SpeculativeBigIntLessThanOrEqual(BigIntOperationHint hint)
 
const Operator * CheckBigInt(const FeedbackSource &feedback)
 
const Operator * NumberLog1p()
 
const Operator * ReferenceEqual()
 
const Operator * NumberCosh()
 
const Operator * ObjectIsSymbol()
 
const Operator * TruncateBigIntToWord64()
 
const Operator * NumberAcos()
 
const Operator * CheckedInt64Mod()
 
const Operator * BooleanNot()
 
const Operator * TruncateTaggedToFloat64()
 
const Operator * NumberEqual()
 
const Operator * StringEqual()
 
const Operator * NumberIsFloat64Hole()
 
const Operator * CheckedUint32Mod()
 
const Operator * NumberCbrt()
 
const Operator * SpeculativeBigIntLessThan(BigIntOperationHint hint)
 
const Operator * ObjectIsNumber()
 
const Operator * NumberToBoolean()
 
const Operator * NumberToInt32()
 
const Operator * StoreToObject(ObjectAccess const &)
 
const Operator * ChangeTaggedToTaggedSigned()
 
const Operator * BigIntLessThan()
 
const Operator * SameValue()
 
const Operator * BigIntDivide()
 
const Operator * SameValueNumbersOnly()
 
const Operator * TruncateTaggedToBit()
 
const Operator * StringToLowerCaseIntl()
 
const Operator * SpeculativeBigIntModulus(BigIntOperationHint hint)
 
const Operator * FindOrderedHashMapEntryForInt32Key()
 
const Operator * CheckNotTaggedHole()
 
const Operator * ChangeFloat64HoleToTagged()
 
const Operator * NumberLog2()
 
const Operator * BigIntEqual()
 
const Operator * CheckedInt32Div()
 
const Operator * NumberIsFinite()
 
const Operator * CheckString(const FeedbackSource &feedback)
 
const Operator * SpeculativeNumberLessThan(NumberOperationHint hint)
 
const Operator * SpeculativeBigIntBitwiseXor(BigIntOperationHint hint)
 
const Operator * CheckedInt32ToTaggedSigned(const FeedbackSource &feedback)
 
const Operator * ChangeTaggedToInt64()
 
const Operator * NumberTanh()
 
const Operator * NumberIsInteger()
 
const Operator * ObjectIsSmi()
 
const Operator * LoadTypedElement(ExternalArrayType const &)
 
const Operator * CheckedAdditiveSafeIntegerAdd()
 
const Operator * NumberExpm1()
 
const Operator * SpeculativeNumberSubtract(NumberOperationHint hint)
 
const Operator * TruncateTaggedPointerToBit()
 
const Operator * CheckedUint64ToTaggedSigned(const FeedbackSource &feedback)
 
const Operator * CheckedUint32Bounds(const FeedbackSource &feedback, CheckBoundsFlags flags)
 
const Operator * NumberCos()
 
const Operator * NumberIsSafeInteger()
 
const Operator * SpeculativeBigIntAdd(BigIntOperationHint hint)
 
const Operator * ConvertTaggedHoleToUndefined()
 
const Operator * LoadDataViewElement(ExternalArrayType const &)
 
const Operator * StringFromCodePointAt()
 
const Operator * NumberSilenceNaN()
 
const Operator * ChangeInt32ToTagged()
 
const Operator * StringLength()
 
const Operator * CheckedUint64ToInt32(const FeedbackSource &feedback)
 
const Operator * SpeculativeBigIntSubtract(BigIntOperationHint hint)
 
const Operator * NumberLog()
 
const Operator * ObjectIsConstructor()
 
const Operator * ChangeTaggedSignedToInt64()
 
const Operator * ToBoolean()
 
const Operator * NumberAsin()
 
const Operator * ChangeTaggedToUint32()
 
const Operator * NumberSign()
 
const Operator * StringIndexOf()
 
const Operator * Integral32OrMinusZeroToBigInt()
 
const Operator * NumberDivide()
 
const Operator * NumberAtan()
 
const Operator * SpeculativeBigIntEqual(BigIntOperationHint hint)
 
const Operator * NumberLog10()
 
const Operator * ChangeBitToTagged()
 
const Operator * SpeculativeBigIntBitwiseOr(BigIntOperationHint hint)
 
const Operator * StringFromSingleCodePoint()
 
const Operator * NumberTrunc()
 
const Operator * CheckedInt64Mul()
 
const Operator * CheckedTaggedToArrayIndex(const FeedbackSource &feedback)
 
const Operator * NumberToString()
 
const Operator * ChangeFloat64ToTaggedPointer()
 
const Operator * SpeculativeNumberAdd(NumberOperationHint hint)
 
const Operator * ChangeUint32ToTagged()
 
const Operator * StringFromSingleCharCode()
 
const Operator * CheckedAdditiveSafeIntegerSub()
 
const Operator * TypeOf()
 
const Operator * SpeculativeAdditiveSafeIntegerSubtract(NumberOperationHint hint)
 
const Operator * ChangeInt64ToTagged()
 
const Operator * SpeculativeNumberModulus(NumberOperationHint hint)
 
const Operator * CheckedUint32ToTaggedSigned(const FeedbackSource &feedback)
 
const Operator * CheckedInt64ToTaggedSigned(const FeedbackSource &feedback)
 
const Operator * NumberBitwiseOr()
 
const Operator * SpeculativeBigIntShiftRight(BigIntOperationHint hint)
 
const Operator * CheckEqualsSymbol()
 
const Operator * LoadFieldByIndex()
 
const Operator * NumberAcosh()
 
const Operator * SpeculativeNumberBitwiseAnd(NumberOperationHint hint)
 
const Operator * ChangeTaggedToFloat64()
 
const Operator * NumberClz32()
 
const Operator * SpeculativeNumberShiftLeft(NumberOperationHint hint)
 
const Operator * ChangeInt64ToBigInt()
 
const Operator * ObjectIsBigInt()
 
const Operator * NumberSubtract()
 
const Operator * StringCharCodeAt()
 
const Operator * NumberPow()
 
const Operator * NumberMax()
 
const Operator * NumberFround()
 
const Operator * ChangeInt31ToTaggedSigned()
 
const Operator * SpeculativeNumberShiftRightLogical(NumberOperationHint hint)
 
const Operator * NumberAsinh()
 
const Operator * BigIntShiftRight()
 
const Operator * DoubleArrayMax()
 
const Operator * NumberSin()
 
const Operator * NumberModulus()
 
const Operator * SpeculativeNumberMultiply(NumberOperationHint hint)
 
const Operator * SpeculativeNumberShiftRight(NumberOperationHint hint)
 
const Operator * LoadElement(ElementAccess const &)
 
const Operator * CheckNumberFitsInt32(const FeedbackSource &feedback)
 
const Operator * CheckReceiverOrNullOrUndefined()
 
SimplifiedOperatorBuilder(const SimplifiedOperatorBuilder &)=delete
 
const Operator * CheckedInt64Add()
 
const Operator * StoreTypedElement(ExternalArrayType const &)
 
const Operator * NumberTan()
 
const Operator * ObjectIsNonCallable()
 
const Operator * NumberCeil()
 
const Operator * CheckedInt32Mod()
 
const Operator * CheckReceiver()
 
const Operator * ObjectIsUndetectable()
 
const Operator * ObjectIsSafeInteger()
 
const Operator * StringToNumber()
 
const Operator * BigIntBitwiseOr()
 
const Operator * ObjectIsReceiver()
 
const Operator * CheckedBigIntToBigInt64(const FeedbackSource &feedback)
 
const Operator * SpeculativeSmallIntegerAdd(NumberOperationHint hint)
 
const Operator * BigIntNegate()
 
const Operator * SpeculativeBigIntBitwiseAnd(BigIntOperationHint hint)
 
const Operator * NumberBitwiseAnd()
 
const Operator * BigIntLessThanOrEqual()
 
const Operator * ChangeUint64ToTagged()
 
const Operator * CheckEqualsInternalizedString()
 
const Operator * NumberSinh()
 
const Operator * CheckNumber(const FeedbackSource &feedback)
 
const Operator * NumberFloor()
 
const Operator * CheckedInt32Sub()
 
const Operator * SpeculativeNumberBitwiseXor(NumberOperationHint hint)
 
const Operator * ObjectIsMinusZero()
 
const Operator * NumberExp()
 
const Operator * CheckedInt32Add()
 
const Operator * BigIntBitwiseXor()
 
const Operator * StringConcat()
 
const Operator * StoreDataViewElement(ExternalArrayType const &)
 
const Operator * BigIntModulus()
 
const Operator * CheckedInt64Div()
 
const Operator * StoreElement(ElementAccess const &)
 
const Operator * NewConsString()
 
const Operator * NumberIsNaN()
 
const Operator * InitializeImmutableInObject(ObjectAccess const &)
 
const Operator * NumberShiftRightLogical()
 
const Operator * SpeculativeNumberDivide(NumberOperationHint hint)
 
const Operator * SpeculativeBigIntDivide(BigIntOperationHint hint)
 
const Operator * DateNow()
 
const Operator * SpeculativeNumberBitwiseOr(NumberOperationHint hint)
 
const Operator * Unsigned32Divide()
 
const Operator * NumberShiftRight()
 
const Operator * SpeculativeBigIntMultiply(BigIntOperationHint hint)
 
const Operator * ChangeTaggedSignedToInt32()
 
const Operator * SpeculativeNumberPow(NumberOperationHint hint)
 
const Operator * TruncateTaggedToWord32()
 
const Operator * ObjectIsArrayBufferView()
 
const Operator * StringToUpperCaseIntl()
 
const Operator * CheckSymbol()
 
const Operator * NumberLessThanOrEqual()
 
const SimplifiedOperatorGlobalCache & cache_
 
const Operator * StringSubstring()
 
const Operator * CheckStringOrStringWrapper(const FeedbackSource &feedback)
 
const Operator * NumberSqrt()
 
const Operator * NumberRound()
 
const Operator * NumberToUint32()
 
const Operator * CheckedUint64Bounds(const FeedbackSource &feedback, CheckBoundsFlags flags)
 
const Operator * NumberSameValue()
 
const Operator * BigIntAdd()
 
const Operator * SpeculativeBigIntShiftLeft(BigIntOperationHint hint)
 
const Operator * NumberAtanh()
 
const Operator * CheckedTaggedSignedToInt32(const FeedbackSource &feedback)
 
const Operator * CheckedTaggedToTaggedSigned(const FeedbackSource &feedback)
 
const Operator * LoadField(FieldAccess const &)
 
const Operator * BigIntSubtract()
 
const Operator * CheckedUint64ToInt64(const FeedbackSource &feedback)
 
const Operator * PlainPrimitiveToFloat64()
 
const Operator * NumberAdd()
 
const Operator * NumberIsMinusZero()
 
const Operator * NumberBitwiseXor()
 
SimplifiedOperatorBuilder & operator=(const SimplifiedOperatorBuilder &)=delete
 
SpeculativeBigIntAsNParameters(int bits, const FeedbackSource &feedback)
 
const FeedbackSource & feedback() const
 
#define DEFINE_INPUT_ACCESSORS(Name, name, TheIndex, Type)
 
NumberOperationParameters const & NumberOperationParametersOf(Operator const *op)
 
FastApiCallParameters const & FastApiCallParametersOf(const Operator *op)
 
const GrowFastElementsParameters & GrowFastElementsParametersOf(const Operator *op)
 
@ kTryMigrateInstanceAndDeopt
 
CheckParameters const & CheckParametersOf(Operator const *op)
 
@ kConvertStringAndMinusZero
 
const CheckTaggedInputParameters & CheckTaggedInputParametersOf(const Operator *op)
 
const NewArgumentsElementsParameters & NewArgumentsElementsParametersOf(const Operator *op)
 
CheckMapsParameters const & CheckMapsParametersOf(Operator const *op)
 
CheckFloat64HoleParameters const & CheckFloat64HoleParametersOf(Operator const *op)
 
CheckIfParameters const & CheckIfParametersOf(Operator const *op)
 
const CheckMinusZeroParameters & CheckMinusZeroParametersOf(const Operator *op)
 
int FormalParameterCountOf(const Operator *op)
 
ZoneRefSet< Map > const & MapGuardMapsOf(Operator const *op)
 
NumberOperationHint NumberOperationHintOf(const Operator *op)
 
const FieldAccess & FieldAccessOf(const Operator *op)
 
const ElementAccess & ElementAccessOf(const Operator *op)
 
const AllocateParameters & AllocateParametersOf(const Operator *op)
 
ZoneRefSet< Map > const & CompareMapsParametersOf(Operator const *op)
 
CheckBoundsParameters const & CheckBoundsParametersOf(Operator const *op)
 
const ObjectAccess & ObjectAccessOf(const Operator *op)
 
Type AllocateTypeOf(const Operator *op)
 
MapRef FastMapParameterOf(const Operator *op)
 
Handle< FeedbackCell > FeedbackCellOf(const Operator *op)
 
Type ValueTypeParameterOf(const Operator *op)
 
size_t hash_value(const BranchParameters &p)
 
ExternalArrayType ExternalArrayTypeOf(const Operator *op)
 
DeoptimizeReason DeoptimizeReasonOf(const Operator *op) V8_WARN_UNUSED_RESULT
 
UnicodeEncoding UnicodeEncodingOf(const Operator *) V8_WARN_UNUSED_RESULT
 
ConvertReceiverMode ConvertReceiverModeOf(Operator const *op)
 
AllocationType AllocationTypeOf(const Operator *op)
 
bool operator!=(DeoptimizeParameters lhs, DeoptimizeParameters rhs)
 
bool operator==(const BranchParameters &lhs, const BranchParameters &rhs)
 
CheckForMinusZeroMode CheckMinusZeroModeOf(const Operator *op)
 
ElementsTransitionWithMultipleSources const & ElementsTransitionWithMultipleSourcesOf(const Operator *op)
 
std::ostream & operator<<(std::ostream &os, AccessMode access_mode)
 
BigIntOperationParameters const & BigIntOperationParametersOf(Operator const *op)
 
ElementsTransition const & ElementsTransitionOf(const Operator *op)
 
AbortReason AbortReasonOf(const Operator *op)
 
SpeculativeBigIntAsNParameters const & SpeculativeBigIntAsNParametersOf(Operator const *op)
 
bool IsCheckedWithFeedback(const Operator *op)
 
BigIntOperationHint BigIntOperationHintOf(const Operator *op)
 
MapRef DoubleMapParameterOf(const Operator *op)
 
@ kIndirectPointerNullTag
 
too high values may cause the compiler to set high thresholds for inlining to as much as possible avoid inlined allocation of objects that cannot escape trace load stores from virtual maglev objects use TurboFan fast string builder analyze liveness of environment slots and zap dead values trace TurboFan load elimination emit data about basic block usage in builtins to this enable builtin reordering when run mksnapshot flag for emit warnings when applying builtin profile data verify register allocation in TurboFan randomly schedule instructions to stress dependency tracking enable store store elimination in TurboFan rewrite far to near simulate GC compiler thread race related to allow float parameters to be passed in simulator mode JS Wasm Run additional turbo_optimize_inlined_js_wasm_wrappers enable experimental feedback collection in generic lowering enable Turboshaft s WasmLoadElimination enable Turboshaft s low level load elimination for JS enable Turboshaft s escape analysis for string concatenation use enable Turbolev features that we want to ship in the not too far future trace individual Turboshaft reduction steps trace intermediate Turboshaft reduction steps invocation count threshold for early optimization Enables optimizations which favor memory size over execution speed Enables sampling allocation profiler with X as a sample interval min size of a semi the new space consists of two semi spaces max size of the Collect garbage after Collect garbage after keeps maps alive for< n > old space garbage collections print one detailed trace line in allocation gc speed threshold for starting incremental marking via a task in percent of available threshold for starting incremental marking immediately in percent of available Use a single schedule for determining a marking schedule between JS and C objects schedules the minor GC task with kUserVisible priority max worker number of concurrent for NumberOfWorkerThreads start background threads that allocate memory concurrent_array_buffer_sweeping use parallel threads to clear weak refs in the atomic pause trace progress of the incremental marking trace object counts and memory usage report a tick only when allocated zone memory changes by this amount TracingFlags::gc_stats TracingFlags::gc_stats track native contexts that are expected to be garbage collected verify heap pointers before and after GC memory reducer runs GC with ReduceMemoryFootprint flag Maximum number of memory reducer GCs scheduled Old gen GC speed is computed directly from gc tracer counters Perform compaction on full GCs based on V8 s default heuristics Perform compaction on every full GC Perform code space compaction when finalizing a full GC with stack Stress GC compaction to flush out bugs with moving objects flush of baseline code when it has not been executed recently Use time base code flushing instead of age Use a progress bar to scan large objects in increments when incremental marking is active force incremental marking for small heaps and run it more often force marking at random points between and force scavenge at random points between and reclaim otherwise unreachable unmodified wrapper objects when possible less compaction in non memory reducing mode use high priority threads for concurrent Marking Test mode only flag It allows an unit test to select evacuation candidates use incremental marking for CppHeap cppheap_concurrent_marking c value for membalancer A special constant to balance between memory and space tradeoff The smaller the more memory it uses enable use of SSE4 instructions if available enable use of AVX VNNI instructions if available enable use of POPCNT instruction if available force all emitted branches to be in long mode(MIPS/PPC only)") DEFINE_BOOL(partial_constant_pool
 
@ kExternalPointerNullTag
 
kInstanceDescriptorsOffset kTransitionsOrPrototypeInfoOffset IsNull(value)||IsJSProxy(value)||IsWasmObject(value)||(IsJSObject(value) &&(HeapLayout
 
bool is_signed(Condition cond)
 
#define NON_EXPORTED_BASE(code)
 
#define DCHECK_LE(v1, v2)
 
#define DCHECK_IMPLIES(v1, v2)
 
#define DCHECK_GE(v1, v2)
 
#define DCHECK_LT(v1, v2)
 
#define DCHECK_EQ(v1, v2)
 
#define V8_EXPORT_PRIVATE
 
ConstFieldInfo(MapRef owner_map)
 
static ConstFieldInfo None()
 
BaseTaggedness base_is_tagged
 
ElementAccess(BaseTaggedness base_is_tagged, int header_size, Type type, MachineType machine_type, WriteBarrierKind write_barrier_kind)
 
WriteBarrierKind write_barrier_kind
 
const CFunctionInfo * signature
 
bool operator==(const FastApiCallFunction &rhs) const
 
ExternalPointerTag external_pointer_tag
 
FieldAccess(BaseTaggedness base_is_tagged, int offset, MaybeHandle< Name > name, OptionalMapRef map, Type type, MachineType machine_type, WriteBarrierKind write_barrier_kind, const char *creator_mnemonic=nullptr, ConstFieldInfo const_field_info=ConstFieldInfo::None(), bool is_store_in_literal=false, ExternalPointerTag external_pointer_tag=kExternalPointerNullTag, bool maybe_initializing_or_transitioning_store=false, bool is_immutable=false, IndirectPointerTag indirect_pointer_tag=kIndirectPointerNullTag)
 
bool maybe_initializing_or_transitioning_store
 
IndirectPointerTag indirect_pointer_tag
 
BaseTaggedness base_is_tagged
 
WriteBarrierKind write_barrier_kind
 
ConstFieldInfo const_field_info
 
const char * creator_mnemonic
 
bool is_bounded_size_access
 
ObjectAccess(MachineType machine_type, WriteBarrierKind write_barrier_kind)
 
WriteBarrierKind write_barrier_kind
 
#define V8_WARN_UNUSED_RESULT