5#ifndef V8_CODEGEN_EXTERNAL_REFERENCE_TABLE_H_
6#define V8_CODEGEN_EXTERNAL_REFERENCE_TABLE_H_
31#define COUNT_C_BUILTIN(...) +1
35 Runtime::kNumFunctions -
#define BUILTIN_LIST_C(V)
static constexpr int kAccessorSetterCount
static constexpr int kAccessorCallbackCount
static constexpr int kAccessorGetterCount
static constexpr int kExternalReferenceCountIsolateDependent
static constexpr int kSpecialReferenceCount
InitializationState is_initialized_
static void AddIsolateIndependent(Address address, int *index, MemorySpan< Address > shared_external_references)
Address address(uint32_t i) const
Address GetStatsCounterAddress(StatsCounter *counter)
const char * NameFromOffset(uint32_t offset)
void Init(Isolate *isolate)
static constexpr uint32_t kEntrySize
ExternalReferenceTable & operator=(const ExternalReferenceTable &)=delete
static void AddRuntimeFunctions(int *index, MemorySpan< Address > shared_external_references)
static void InitializeOncePerIsolateGroup(MemorySpan< Address > shared_external_references)
static constexpr int kSizeIsolateIndependent
uint32_t dummy_stats_counter_
static constexpr uint32_t kSizeInBytes
static constexpr int kSize
bool is_initialized() const
static void AddBuiltins(int *index, MemorySpan< Address > shared_external_references)
void AddStubCache(Isolate *isolate, int *index)
ExternalReferenceTable()=default
void Add(Address address, int *index)
static constexpr int kExternalReferenceCountIsolateIndependent
void InitIsolateIndependent(MemorySpan< Address > shared_external_references)
void AddIsolateDependentReferences(Isolate *isolate, int *index)
static const char * ResolveSymbol(void *address)
static void AddIsolateIndependentReferences(int *index, MemorySpan< Address > shared_external_references)
static constexpr int kRuntimeReferenceCount
const char * name(uint32_t i) const
ExternalReferenceTable(const ExternalReferenceTable &)=delete
static constexpr int kStubCacheReferenceCount
static constexpr int kAccessorReferenceCount
static void AddAccessors(int *index, MemorySpan< Address > shared_external_references)
@ kInitializedIsolateIndependent
static const char *const ref_name_[kSize]
static constexpr int kIsolateAddressReferenceCount
static const char * NameOfIsolateIndependentAddress(Address address, MemorySpan< Address > shared_external_references)
void AddNativeCodeStatsCounters(Isolate *isolate, int *index)
static constexpr int kStatsCountersReferenceCount
void AddIsolateAddresses(Isolate *isolate, int *index)
static constexpr int kBuiltinsReferenceCount
static constexpr uint32_t OffsetOfEntry(uint32_t i)
void CopyIsolateIndependentReferences(int *index, MemorySpan< Address > shared_external_references)
static constexpr int kExternalReferenceCountIsolateIndependent
static constexpr int kExternalReferenceCountIsolateDependent
static constexpr int kNumInlineFunctions
#define STATS_COUNTER_NATIVE_CODE_LIST(SC)
#define COUNT_C_BUILTIN(...)
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 name
constexpr int kSystemPointerSize
constexpr int kUInt32Size
static constexpr Address kNullAddress
#define DCHECK_LT(v1, v2)
#define DCHECK_EQ(v1, v2)