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

#include <heap.h>

Public Types

enum class  HeapGrowingMode { kSlow , kConservative , kMinimal , kDefault }
 
enum  HeapState {
  NOT_IN_GC , SCAVENGE , MARK_COMPACT , MINOR_MARK_SWEEP ,
  TEAR_DOWN
}
 
enum class  OldGenerationExpansionNotificationOrigin { kFromClientHeap , kFromSameHeap }
 
enum class  IterateRootsMode { kMainIsolate , kClientIsolate }
 
enum class  SweepingForcedFinalizationMode { kUnifiedHeap , kV8Only }
 
using Reservation = std::vector<Chunk>
 
using GetExternallyAllocatedMemoryInBytesCallback
 

Public Member Functions

V8_EXPORT_PRIVATE void FatalProcessOutOfMemory (const char *location)
 
EphemeronRememberedSetephemeron_remembered_set ()
 
HeapProfilerheap_profiler () const
 
void NotifyDeserializationComplete ()
 
void WeakenDescriptorArrays (GlobalHandleVector< DescriptorArray > strong_descriptor_arrays)
 
void NotifyBootstrapComplete ()
 
void NotifyOldGenerationExpansion (LocalHeap *local_heap, AllocationSpace space, MutablePageMetadata *chunk, OldGenerationExpansionNotificationOrigin=OldGenerationExpansionNotificationOrigin::kFromSameHeap)
 
AddressNewSpaceAllocationTopAddress ()
 
AddressNewSpaceAllocationLimitAddress ()
 
AddressOldSpaceAllocationTopAddress ()
 
AddressOldSpaceAllocationLimitAddress ()
 
size_t NewSpaceSize ()
 
size_t NewSpaceCapacity () const
 
size_t NewSpaceTargetCapacity () const
 
V8_EXPORT_PRIVATE void MoveRange (Tagged< HeapObject > dst_object, ObjectSlot dst_slot, ObjectSlot src_slot, int len, WriteBarrierMode mode)
 
template<typename TSlot >
V8_EXPORT_PRIVATE void CopyRange (Tagged< HeapObject > dst_object, TSlot dst_slot, TSlot src_slot, int len, WriteBarrierMode mode)
 
V8_EXPORT_PRIVATE void CreateFillerObjectAt (Address addr, int size, ClearFreedMemoryMode clear_memory_mode=ClearFreedMemoryMode::kDontClearFreedMemory)
 
void CreateFillerObjectAtBackground (const WritableFreeSpace &free_space)
 
bool CanMoveObjectStart (Tagged< HeapObject > object)
 
bool IsImmovable (Tagged< HeapObject > object)
 
V8_EXPORT_PRIVATE Tagged< FixedArrayBaseLeftTrimFixedArray (Tagged< FixedArrayBase > obj, int elements_to_trim)
 
template<typename Array >
void RightTrimArray (Tagged< Array > object, int new_capacity, int old_capacity)
 
Tagged< BooleanToBoolean (bool condition)
 
V8_EXPORT_PRIVATE int NotifyContextDisposed (bool has_dependent_context)
 
void set_native_contexts_list (Tagged< Object > object)
 
Tagged< Objectnative_contexts_list () const
 
void set_allocation_sites_list (Tagged< UnionOf< Smi, Undefined, AllocationSiteWithWeakNext > > object)
 
Tagged< UnionOf< Smi, Undefined, AllocationSiteWithWeakNext > > allocation_sites_list ()
 
void set_dirty_js_finalization_registries_list (Tagged< Object > object)
 
Tagged< Objectdirty_js_finalization_registries_list ()
 
void set_dirty_js_finalization_registries_list_tail (Tagged< Object > object)
 
Tagged< Objectdirty_js_finalization_registries_list_tail ()
 
Address allocation_sites_list_address ()
 
void ForeachAllocationSite (Tagged< Object > list, const std::function< void(Tagged< AllocationSite >)> &visitor)
 
int ms_count () const
 
bool AllowedToBeMigrated (Tagged< Map > map, Tagged< HeapObject > object, AllocationSpace dest)
 
void CheckHandleCount ()
 
void PrintShortHeapStatistics ()
 
void PrintFreeListsStats ()
 
void DumpJSONHeapStatistics (std::stringstream &stream)
 
HeapState gc_state () const
 
V8_EXPORT_PRIVATE void SetGCState (HeapState state)
 
bool IsTearingDown () const
 
bool IsInGC () const
 
bool force_oom () const
 
bool ignore_local_gc_requests () const
 
bool IsAllocationObserverActive () const
 
bool IsGCWithMainThreadStack () const
 
bool IsGCWithStack () const
 
bool CanShortcutStringsDuringGC (GarbageCollector collector) const
 
void CollectGarbageForBackground (LocalHeap *local_heap)
 
void CreateReadOnlyApiObjects ()
 
void CreateMutableApiObjects ()
 
V8_EXPORT_PRIVATE void MemoryPressureNotification (v8::MemoryPressureLevel level, bool is_isolate_locked)
 
void CheckMemoryPressure ()
 
V8_EXPORT_PRIVATE void AddNearHeapLimitCallback (v8::NearHeapLimitCallback, void *data)
 
V8_EXPORT_PRIVATE void RemoveNearHeapLimitCallback (v8::NearHeapLimitCallback callback, size_t heap_limit)
 
V8_EXPORT_PRIVATE void AutomaticallyRestoreInitialHeapLimit (double threshold_percent)
 
V8_EXPORT_PRIVATE void AppendArrayBufferExtension (ArrayBufferExtension *extension)
 
V8_EXPORT_PRIVATE void ResizeArrayBufferExtension (ArrayBufferExtension *extension, int64_t delta)
 
void DetachArrayBufferExtension (ArrayBufferExtension *extension)
 
V8_EXPORT_PRIVATE void ExpandNewSpaceSizeForTesting ()
 
V8_EXPORT_PRIVATE void ReduceNewSpaceSizeForTesting ()
 
IsolateSafepointsafepoint ()
 
V8_EXPORT_PRIVATE double MonotonicallyIncreasingTimeInMs () const
 
void RecordStats (HeapStats *stats)
 
bool MeasureMemory (std::unique_ptr< v8::MeasureMemoryDelegate > delegate, v8::MeasureMemoryExecution execution)
 
std::unique_ptr< v8::MeasureMemoryDelegateCreateDefaultMeasureMemoryDelegate (v8::Local< v8::Context > context, v8::Local< v8::Promise::Resolver > promise, v8::MeasureMemoryMode mode)
 
void IncrementDeferredCounts (base::Vector< const v8::Isolate::UseCounterFeature > features)
 
int NextScriptId ()
 
int NextDebuggingId ()
 
int NextStackTraceId ()
 
uint32_t GetNextTemplateSerialNumber ()
 
void SetSerializedObjects (Tagged< HeapObject > objects)
 
void SetSerializedGlobalProxySizes (Tagged< FixedArray > sizes)
 
void SetBasicBlockProfilingData (DirectHandle< ArrayList > list)
 
void RememberUnmappedPage (Address page, bool compacted)
 
uint64_t external_memory_hard_limit ()
 
V8_INLINE uint64_t external_memory () const
 
V8_EXPORT_PRIVATE uint64_t external_memory_limit_for_interrupt ()
 
V8_EXPORT_PRIVATE uint64_t external_memory_soft_limit ()
 
uint64_t UpdateExternalMemory (int64_t delta)
 
V8_EXPORT_PRIVATE size_t YoungArrayBufferBytes ()
 
V8_EXPORT_PRIVATE size_t OldArrayBufferBytes ()
 
uint64_t backing_store_bytes () const
 
void CompactWeakArrayLists ()
 
V8_EXPORT_PRIVATE void AddRetainedMaps (DirectHandle< NativeContext > context, GlobalHandleVector< Map > maps)
 
void OnMoveEvent (Tagged< HeapObject > source, Tagged< HeapObject > target, int size_in_bytes)
 
bool deserialization_complete () const
 
V8_INLINE bool CanSafepoint () const
 
bool HasLowAllocationRate ()
 
bool HasHighFragmentation ()
 
void ActivateMemoryReducerIfNeeded ()
 
V8_EXPORT_PRIVATE bool ShouldOptimizeForMemoryUsage ()
 
V8_EXPORT_PRIVATE bool ShouldOptimizeForBattery () const
 
bool HighMemoryPressure ()
 
bool CollectionRequested ()
 
void CheckCollectionRequested ()
 
void RestoreHeapLimit (size_t heap_limit)
 
void ConfigureHeap (const v8::ResourceConstraints &constraints, v8::CppHeap *cpp_heap)
 
void ConfigureHeapDefault ()
 
void SetUp (LocalHeap *main_thread_local_heap)
 
void SetUpFromReadOnlyHeap (ReadOnlyHeap *ro_heap)
 
void ReplaceReadOnlySpace (SharedReadOnlySpace *shared_ro_space)
 
void SetUpSpaces (LinearAllocationArea &new_allocation_info, LinearAllocationArea &old_allocation_info)
 
void InitializeMainThreadLocalHeap (LocalHeap *main_thread_local_heap)
 
void InitializeHashSeed ()
 
bool CreateReadOnlyHeapObjects ()
 
bool CreateMutableHeapObjects ()
 
void CreateObjectStats ()
 
void StartTearDown ()
 
void TearDownWithSharedHeap ()
 
void TearDown ()
 
bool HasBeenSetUp () const
 
V8_INLINE Address NewSpaceTop ()
 
V8_INLINE Address NewSpaceLimit ()
 
NewSpacenew_space () const
 
PagedNewSpacepaged_new_space () const
 
SemiSpaceNewSpacesemi_space_new_space () const
 
OldSpaceold_space () const
 
StickySpacesticky_space () const
 
CodeSpacecode_space () const
 
SharedSpaceshared_space () const
 
OldLargeObjectSpacelo_space () const
 
CodeLargeObjectSpacecode_lo_space () const
 
SharedLargeObjectSpaceshared_lo_space () const
 
NewLargeObjectSpacenew_lo_space () const
 
ReadOnlySpaceread_only_space () const
 
TrustedSpacetrusted_space () const
 
SharedTrustedSpaceshared_trusted_space () const
 
TrustedLargeObjectSpacetrusted_lo_space () const
 
SharedTrustedLargeObjectSpaceshared_trusted_lo_space () const
 
PagedSpaceshared_allocation_space () const
 
OldLargeObjectSpaceshared_lo_allocation_space () const
 
SharedTrustedSpaceshared_trusted_allocation_space () const
 
SharedTrustedLargeObjectSpaceshared_trusted_lo_allocation_space () const
 
PagedSpacepaged_space (int idx) const
 
Spacespace (int idx) const
 
GCTracertracer ()
 
const GCTracertracer () const
 
MemoryAllocatormemory_allocator ()
 
const MemoryAllocatormemory_allocator () const
 
Isolateisolate () const
 
bool IsMainThread () const
 
MarkCompactCollectormark_compact_collector ()
 
MinorMarkSweepCollectorminor_mark_sweep_collector ()
 
Sweepersweeper ()
 
ArrayBufferSweeperarray_buffer_sweeper ()
 
const base::AddressRegioncode_region ()
 
CodeRangecode_range ()
 
Address code_range_base ()
 
LocalHeapmain_thread_local_heap ()
 
HeapAsHeap ()
 
V8_INLINE RootsTableroots_table ()
 
V8_INLINE Tagged< FixedArraysingle_character_string_table ()
 
V8_INLINE void SetRootMaterializedObjects (Tagged< FixedArray > objects)
 
V8_INLINE void SetRootScriptList (Tagged< Object > value)
 
V8_INLINE void SetRootNoScriptSharedFunctionInfos (Tagged< Object > value)
 
V8_INLINE void SetMessageListeners (Tagged< ArrayList > value)
 
V8_INLINE void SetFunctionsMarkedForManualOptimization (Tagged< Object > bytecode)
 
StrongRootsEntryRegisterStrongRoots (const char *label, FullObjectSlot start, FullObjectSlot end)
 
void UnregisterStrongRoots (StrongRootsEntry *entry)
 
void UpdateStrongRoots (StrongRootsEntry *entry, FullObjectSlot start, FullObjectSlot end)
 
void SetBuiltinsConstantsTable (Tagged< FixedArray > cache)
 
void SetDetachedContexts (Tagged< WeakArrayList > detached_contexts)
 
void EnqueueDirtyJSFinalizationRegistry (Tagged< JSFinalizationRegistry > finalization_registry, std::function< void(Tagged< HeapObject > object, ObjectSlot slot, Tagged< Object > target)> gc_notify_updated_slot)
 
MaybeDirectHandle< JSFinalizationRegistryDequeueDirtyJSFinalizationRegistry ()
 
void RemoveDirtyFinalizationRegistriesOnContext (Tagged< NativeContext > context)
 
bool HasDirtyJSFinalizationRegistries ()
 
void PostFinalizationRegistryCleanupTaskIfNeeded ()
 
void set_is_finalization_registry_cleanup_task_posted (bool posted)
 
bool is_finalization_registry_cleanup_task_posted ()
 
V8_EXPORT_PRIVATE void KeepDuringJob (DirectHandle< HeapObject > target)
 
void ClearKeptObjects ()
 
V8_EXPORT_PRIVATE void EnableInlineAllocation ()
 
V8_EXPORT_PRIVATE void DisableInlineAllocation ()
 
V8_EXPORT_PRIVATE void CollectGarbage (AllocationSpace space, GarbageCollectionReason gc_reason, const GCCallbackFlags gc_callback_flags=kNoGCCallbackFlags)
 
V8_EXPORT_PRIVATE void CollectAllGarbage (GCFlags gc_flags, GarbageCollectionReason gc_reason, const GCCallbackFlags gc_callback_flags=kNoGCCallbackFlags)
 
V8_EXPORT_PRIVATE void CollectAllAvailableGarbage (GarbageCollectionReason gc_reason)
 
V8_EXPORT_PRIVATE void PreciseCollectAllGarbage (GCFlags gc_flags, GarbageCollectionReason gc_reason, const GCCallbackFlags gc_callback_flags=kNoGCCallbackFlags)
 
V8_EXPORT_PRIVATE bool CollectGarbageShared (LocalHeap *local_heap, GarbageCollectionReason gc_reason)
 
V8_EXPORT_PRIVATE bool CollectGarbageFromAnyThread (LocalHeap *local_heap, GarbageCollectionReason gc_reason=GarbageCollectionReason::kBackgroundAllocationFailure)
 
void HandleExternalMemoryInterrupt ()
 
void SetGetExternallyAllocatedMemoryInBytesCallback (GetExternallyAllocatedMemoryInBytesCallback callback)
 
void HandleGCRequest ()
 
void IterateRoots (RootVisitor *v, base::EnumSet< SkipRoot > options, IterateRootsMode roots_mode=IterateRootsMode::kMainIsolate)
 
void IterateRootsIncludingClients (RootVisitor *v, base::EnumSet< SkipRoot > options)
 
void IterateSmiRoots (RootVisitor *v)
 
void IterateWeakRoots (RootVisitor *v, base::EnumSet< SkipRoot > options)
 
void IterateWeakGlobalHandles (RootVisitor *v)
 
void IterateBuiltins (RootVisitor *v)
 
void IterateStackRoots (RootVisitor *v)
 
void IterateConservativeStackRoots (RootVisitor *root_visitor, IterateRootsMode roots_mode=IterateRootsMode::kMainIsolate)
 
void IterateConservativeStackRoots (::heap::base::StackVisitor *stack_visitor)
 
void IterateRootsForPrecisePinning (RootVisitor *visitor)
 
uint8_t * IsMarkingFlagAddress ()
 
uint8_t * IsMinorMarkingFlagAddress ()
 
void ClearRecordedSlotRange (Address start, Address end)
 
GCFlags GCFlagsForIncrementalMarking ()
 
V8_EXPORT_PRIVATE void StartIncrementalMarking (GCFlags gc_flags, GarbageCollectionReason gc_reason, GCCallbackFlags gc_callback_flags=GCCallbackFlags::kNoGCCallbackFlags, GarbageCollector collector=GarbageCollector::MARK_COMPACTOR)
 
V8_EXPORT_PRIVATE void StartIncrementalMarkingOnInterrupt ()
 
V8_EXPORT_PRIVATE void StartIncrementalMarkingIfAllocationLimitIsReached (LocalHeap *local_heap, GCFlags gc_flags, GCCallbackFlags gc_callback_flags=GCCallbackFlags::kNoGCCallbackFlags)
 
V8_EXPORT_PRIVATE void FinalizeIncrementalMarkingAtomically (GarbageCollectionReason gc_reason)
 
V8_EXPORT_PRIVATE void FinalizeIncrementalMarkingAtomicallyIfRunning (GarbageCollectionReason gc_reason)
 
V8_EXPORT_PRIVATE void CompleteSweepingFull ()
 
void CompleteSweepingYoung ()
 
void EnsureSweepingCompletedForObject (Tagged< HeapObject > object)
 
IncrementalMarkingincremental_marking () const
 
ConcurrentMarkingconcurrent_marking () const
 
void NotifyObjectLayoutChange (Tagged< HeapObject > object, const DisallowGarbageCollection &, InvalidateRecordedSlots invalidate_recorded_slots, InvalidateExternalPointerSlots invalidate_external_pointer_slots, int new_size=0)
 
void NotifyObjectSizeChange (Tagged< HeapObject >, int old_size, int new_size, ClearRecordedSlots clear_recorded_slots)
 
void SetConstructStubCreateDeoptPCOffset (int pc_offset)
 
void SetConstructStubInvokeDeoptPCOffset (int pc_offset)
 
void SetDeoptPCOffsetAfterAdaptShadowStack (int pc_offset)
 
void SetInterpreterEntryReturnPCOffset (int pc_offset)
 
void DeoptMarkedAllocationSites ()
 
v8::CppHeapcpp_heap () const
 
std::optional< StackStateoverridden_stack_state () const
 
V8_EXPORT_PRIVATE void SetStackStart ()
 
V8_EXPORT_PRIVATE::heap::base::Stack & stack ()
 
V8_EXPORT_PRIVATEconst ::heap::base::Stackstack () const
 
V8_EXPORT_PRIVATE void SetEmbedderRootsHandler (EmbedderRootsHandler *handler)
 
EmbedderRootsHandlerGetEmbedderRootsHandler () const
 
void RegisterExternalString (Tagged< String > string)
 
V8_EXPORT_PRIVATE void UpdateExternalString (Tagged< String > string, size_t old_payload, size_t new_payload)
 
void FinalizeExternalString (Tagged< String > string)
 
bool InOldSpace (Tagged< Object > object)
 
V8_EXPORT_PRIVATE bool Contains (Tagged< HeapObject > value) const
 
V8_EXPORT_PRIVATE bool ContainsCode (Tagged< HeapObject > value) const
 
V8_EXPORT_PRIVATE bool SharedHeapContains (Tagged< HeapObject > value) const
 
V8_EXPORT_PRIVATE bool MustBeInSharedOldSpace (Tagged< HeapObject > value)
 
V8_EXPORT_PRIVATE bool InSpace (Tagged< HeapObject > value, AllocationSpace space) const
 
V8_EXPORT_PRIVATE bool InSpaceSlow (Address addr, AllocationSpace space) const
 
size_t NumberOfTrackedHeapObjectTypes ()
 
size_t ObjectCountAtLastGC (size_t index)
 
size_t ObjectSizeAtLastGC (size_t index)
 
bool GetObjectTypeName (size_t index, const char **object_type, const char **object_sub_type)
 
size_t NumberOfNativeContexts ()
 
size_t NumberOfDetachedContexts ()
 
void CollectCodeStatistics ()
 
V8_EXPORT_PRIVATE size_t MaxReserved () const
 
size_t MaxSemiSpaceSize ()
 
size_t InitialSemiSpaceSize ()
 
size_t MaxOldGenerationSize ()
 
size_t Capacity ()
 
V8_EXPORT_PRIVATE size_t OldGenerationCapacity () const
 
base::Mutexheap_expansion_mutex ()
 
size_t CommittedMemory ()
 
size_t CommittedOldGenerationMemory ()
 
size_t CommittedMemoryExecutable ()
 
size_t CommittedPhysicalMemory ()
 
size_t MaximumCommittedMemory ()
 
void UpdateMaximumCommitted ()
 
size_t Available ()
 
V8_EXPORT_PRIVATE size_t SizeOfObjects ()
 
V8_EXPORT_PRIVATE size_t TotalGlobalHandlesSize ()
 
V8_EXPORT_PRIVATE size_t UsedGlobalHandlesSize ()
 
void UpdateSurvivalStatistics (int start_new_space_size)
 
void IncrementPromotedObjectsSize (size_t object_size)
 
size_t promoted_objects_size ()
 
void IncrementNewSpaceSurvivingObjectSize (size_t object_size)
 
size_t new_space_surviving_object_size ()
 
size_t SurvivedYoungObjectSize ()
 
void IncrementNodesDiedInNewSpace (int count)
 
void IncrementNodesCopiedInNewSpace ()
 
void IncrementNodesPromoted ()
 
void IncrementYoungSurvivorsCounter (size_t survived)
 
V8_EXPORT_PRIVATE size_t NewSpaceAllocationCounter () const
 
void SetNewSpaceAllocationCounterForTesting (size_t new_value)
 
void UpdateOldGenerationAllocationCounter ()
 
size_t OldGenerationAllocationCounter ()
 
size_t EmbedderAllocationCounter () const
 
void set_old_generation_allocation_counter_at_last_gc (size_t new_value)
 
int gc_count () const
 
bool is_current_gc_forced () const
 
GarbageCollector current_or_last_garbage_collector () const
 
bool ShouldCurrentGCKeepAgesUnchanged () const
 
V8_EXPORT_PRIVATE size_t OldGenerationSizeOfObjects () const
 
V8_EXPORT_PRIVATE size_t OldGenerationWastedBytes () const
 
V8_EXPORT_PRIVATE size_t OldGenerationConsumedBytes () const
 
V8_EXPORT_PRIVATE size_t YoungGenerationSizeOfObjects () const
 
V8_EXPORT_PRIVATE size_t YoungGenerationWastedBytes () const
 
V8_EXPORT_PRIVATE size_t YoungGenerationConsumedBytes () const
 
V8_EXPORT_PRIVATE size_t EmbedderSizeOfObjects () const
 
V8_EXPORT_PRIVATE size_t GlobalSizeOfObjects () const
 
V8_EXPORT_PRIVATE size_t GlobalWastedBytes () const
 
V8_EXPORT_PRIVATE size_t GlobalConsumedBytes () const
 
V8_EXPORT_PRIVATE size_t OldGenerationConsumedBytesAtLastGC () const
 
V8_EXPORT_PRIVATE size_t GlobalConsumedBytesAtLastGC () const
 
bool AllocationLimitOvershotByLargeMargin () const
 
V8_EXPORT_PRIVATE int MaxRegularHeapObjectSize (AllocationType allocation)
 
void AddGCPrologueCallback (v8::Isolate::GCCallbackWithData callback, GCType gc_type_filter, void *data)
 
void RemoveGCPrologueCallback (v8::Isolate::GCCallbackWithData callback, void *data)
 
void AddGCEpilogueCallback (v8::Isolate::GCCallbackWithData callback, GCType gc_type_filter, void *data)
 
void RemoveGCEpilogueCallback (v8::Isolate::GCCallbackWithData callback, void *data)
 
void CallGCPrologueCallbacks (GCType gc_type, GCCallbackFlags flags, GCTracer::Scope::ScopeId scope_id)
 
void CallGCEpilogueCallbacks (GCType gc_type, GCCallbackFlags flags, GCTracer::Scope::ScopeId scope_id)
 
V8_EXPORT_PRIVATE Tagged< HeapObjectPrecedeWithFiller (Tagged< HeapObject > object, int filler_size)
 
V8_EXPORT_PRIVATE Tagged< HeapObjectPrecedeWithFillerBackground (Tagged< HeapObject > object, int filler_size)
 
V8_WARN_UNUSED_RESULT Tagged< HeapObjectAlignWithFillerBackground (Tagged< HeapObject > object, int object_size, int allocation_size, AllocationAlignment alignment)
 
V8_EXPORT_PRIVATE void * AllocateExternalBackingStore (const std::function< void *(size_t)> &allocate, size_t byte_length)
 
void AddAllocationObserversToAllSpaces (AllocationObserver *observer, AllocationObserver *new_space_observer)
 
void RemoveAllocationObserversFromAllSpaces (AllocationObserver *observer, AllocationObserver *new_space_observer)
 
bool IsPendingAllocation (Tagged< HeapObject > object)
 
bool IsPendingAllocation (Tagged< Object > object)
 
V8_EXPORT_PRIVATE void PublishMainThreadPendingAllocations ()
 
V8_EXPORT_PRIVATE void AddHeapObjectAllocationTracker (HeapObjectAllocationTracker *tracker)
 
V8_EXPORT_PRIVATE void RemoveHeapObjectAllocationTracker (HeapObjectAllocationTracker *tracker)
 
bool has_heap_object_allocation_tracker () const
 
V8_EXPORT_PRIVATE Tagged< CodeFindCodeForInnerPointer (Address inner_pointer)
 
Tagged< GcSafeCodeGcSafeFindCodeForInnerPointer (Address inner_pointer)
 
std::optional< Tagged< GcSafeCode > > GcSafeTryFindCodeForInnerPointer (Address inner_pointer)
 
std::optional< Tagged< InstructionStream > > GcSafeTryFindInstructionStreamForInnerPointer (Address inner_pointer)
 
std::optional< Tagged< Code > > TryFindCodeForInnerPointerForPrinting (Address inner_pointer)
 
bool GcSafeInstructionStreamContains (Tagged< InstructionStream > instruction_stream, Address addr)
 
bool sweeping_in_progress () const
 
bool sweeping_in_progress_for_space (AllocationSpace space) const
 
bool minor_sweeping_in_progress () const
 
bool major_sweeping_in_progress () const
 
void FinishSweepingIfOutOfWork ()
 
V8_EXPORT_PRIVATE void EnsureSweepingCompleted (SweepingForcedFinalizationMode mode)
 
void EnsureYoungSweepingCompleted ()
 
void EnsureQuarantinedPagesSweepingCompleted ()
 
void * GetRandomMmapAddr ()
 
int MaxNumberToStringCacheSize () const
 
V8_EXPORT_PRIVATE void MakeHeapIterable ()
 
V8_EXPORT_PRIVATE void Unmark ()
 
V8_EXPORT_PRIVATE void DeactivateMajorGCInProgressFlag ()
 
V8_EXPORT_PRIVATE void FreeLinearAllocationAreas ()
 
V8_EXPORT_PRIVATE void FreeMainThreadLinearAllocationAreas ()
 
V8_EXPORT_PRIVATE bool CanPromoteYoungAndExpandOldGeneration (size_t size) const
 
V8_EXPORT_PRIVATE bool CanExpandOldGeneration (size_t size) const
 
V8_EXPORT_PRIVATE bool IsOldGenerationExpansionAllowed (size_t size, const base::MutexGuard &expansion_mutex_witness) const
 
bool ShouldReduceMemory () const
 
bool IsLastResortGC ()
 
MarkingStatemarking_state ()
 
NonAtomicMarkingStatenon_atomic_marking_state ()
 
PretenuringHandlerpretenuring_handler ()
 
bool IsInlineAllocationEnabled () const
 
V8_EXPORT_PRIVATE uint64_t AllocatedExternalMemorySinceMarkCompact () const
 
std::shared_ptr< v8::TaskRunnerGetForegroundTaskRunner (TaskPriority priority=TaskPriority::kUserBlocking) const
 
bool ShouldUseBackgroundThreads () const
 
bool ShouldUseIncrementalMarking () const
 
HeapAllocatorallocator ()
 
const HeapAllocatorallocator () const
 
bool use_new_space () const
 
bool IsNewSpaceAllowedToGrowAboveTargetCapacity () const
 
template<typename TSlot >
void CopyRange (Tagged< HeapObject > dst_object, const TSlot dst_slot, const TSlot src_slot, int len, WriteBarrierMode mode)
 

Static Public Member Functions

static size_t DefaultMinSemiSpaceSize ()
 
static V8_EXPORT_PRIVATE size_t DefaultMaxSemiSpaceSize ()
 
static size_t OldGenerationToSemiSpaceRatio ()
 
static size_t OldGenerationToSemiSpaceRatioLowMemory ()
 
static V8_EXPORT_PRIVATE int GetMaximumFillToAlign (AllocationAlignment alignment)
 
static V8_EXPORT_PRIVATE int GetFillToAlign (Address address, AllocationAlignment alignment)
 
static size_t GetCodeRangeReservedAreaSize ()
 
static bool IsValidAllocationSpace (AllocationSpace space)
 
static bool IsYoungGenerationCollector (GarbageCollector collector)
 
static V8_EXPORT_PRIVATE bool IsFreeSpaceValid (FreeSpace object)
 
static GarbageCollector YoungGenerationCollector ()
 
static void CopyBlock (Address dst, Address src, int byte_size)
 
static V8_EXPORT_PRIVATE bool IsLargeObject (Tagged< HeapObject > object)
 
static void InitializeOncePerProcess ()
 
static int InsertIntoRememberedSetFromCode (MutablePageMetadata *chunk, size_t slot_offset)
 
static V8_EXPORT_PRIVATE void NotifyObjectLayoutChangeDone (Tagged< HeapObject > object)
 
static Tagged< StringUpdateYoungReferenceInExternalStringTableEntry (Heap *heap, FullObjectSlot pointer)
 
static bool InFromPage (Tagged< Object > object)
 
static bool InFromPage (Tagged< MaybeObject > object)
 
static bool InFromPage (Tagged< HeapObject > heap_object)
 
static bool InToPage (Tagged< Object > object)
 
static bool InToPage (Tagged< MaybeObject > object)
 
static bool InToPage (Tagged< HeapObject > heap_object)
 
static HeapFromWritableHeapObject (Tagged< HeapObject > obj)
 
static V8_EXPORT_PRIVATE size_t AllocatorLimitOnMaxOldGenerationSize ()
 
static V8_EXPORT_PRIVATE size_t HeapSizeFromPhysicalMemory (uint64_t physical_memory)
 
static V8_EXPORT_PRIVATE void GenerationSizesFromHeapSize (size_t heap_size, size_t *young_generation_size, size_t *old_generation_size)
 
static V8_EXPORT_PRIVATE size_t YoungGenerationSizeFromOldGenerationSize (size_t old_generation_size)
 
static V8_EXPORT_PRIVATE size_t YoungGenerationSizeFromSemiSpaceSize (size_t semi_space_size)
 
static V8_EXPORT_PRIVATE size_t SemiSpaceSizeFromYoungGenerationSize (size_t young_generation_size)
 
static V8_EXPORT_PRIVATE size_t MinYoungGenerationSize ()
 
static V8_EXPORT_PRIVATE size_t MinOldGenerationSize ()
 
static V8_EXPORT_PRIVATE size_t MaxOldGenerationSize (uint64_t physical_memory)
 

Static Public Attributes

static const int kPointerMultiplier = kTaggedSize / 4
 
static const int kHeapLimitMultiplier = kSystemPointerSize / 4
 
static const size_t kMaxInitialOldGenerationSize
 
static constexpr size_t kPhysicalMemoryToOldGenerationRatio = 4
 
static constexpr size_t kOldGenerationLowMemory
 
static constexpr size_t kNewLargeObjectSpaceToSemiSpaceRatio = 1
 
static const int kTraceRingBufferSize = 512
 
static const int kStacktraceBufferSize = 512
 
static const int kMinObjectSizeInTaggedWords = 2
 

Private Types

enum class  VerifyNoSlotsRecorded { kYes , kNo }
 
enum class  ResizeNewSpaceMode { kShrink , kGrow , kNone }
 
enum class  IncrementalMarkingLimit { kNoLimit , kSoftLimit , kHardLimit , kFallbackForEmbedderLimit }
 
enum  AllocationRetryMode { kLightRetry , kRetryOrFail }
 
using ExternalStringTableUpdaterCallback
 

Private Member Functions

void AttachCppHeap (v8::CppHeap *cpp_heap)
 
 Heap ()
 
 ~Heap ()
 
 Heap (const Heap &)=delete
 
Heapoperator= (const Heap &)=delete
 
int NumberOfScavengeTasks ()
 
GarbageCollector SelectGarbageCollector (AllocationSpace space, GarbageCollectionReason gc_reason, const char **reason) const
 
void MakeLinearAllocationAreasIterable ()
 
void MarkSharedLinearAllocationAreasBlack ()
 
void UnmarkSharedLinearAllocationAreas ()
 
void FreeSharedLinearAllocationAreasAndResetFreeLists ()
 
void PerformGarbageCollection (GarbageCollector collector, GarbageCollectionReason gc_reason, const char *collector_reason)
 
void PerformHeapVerification ()
 
std::vector< Isolate * > PauseConcurrentThreadsInClients (GarbageCollector collector)
 
void ResumeConcurrentThreadsInClients (std::vector< Isolate * > paused_clients)
 
void StaticRootsEnsureAllocatedSize (DirectHandle< HeapObject > obj, int required)
 
bool CreateEarlyReadOnlyMapsAndObjects ()
 
bool CreateImportantReadOnlyObjects ()
 
bool CreateLateReadOnlyNonJSReceiverMaps ()
 
bool CreateLateReadOnlyJSReceiverMaps ()
 
bool CreateReadOnlyObjects ()
 
void CreateInternalAccessorInfoObjects ()
 
void CreateInitialMutableObjects ()
 
void CreateFillerObjectAtRaw (const WritableFreeSpace &free_space, ClearFreedMemoryMode clear_memory_mode, ClearRecordedSlots clear_slots_mode, VerifyNoSlotsRecorded verify_no_slots_recorded)
 
void ResetAllAllocationSitesDependentCode (AllocationType allocation)
 
void EvaluateOldSpaceLocalPretenuring (uint64_t size_of_objects_before_gc)
 
void ReportStatisticsAfterGC ()
 
void FlushNumberStringCache ()
 
void ActivateMemoryReducerIfNeededOnMainThread ()
 
void ShrinkOldGenerationAllocationLimitIfNotConfigured ()
 
double ComputeMutatorUtilization (const char *tag, double mutator_speed, std::optional< double > gc_speed)
 
bool HasLowYoungGenerationAllocationRate ()
 
bool HasLowOldGenerationAllocationRate ()
 
bool HasLowEmbedderAllocationRate ()
 
ResizeNewSpaceMode ShouldResizeNewSpace ()
 
void StartResizeNewSpace ()
 
void ResizeNewSpace ()
 
void ExpandNewSpaceSize ()
 
void ReduceNewSpaceSize ()
 
void PrintMaxMarkingLimitReached ()
 
void PrintMaxNewSpaceSizeReached ()
 
int NextStressMarkingLimit ()
 
void AddToRingBuffer (const char *string)
 
void GetFromRingBuffer (char *buffer)
 
void CompactRetainedMaps (Tagged< WeakArrayList > retained_maps)
 
void CollectGarbageOnMemoryPressure ()
 
void EagerlyFreeExternalMemoryAndWasmCode ()
 
bool InvokeNearHeapLimitCallback ()
 
void InvokeIncrementalMarkingPrologueCallbacks ()
 
void InvokeIncrementalMarkingEpilogueCallbacks ()
 
Tagged< GcSafeCodeGcSafeGetCodeFromInstructionStream (Tagged< HeapObject > instruction_stream, Address inner_pointer)
 
Tagged< MapGcSafeMapOfHeapObject (Tagged< HeapObject > object)
 
void GarbageCollectionPrologue (GarbageCollectionReason gc_reason, const v8::GCCallbackFlags gc_callback_flags)
 
void GarbageCollectionPrologueInSafepoint ()
 
void GarbageCollectionEpilogue (GarbageCollector collector)
 
void GarbageCollectionEpilogueInSafepoint (GarbageCollector collector)
 
void MarkCompact ()
 
void MinorMarkSweep ()
 
void MarkCompactPrologue ()
 
void MarkCompactEpilogue ()
 
void Scavenge ()
 
void UpdateYoungReferencesInExternalStringTable (ExternalStringTableUpdaterCallback updater_func)
 
void UpdateReferencesInExternalStringTable (ExternalStringTableUpdaterCallback updater_func)
 
void ProcessAllWeakReferences (WeakObjectRetainer *retainer)
 
void ProcessNativeContexts (WeakObjectRetainer *retainer)
 
void ProcessAllocationSites (WeakObjectRetainer *retainer)
 
void ProcessDirtyJSFinalizationRegistries (WeakObjectRetainer *retainer)
 
void ProcessWeakListRoots (WeakObjectRetainer *retainer)
 
size_t OldGenerationSpaceAvailable ()
 
void UpdateTotalGCTime (base::TimeDelta duration)
 
bool IsIneffectiveMarkCompact (size_t old_generation_size, double mutator_utilization)
 
void CheckIneffectiveMarkCompact (size_t old_generation_size, double mutator_utilization)
 
void IncrementExternalBackingStoreBytes (ExternalBackingStoreType type, size_t amount)
 
void DecrementExternalBackingStoreBytes (ExternalBackingStoreType type, size_t amount)
 
MemoryReducermemory_reducer ()
 
V8_EXPORT_PRIVATE bool ShouldOptimizeForLoadTime () const
 
void NotifyLoadingStarted ()
 
void NotifyLoadingEnded ()
 
size_t old_generation_allocation_limit () const
 
size_t global_allocation_limit () const
 
bool using_initial_limit () const
 
void set_using_initial_limit (bool value)
 
size_t max_old_generation_size () const
 
size_t min_old_generation_size () const
 
void SetOldGenerationAndGlobalMaximumSize (size_t max_old_generation_size)
 
void SetOldGenerationAndGlobalAllocationLimit (size_t new_old_generation_allocation_limit, size_t new_global_allocation_limit)
 
void ResetOldGenerationAndGlobalAllocationLimit ()
 
bool always_allocate () const
 
bool ShouldExpandOldGenerationOnSlowAllocation (LocalHeap *local_heap, AllocationOrigin origin)
 
bool ShouldExpandYoungGenerationOnSlowAllocation (size_t allocation_size)
 
HeapGrowingMode CurrentHeapGrowingMode ()
 
double PercentToOldGenerationLimit () const
 
double PercentToGlobalMemoryLimit () const
 
IncrementalMarkingLimit IncrementalMarkingLimitReached ()
 
bool ShouldStressCompaction () const
 
size_t GlobalMemoryAvailable ()
 
void RecomputeLimits (GarbageCollector collector, base::TimeTicks time)
 
void RecomputeLimitsAfterLoadingIfNeeded ()
 
V8_EXPORT_PRIVATE void StartMinorMSIncrementalMarkingIfNeeded ()
 
bool MinorMSSizeTaskTriggerReached () const
 
MinorGCJobminor_gc_job ()
 
V8_WARN_UNUSED_RESULT AllocationResult AllocateMap (AllocationType allocation_type, InstanceType instance_type, int instance_size, ElementsKind elements_kind=TERMINAL_FAST_ELEMENTS_KIND, int inobject_properties=0)
 
V8_WARN_UNUSED_RESULT V8_INLINE AllocationResult AllocateRaw (int size_in_bytes, AllocationType allocation, AllocationOrigin origin=AllocationOrigin::kRuntime, AllocationAlignment alignment=kTaggedAligned)
 
template<AllocationRetryMode mode>
V8_WARN_UNUSED_RESULT V8_INLINE Tagged< HeapObjectAllocateRawWith (int size, AllocationType allocation, AllocationOrigin origin=AllocationOrigin::kRuntime, AllocationAlignment alignment=kTaggedAligned)
 
V8_WARN_UNUSED_RESULT Address AllocateRawOrFail (int size, AllocationType allocation, AllocationOrigin origin=AllocationOrigin::kRuntime, AllocationAlignment alignment=kTaggedAligned)
 
V8_WARN_UNUSED_RESULT AllocationResult Allocate (DirectHandle< Map > map, AllocationType allocation)
 
V8_WARN_UNUSED_RESULT AllocationResult AllocatePartialMap (InstanceType instance_type, int instance_size)
 
void FinalizePartialMap (Tagged< Map > map)
 
void set_force_oom (bool value)
 
void set_force_gc_on_next_allocation ()
 
bool IsPendingAllocationInternal (Tagged< HeapObject > object)
 
std::vector< Handle< NativeContext > > FindAllNativeContexts ()
 
std::vector< Tagged< WeakArrayList > > FindAllRetainedMaps ()
 
MemoryMeasurementmemory_measurement ()
 
AllocationType allocation_type_for_in_place_internalizable_strings () const
 
bool IsStressingScavenge ()
 
void SetIsMarkingFlag (bool value)
 
void SetIsMinorMarkingFlag (bool value)
 
size_t PromotedSinceLastGC ()
 
 FRIEND_TEST (SpacesTest, InlineAllocationObserverCadence)
 
 FRIEND_TEST (SpacesTest, AllocationObserver)
 

Static Private Member Functions

static bool IsRegularObjectAllocation (AllocationType allocation)
 
static LimitsCompuatationResult ComputeNewAllocationLimits (Heap *heap)
 

Private Attributes

ExternalMemoryAccounting external_memory_
 
Isolateisolate_ = nullptr
 
HeapAllocatorheap_allocator_ = nullptr
 
size_t code_range_size_ = 0
 
size_t max_semi_space_size_ = 0
 
size_t min_semi_space_size_ = 0
 
size_t initial_semispace_size_ = 0
 
size_t min_old_generation_size_ = 0
 
std::atomic< size_tmax_old_generation_size_ {0}
 
size_t min_global_memory_size_ = 0
 
size_t max_global_memory_size_ = 0
 
size_t initial_max_old_generation_size_ = 0
 
size_t initial_max_old_generation_size_threshold_ = 0
 
size_t initial_old_generation_size_ = 0
 
std::atomic< boolusing_initial_limit_ = true
 
bool initial_size_overwritten_ = false
 
size_t maximum_committed_ = 0
 
size_t old_generation_capacity_after_bootstrap_ = 0
 
std::atomic< uint64_t > backing_store_bytes_ {0}
 
size_t survived_since_last_expansion_ = 0
 
std::atomic< size_talways_allocate_scope_count_ {0}
 
std::atomic< v8::MemoryPressureLevelmemory_pressure_level_
 
std::vector< std::pair< v8::NearHeapLimitCallback, void * > > near_heap_limit_callbacks_
 
int contexts_disposed_ = 0
 
NewSpacenew_space_ = nullptr
 
OldSpaceold_space_ = nullptr
 
CodeSpacecode_space_ = nullptr
 
SharedSpaceshared_space_ = nullptr
 
OldLargeObjectSpacelo_space_ = nullptr
 
CodeLargeObjectSpacecode_lo_space_ = nullptr
 
NewLargeObjectSpacenew_lo_space_ = nullptr
 
SharedLargeObjectSpaceshared_lo_space_ = nullptr
 
ReadOnlySpaceread_only_space_ = nullptr
 
TrustedSpacetrusted_space_ = nullptr
 
SharedTrustedSpaceshared_trusted_space_ = nullptr
 
TrustedLargeObjectSpacetrusted_lo_space_ = nullptr
 
SharedTrustedLargeObjectSpaceshared_trusted_lo_space_ = nullptr
 
PagedSpaceshared_allocation_space_ = nullptr
 
OldLargeObjectSpaceshared_lo_allocation_space_ = nullptr
 
SharedTrustedSpaceshared_trusted_allocation_space_ = nullptr
 
SharedTrustedLargeObjectSpaceshared_trusted_lo_allocation_space_ = nullptr
 
std::unique_ptr< Spacespace_ [LAST_SPACE+1]
 
LocalHeapmain_thread_local_heap_ = nullptr
 
std::atomic< HeapStategc_state_ {NOT_IN_GC}
 
int stress_marking_percentage_ = 0
 
StressScavengeObserverstress_scavenge_observer_ = nullptr
 
std::atomic< double > max_marking_limit_reached_ = 0.0
 
unsigned int ms_count_ = 0
 
unsigned int gc_count_ = 0
 
int consecutive_ineffective_mark_compacts_ = 0
 
uintptr_t mmap_region_base_ = 0
 
int remembered_unmapped_pages_index_ = 0
 
Address remembered_unmapped_pages_ [kRememberedUnmappedPages]
 
std::atomic< size_told_generation_allocation_limit_ {0}
 
std::atomic< size_tglobal_allocation_limit_ {0}
 
std::atomic< Addressnative_contexts_list_
 
Tagged< UnionOf< Smi, Undefined, AllocationSiteWithWeakNext > > allocation_sites_list_ = Smi::zero()
 
Tagged< Objectdirty_js_finalization_registries_list_ = Smi::zero()
 
Tagged< Objectdirty_js_finalization_registries_list_tail_ = Smi::zero()
 
GCCallbacks gc_prologue_callbacks_
 
GCCallbacks gc_epilogue_callbacks_
 
GetExternallyAllocatedMemoryInBytesCallback external_memory_callback_
 
base::SmallVector< v8::Isolate::UseCounterFeature, 8 > deferred_counters_
 
size_t promoted_objects_size_ = 0
 
double promotion_ratio_ = 0.0
 
double promotion_rate_ = 0.0
 
size_t new_space_surviving_object_size_ = 0
 
size_t previous_new_space_surviving_object_size_ = 0
 
double new_space_surviving_rate_ = 0.0
 
int nodes_died_in_new_space_ = 0
 
int nodes_copied_in_new_space_ = 0
 
int nodes_promoted_ = 0
 
base::TimeDelta total_gc_time_ms_
 
double last_gc_time_ = 0.0
 
std::unique_ptr< GCTracertracer_
 
std::unique_ptr< Sweepersweeper_
 
std::unique_ptr< MarkCompactCollectormark_compact_collector_
 
std::unique_ptr< MinorMarkSweepCollectorminor_mark_sweep_collector_
 
std::unique_ptr< ScavengerCollectorscavenger_collector_
 
std::unique_ptr< ArrayBufferSweeperarray_buffer_sweeper_
 
std::unique_ptr< MemoryAllocatormemory_allocator_
 
std::unique_ptr< IncrementalMarkingincremental_marking_
 
std::unique_ptr< ConcurrentMarkingconcurrent_marking_
 
std::unique_ptr< MemoryMeasurementmemory_measurement_
 
std::unique_ptr< MemoryReducermemory_reducer_
 
std::unique_ptr< ObjectStatslive_object_stats_
 
std::unique_ptr< ObjectStatsdead_object_stats_
 
std::unique_ptr< MinorGCJobminor_gc_job_
 
std::unique_ptr< AllocationObserverstress_concurrent_allocation_observer_
 
std::unique_ptr< AllocationTrackerForDebugging > allocation_tracker_for_debugging_
 
std::unique_ptr< EphemeronRememberedSetephemeron_remembered_set_
 
std::unique_ptr< HeapProfilerheap_profiler_
 
std::shared_ptr< v8::TaskRunnertask_runner_
 
std::unique_ptr< CodeRangecode_range_
 
std::unique_ptr< CppHeapowning_cpp_heap_
 
v8::CppHeapcpp_heap_ = nullptr
 
EmbedderRootsHandlerembedder_roots_handler_
 
StackState embedder_stack_state_ = StackState::kMayContainHeapPointers
 
std::optional< EmbedderStackStateOriginembedder_stack_state_origin_
 
StrongRootsEntrystrong_roots_head_ = nullptr
 
base::Mutex strong_roots_mutex_
 
base::Mutex heap_expansion_mutex_
 
bool need_to_remove_stress_concurrent_allocation_observer_ = false
 
size_t new_space_allocation_counter_ = 0
 
size_t old_generation_allocation_counter_at_last_gc_ = 0
 
size_t old_generation_size_at_last_gc_ {0}
 
size_t old_generation_wasted_at_last_gc_ {0}
 
size_t embedder_size_at_last_gc_ = 0
 
char trace_ring_buffer_ [kTraceRingBufferSize]
 
bool ring_buffer_full_ = false
 
size_t ring_buffer_end_ = 0
 
bool configured_ = false
 
GCFlags current_gc_flags_ = GCFlag::kNoFlags
 
GCCallbackFlags current_gc_callback_flags_
 
std::unique_ptr< IsolateSafepointsafepoint_
 
bool is_current_gc_forced_ = false
 
bool is_current_gc_for_heap_profiler_ = false
 
GarbageCollector current_or_last_garbage_collector_
 
ExternalStringTable external_string_table_
 
const AllocationType allocation_type_for_in_place_internalizable_strings_
 
std::unique_ptr< CollectionBarriercollection_barrier_
 
int ignore_local_gc_requests_depth_ = 0
 
int gc_callbacks_depth_ = 0
 
bool deserialization_complete_ = false
 
int max_regular_code_object_size_ = 0
 
bool inline_allocation_enabled_ = true
 
int pause_allocation_observers_depth_ = 0
 
bool force_oom_ = false
 
bool force_gc_on_next_allocation_ = false
 
bool delay_sweeper_tasks_for_testing_ = false
 
std::vector< HeapObjectAllocationTracker * > allocation_trackers_
 
bool is_finalization_registry_cleanup_task_posted_ = false
 
MarkingState marking_state_
 
NonAtomicMarkingState non_atomic_marking_state_
 
PretenuringHandler pretenuring_handler_
 
ResizeNewSpaceMode resize_new_space_mode_ = ResizeNewSpaceMode::kNone
 
std::unique_ptr< MemoryBalancermb_
 
std::atomic< double > load_start_time_ms_ {kLoadTimeNotLoading}
 
bool update_allocation_limits_after_loading_ = false
 
bool is_full_gc_during_loading_ = false
 

Static Private Attributes

static const int kInitialEvalCacheSize = 64
 
static const int kInitialNumberStringCacheSize = 256
 
static const int kRememberedUnmappedPages = 128
 
static const int kYoungSurvivalRateHighThreshold = 90
 
static const int kYoungSurvivalRateAllowedDeviation = 15
 
static const int kOldSurvivalRateLowThreshold = 10
 
static const int kMaxMarkCompactsInIdleRound = 7
 
static constexpr int kRetainMapEntrySize = 2
 
static const int kMaxLoadTimeMs = 7000
 
static const uintptr_t kMmapRegionMask = 0xFFFFFFFFu
 
static constexpr double kLoadTimeNotLoading = -1.0
 

Friends

class ActivateMemoryReducerTask
 
class AlwaysAllocateScope
 
class ArrayBufferCollector
 
class ArrayBufferSweeper
 
class ConcurrentMarking
 
class ConservativeTracedHandlesMarkingVisitor
 
class CppHeap
 
class EmbedderStackStateScope
 
class EvacuateVisitorBase
 
class GCCallbacksScope
 
class GCTracer
 
class HeapAllocator
 
class HeapObjectIterator
 
class HeapVerifier
 
class IgnoreLocalGCRequests
 
class IncrementalMarking
 
class IncrementalMarkingJob
 
class LargeObjectSpace
 
class LocalHeap
 
class MarkingBarrier
 
class OldLargeObjectSpace
 
template<typename ConcreteVisitor >
class MarkingVisitorBase
 
class MarkCompactCollector
 
class MemoryBalancer
 
class MinorGCJob
 
class MinorGCTaskObserver
 
class MinorMarkSweepCollector
 
class MinorMSIncrementalMarkingTaskObserver
 
class NewLargeObjectSpace
 
class NewSpace
 
class ObjectStatsCollector
 
class PageMetadata
 
class PagedNewSpaceAllocatorPolicy
 
class PagedSpaceAllocatorPolicy
 
class PagedSpaceBase
 
class PagedSpaceForNewSpace
 
class PauseAllocationObserversScope
 
class PretenuringHandler
 
class ReadOnlyRoots
 
class DisableConservativeStackScanningScopeForTesting
 
class Scavenger
 
class ScavengerCollector
 
class ScheduleMinorGCTaskObserver
 
class SemiSpaceNewSpace
 
class SemiSpaceNewSpaceAllocatorPolicy
 
class StressConcurrentAllocationObserver
 
class Space
 
class SpaceWithLinearArea
 
class Sweeper
 
class UnifiedHeapMarkingState
 
class heap::TestMemoryAllocatorScope
 
class Factory
 
class LocalFactory
 
template<typename IsolateT >
class Deserializer
 
class Isolate
 
class heap::HeapTester
 
class HeapInternalsBase
 

Detailed Description

Definition at line 195 of file heap.h.

Member Typedef Documentation

◆ ExternalStringTableUpdaterCallback

using v8::internal::Heap::ExternalStringTableUpdaterCallback
private
Initial value:
Tagged<String> (*)(Heap* heap, FullObjectSlot pointer)
Tagged(T object) -> Tagged< T >

Definition at line 1655 of file heap.h.

◆ GetExternallyAllocatedMemoryInBytesCallback

using v8::internal::Heap::GetExternallyAllocatedMemoryInBytesCallback
Initial value:

Definition at line 962 of file heap.h.

◆ Reservation

using v8::internal::Heap::Reservation = std::vector<Chunk>

Definition at line 291 of file heap.h.

Member Enumeration Documentation

◆ AllocationRetryMode

enum v8::internal::Heap::AllocationRetryMode
private
Enumerator
kLightRetry 
kRetryOrFail 

Definition at line 2018 of file heap.h.

◆ HeapGrowingMode

enum class v8::internal::Heap::HeapGrowingMode
strong
Enumerator
kSlow 
kConservative 
kMinimal 
kDefault 

Definition at line 197 of file heap.h.

◆ HeapState

enum v8::internal::Heap::HeapState
Enumerator
NOT_IN_GC 
SCAVENGE 
MARK_COMPACT 
MINOR_MARK_SWEEP 
TEAR_DOWN 

Definition at line 199 of file heap.h.

◆ IncrementalMarkingLimit

enum class v8::internal::Heap::IncrementalMarkingLimit
strongprivate
Enumerator
kNoLimit 
kSoftLimit 
kHardLimit 
kFallbackForEmbedderLimit 

Definition at line 1967 of file heap.h.

◆ IterateRootsMode

enum class v8::internal::Heap::IterateRootsMode
strong
Enumerator
kMainIsolate 
kClientIsolate 

Definition at line 979 of file heap.h.

◆ OldGenerationExpansionNotificationOrigin

enum class v8::internal::Heap::OldGenerationExpansionNotificationOrigin
strong
Enumerator
kFromClientHeap 
kFromSameHeap 

Definition at line 380 of file heap.h.

◆ ResizeNewSpaceMode

enum class v8::internal::Heap::ResizeNewSpaceMode
strongprivate
Enumerator
kShrink 
kGrow 
kNone 

Definition at line 1805 of file heap.h.

◆ SweepingForcedFinalizationMode

enum class v8::internal::Heap::SweepingForcedFinalizationMode
strong
Enumerator
kUnifiedHeap 
kV8Only 

Definition at line 1545 of file heap.h.

◆ VerifyNoSlotsRecorded

enum class v8::internal::Heap::VerifyNoSlotsRecorded
strongprivate
Enumerator
kYes 
kNo 

Definition at line 1771 of file heap.h.

Constructor & Destructor Documentation

◆ Heap() [1/2]

v8::internal::Heap::Heap ( )
private

Definition at line 180 of file heap.cc.

Here is the call graph for this function:

◆ ~Heap()

v8::internal::Heap::~Heap ( )
privatedefault

◆ Heap() [2/2]

v8::internal::Heap::Heap ( const Heap & )
privatedelete

Member Function Documentation

◆ ActivateMemoryReducerIfNeeded()

void v8::internal::Heap::ActivateMemoryReducerIfNeeded ( )

Definition at line 3778 of file heap.cc.

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

◆ ActivateMemoryReducerIfNeededOnMainThread()

void v8::internal::Heap::ActivateMemoryReducerIfNeededOnMainThread ( )
private

Definition at line 3785 of file heap.cc.

Here is the call graph for this function:

◆ AddAllocationObserversToAllSpaces()

void v8::internal::Heap::AddAllocationObserversToAllSpaces ( AllocationObserver * observer,
AllocationObserver * new_space_observer )

Definition at line 1018 of file heap.cc.

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

◆ AddGCEpilogueCallback()

void v8::internal::Heap::AddGCEpilogueCallback ( v8::Isolate::GCCallbackWithData callback,
GCType gc_type_filter,
void * data )

Definition at line 6247 of file heap.cc.

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

◆ AddGCPrologueCallback()

void v8::internal::Heap::AddGCPrologueCallback ( v8::Isolate::GCCallbackWithData callback,
GCType gc_type_filter,
void * data )

Definition at line 6236 of file heap.cc.

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

◆ AddHeapObjectAllocationTracker()

void v8::internal::Heap::AddHeapObjectAllocationTracker ( HeapObjectAllocationTracker * tracker)

Definition at line 915 of file heap.cc.

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

◆ AddNearHeapLimitCallback()

void v8::internal::Heap::AddNearHeapLimitCallback ( v8::NearHeapLimitCallback callback,
void * data )

Definition at line 4220 of file heap.cc.

Here is the caller graph for this function:

◆ AddRetainedMaps()

void v8::internal::Heap::AddRetainedMaps ( DirectHandle< NativeContext > context,
GlobalHandleVector< Map > maps )

Definition at line 6322 of file heap.cc.

Here is the call graph for this function:

◆ AddToRingBuffer()

void v8::internal::Heap::AddToRingBuffer ( const char * string)
private

Definition at line 5100 of file heap.cc.

◆ AlignWithFillerBackground()

Tagged< HeapObject > v8::internal::Heap::AlignWithFillerBackground ( Tagged< HeapObject > object,
int object_size,
int allocation_size,
AllocationAlignment alignment )

Definition at line 3042 of file heap.cc.

Here is the call graph for this function:

◆ Allocate()

AllocationResult v8::internal::Heap::Allocate ( DirectHandle< Map > map,
AllocationType allocation )
private

Definition at line 327 of file setup-heap-internal.cc.

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

◆ AllocatedExternalMemorySinceMarkCompact()

uint64_t v8::internal::Heap::AllocatedExternalMemorySinceMarkCompact ( ) const

Definition at line 5248 of file heap.cc.

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

◆ AllocateExternalBackingStore()

void * v8::internal::Heap::AllocateExternalBackingStore ( const std::function< void *(size_t)> & allocate,
size_t byte_length )

Definition at line 3060 of file heap.cc.

Here is the call graph for this function:

◆ AllocateMap()

AllocationResult v8::internal::Heap::AllocateMap ( AllocationType allocation_type,
InstanceType instance_type,
int instance_size,
ElementsKind elements_kind = TERMINAL_FAST_ELEMENTS_KIND,
int inobject_properties = 0 )
private

Definition at line 256 of file setup-heap-internal.cc.

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

◆ AllocatePartialMap()

AllocationResult v8::internal::Heap::AllocatePartialMap ( InstanceType instance_type,
int instance_size )
private

Definition at line 304 of file setup-heap-internal.cc.

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

◆ AllocateRaw()

AllocationResult v8::internal::Heap::AllocateRaw ( int size_in_bytes,
AllocationType allocation,
AllocationOrigin origin = AllocationOrigin::kRuntime,
AllocationAlignment alignment = kTaggedAligned )
private

Definition at line 194 of file heap-inl.h.

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

◆ AllocateRawOrFail()

Address v8::internal::Heap::AllocateRawOrFail ( int size,
AllocationType allocation,
AllocationOrigin origin = AllocationOrigin::kRuntime,
AllocationAlignment alignment = kTaggedAligned )
inlineprivate

Definition at line 200 of file heap-inl.h.

Here is the call graph for this function:

◆ AllocateRawWith()

template<AllocationRetryMode mode>
V8_WARN_UNUSED_RESULT V8_INLINE Tagged< HeapObject > v8::internal::Heap::AllocateRawWith ( int size,
AllocationType allocation,
AllocationOrigin origin = AllocationOrigin::kRuntime,
AllocationAlignment alignment = kTaggedAligned )
private

◆ allocation_sites_list()

Tagged< UnionOf< Smi, Undefined, AllocationSiteWithWeakNext > > v8::internal::Heap::allocation_sites_list ( )
inline

Definition at line 471 of file heap.h.

Here is the caller graph for this function:

◆ allocation_sites_list_address()

Address v8::internal::Heap::allocation_sites_list_address ( )
inline

Definition at line 489 of file heap.h.

◆ allocation_type_for_in_place_internalizable_strings()

AllocationType v8::internal::Heap::allocation_type_for_in_place_internalizable_strings ( ) const
inlineprivate

Definition at line 2057 of file heap.h.

Here is the caller graph for this function:

◆ AllocationLimitOvershotByLargeMargin()

bool v8::internal::Heap::AllocationLimitOvershotByLargeMargin ( ) const

Definition at line 5252 of file heap.cc.

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

◆ allocator() [1/2]

HeapAllocator * v8::internal::Heap::allocator ( )
inline

Definition at line 1640 of file heap.h.

Here is the caller graph for this function:

◆ allocator() [2/2]

const HeapAllocator * v8::internal::Heap::allocator ( ) const
inline

Definition at line 1641 of file heap.h.

◆ AllocatorLimitOnMaxOldGenerationSize()

size_t v8::internal::Heap::AllocatorLimitOnMaxOldGenerationSize ( )
static

Definition at line 280 of file heap.cc.

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

◆ AllowedToBeMigrated()

bool v8::internal::Heap::AllowedToBeMigrated ( Tagged< Map > map,
Tagged< HeapObject > object,
AllocationSpace dest )

Definition at line 7031 of file heap.cc.

Here is the call graph for this function:

◆ always_allocate()

bool v8::internal::Heap::always_allocate ( ) const
inlineprivate

Definition at line 1957 of file heap.h.

Here is the caller graph for this function:

◆ AppendArrayBufferExtension()

void v8::internal::Heap::AppendArrayBufferExtension ( ArrayBufferExtension * extension)

Definition at line 4244 of file heap.cc.

◆ array_buffer_sweeper()

ArrayBufferSweeper * v8::internal::Heap::array_buffer_sweeper ( )
inline

Definition at line 823 of file heap.h.

Here is the caller graph for this function:

◆ AsHeap()

Heap * v8::internal::Heap::AsHeap ( )
inline

Definition at line 844 of file heap.h.

◆ AttachCppHeap()

void v8::internal::Heap::AttachCppHeap ( v8::CppHeap * cpp_heap)
private

Definition at line 6036 of file heap.cc.

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

◆ AutomaticallyRestoreInitialHeapLimit()

void v8::internal::Heap::AutomaticallyRestoreInitialHeapLimit ( double threshold_percent)

Definition at line 4260 of file heap.cc.

Here is the caller graph for this function:

◆ Available()

size_t v8::internal::Heap::Available ( )

Definition at line 402 of file heap.cc.

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

◆ backing_store_bytes()

uint64_t v8::internal::Heap::backing_store_bytes ( ) const
inline

Definition at line 625 of file heap.h.

Here is the caller graph for this function:

◆ CallGCEpilogueCallbacks()

void v8::internal::Heap::CallGCEpilogueCallbacks ( GCType gc_type,
GCCallbackFlags flags,
GCTracer::Scope::ScopeId scope_id )

Definition at line 2594 of file heap.cc.

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

◆ CallGCPrologueCallbacks()

void v8::internal::Heap::CallGCPrologueCallbacks ( GCType gc_type,
GCCallbackFlags flags,
GCTracer::Scope::ScopeId scope_id )

Definition at line 2581 of file heap.cc.

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

◆ CanExpandOldGeneration()

bool v8::internal::Heap::CanExpandOldGeneration ( size_t size) const

Definition at line 415 of file heap.cc.

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

◆ CanMoveObjectStart()

bool v8::internal::Heap::CanMoveObjectStart ( Tagged< HeapObject > object)

Definition at line 3238 of file heap.cc.

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

◆ CanPromoteYoungAndExpandOldGeneration()

bool v8::internal::Heap::CanPromoteYoungAndExpandOldGeneration ( size_t size) const

Definition at line 428 of file heap.cc.

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

◆ CanSafepoint()

V8_INLINE bool v8::internal::Heap::CanSafepoint ( ) const
inline

Definition at line 643 of file heap.h.

Here is the caller graph for this function:

◆ CanShortcutStringsDuringGC()

bool v8::internal::Heap::CanShortcutStringsDuringGC ( GarbageCollector collector) const

Definition at line 530 of file heap.cc.

Here is the call graph for this function:

◆ Capacity()

size_t v8::internal::Heap::Capacity ( )

Definition at line 328 of file heap.cc.

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

◆ CheckCollectionRequested()

void v8::internal::Heap::CheckCollectionRequested ( )

Definition at line 2113 of file heap.cc.

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

◆ CheckHandleCount()

void v8::internal::Heap::CheckHandleCount ( )

Definition at line 6424 of file heap.cc.

Here is the caller graph for this function:

◆ CheckIneffectiveMarkCompact()

void v8::internal::Heap::CheckIneffectiveMarkCompact ( size_t old_generation_size,
double mutator_utilization )
private

Definition at line 3715 of file heap.cc.

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

◆ CheckMemoryPressure()

void v8::internal::Heap::CheckMemoryPressure ( )

Definition at line 4127 of file heap.cc.

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

◆ ClearKeptObjects()

void v8::internal::Heap::ClearKeptObjects ( )

Definition at line 6948 of file heap.cc.

Here is the caller graph for this function:

◆ ClearRecordedSlotRange()

void v8::internal::Heap::ClearRecordedSlotRange ( Address start,
Address end )

Definition at line 6450 of file heap.cc.

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

◆ code_lo_space()

CodeLargeObjectSpace * v8::internal::Heap::code_lo_space ( ) const
inline

Definition at line 735 of file heap.h.

Here is the caller graph for this function:

◆ code_range()

CodeRange * v8::internal::Heap::code_range ( )
inline

Definition at line 831 of file heap.h.

Here is the caller graph for this function:

◆ code_range_base()

Address v8::internal::Heap::code_range_base ( )
inline

Definition at line 181 of file heap-inl.h.

Here is the caller graph for this function:

◆ code_region()

const base::AddressRegion & v8::internal::Heap::code_region ( )
inline

Definition at line 176 of file heap-inl.h.

Here is the caller graph for this function:

◆ code_space()

CodeSpace * v8::internal::Heap::code_space ( ) const
inline

Definition at line 732 of file heap.h.

Here is the caller graph for this function:

◆ CollectAllAvailableGarbage()

void v8::internal::Heap::CollectAllAvailableGarbage ( GarbageCollectionReason gc_reason)

Definition at line 1327 of file heap.cc.

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

◆ CollectAllGarbage()

void v8::internal::Heap::CollectAllGarbage ( GCFlags gc_flags,
GarbageCollectionReason gc_reason,
const GCCallbackFlags gc_callback_flags = kNoGCCallbackFlags )

Definition at line 1258 of file heap.cc.

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

◆ CollectCodeStatistics()

void v8::internal::Heap::CollectCodeStatistics ( )

Definition at line 4307 of file heap.cc.

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

◆ CollectGarbage()

void v8::internal::Heap::CollectGarbage ( AllocationSpace space,
GarbageCollectionReason gc_reason,
const GCCallbackFlags gc_callback_flags = kNoGCCallbackFlags )

Definition at line 1552 of file heap.cc.

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

◆ CollectGarbageForBackground()

void v8::internal::Heap::CollectGarbageForBackground ( LocalHeap * local_heap)

Definition at line 2106 of file heap.cc.

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

◆ CollectGarbageFromAnyThread()

bool v8::internal::Heap::CollectGarbageFromAnyThread ( LocalHeap * local_heap,
GarbageCollectionReason gc_reason = GarbageCollectionReason::kBackgroundAllocationFailure )

Definition at line 2372 of file heap.cc.

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

◆ CollectGarbageOnMemoryPressure()

void v8::internal::Heap::CollectGarbageOnMemoryPressure ( )
private

Definition at line 4149 of file heap.cc.

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

◆ CollectGarbageShared()

bool v8::internal::Heap::CollectGarbageShared ( LocalHeap * local_heap,
GarbageCollectionReason gc_reason )

Definition at line 2358 of file heap.cc.

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

◆ CollectionRequested()

bool v8::internal::Heap::CollectionRequested ( )

Definition at line 2102 of file heap.cc.

Here is the caller graph for this function:

◆ CommittedMemory()

size_t v8::internal::Heap::CommittedMemory ( )

Definition at line 366 of file heap.cc.

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

◆ CommittedMemoryExecutable()

size_t v8::internal::Heap::CommittedMemoryExecutable ( )

Definition at line 387 of file heap.cc.

Here is the call graph for this function:

◆ CommittedOldGenerationMemory()

size_t v8::internal::Heap::CommittedOldGenerationMemory ( )

Definition at line 350 of file heap.cc.

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

◆ CommittedPhysicalMemory()

size_t v8::internal::Heap::CommittedPhysicalMemory ( )

Definition at line 376 of file heap.cc.

Here is the call graph for this function:

◆ CompactRetainedMaps()

void v8::internal::Heap::CompactRetainedMaps ( Tagged< WeakArrayList > retained_maps)
private

Definition at line 6358 of file heap.cc.

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

◆ CompactWeakArrayLists()

void v8::internal::Heap::CompactWeakArrayLists ( )

Definition at line 6289 of file heap.cc.

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

◆ CompleteSweepingFull()

void v8::internal::Heap::CompleteSweepingFull ( )

Definition at line 1963 of file heap.cc.

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

◆ CompleteSweepingYoung()

void v8::internal::Heap::CompleteSweepingYoung ( )

Definition at line 2397 of file heap.cc.

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

◆ ComputeMutatorUtilization()

double v8::internal::Heap::ComputeMutatorUtilization ( const char * tag,
double mutator_speed,
std::optional< double > gc_speed )
private

Definition at line 3658 of file heap.cc.

Here is the caller graph for this function:

◆ ComputeNewAllocationLimits()

Heap::LimitsCompuatationResult v8::internal::Heap::ComputeNewAllocationLimits ( Heap * heap)
staticprivate

Definition at line 2435 of file heap.cc.

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

◆ concurrent_marking()

ConcurrentMarking * v8::internal::Heap::concurrent_marking ( ) const
inline

Definition at line 1070 of file heap.h.

Here is the caller graph for this function:

◆ ConfigureHeap()

void v8::internal::Heap::ConfigureHeap ( const v8::ResourceConstraints & constraints,
v8::CppHeap * cpp_heap )

Definition at line 4917 of file heap.cc.

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

◆ ConfigureHeapDefault()

void v8::internal::Heap::ConfigureHeapDefault ( )

Definition at line 5122 of file heap.cc.

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

◆ Contains()

bool v8::internal::Heap::Contains ( Tagged< HeapObject > value) const

Definition at line 4341 of file heap.cc.

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

◆ ContainsCode()

bool v8::internal::Heap::ContainsCode ( Tagged< HeapObject > value) const

Definition at line 4364 of file heap.cc.

Here is the call graph for this function:

◆ CopyBlock()

void v8::internal::Heap::CopyBlock ( Address dst,
Address src,
int byte_size )
inlinestatic

Definition at line 288 of file heap-inl.h.

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

◆ CopyRange() [1/2]

template<typename TSlot >
void v8::internal::Heap::CopyRange ( Tagged< HeapObject > dst_object,
const TSlot dst_slot,
const TSlot src_slot,
int len,
WriteBarrierMode mode )

Definition at line 2072 of file heap.cc.

Here is the call graph for this function:

◆ CopyRange() [2/2]

template<typename TSlot >
template V8_EXPORT_PRIVATE void v8::internal::Heap::CopyRange< MaybeObjectSlot > ( Tagged< HeapObject > dst_object,
TSlot dst_slot,
TSlot src_slot,
int len,
WriteBarrierMode mode )

◆ cpp_heap()

v8::CppHeap * v8::internal::Heap::cpp_heap ( ) const
inline

Definition at line 1112 of file heap.h.

Here is the caller graph for this function:

◆ CreateDefaultMeasureMemoryDelegate()

std::unique_ptr< v8::MeasureMemoryDelegate > v8::internal::Heap::CreateDefaultMeasureMemoryDelegate ( v8::Local< v8::Context > context,
v8::Local< v8::Promise::Resolver > promise,
v8::MeasureMemoryMode mode )

Definition at line 4300 of file heap.cc.

Here is the caller graph for this function:

◆ CreateEarlyReadOnlyMapsAndObjects()

bool v8::internal::Heap::CreateEarlyReadOnlyMapsAndObjects ( )
private

Definition at line 342 of file setup-heap-internal.cc.

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

◆ CreateFillerObjectAt()

void v8::internal::Heap::CreateFillerObjectAt ( Address addr,
int size,
ClearFreedMemoryMode clear_memory_mode = ClearFreedMemoryMode::kDontClearFreedMemory )

Definition at line 3202 of file heap.cc.

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

◆ CreateFillerObjectAtBackground()

void v8::internal::Heap::CreateFillerObjectAtBackground ( const WritableFreeSpace & free_space)

Definition at line 3193 of file heap.cc.

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

◆ CreateFillerObjectAtRaw()

void v8::internal::Heap::CreateFillerObjectAtRaw ( const WritableFreeSpace & free_space,
ClearFreedMemoryMode clear_memory_mode,
ClearRecordedSlots clear_slots_mode,
VerifyNoSlotsRecorded verify_no_slots_recorded )
private

Definition at line 3220 of file heap.cc.

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

◆ CreateImportantReadOnlyObjects()

bool v8::internal::Heap::CreateImportantReadOnlyObjects ( )
private

Definition at line 898 of file setup-heap-internal.cc.

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

◆ CreateInitialMutableObjects()

void v8::internal::Heap::CreateInitialMutableObjects ( )
private

Definition at line 1353 of file setup-heap-internal.cc.

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

◆ CreateInternalAccessorInfoObjects()

void v8::internal::Heap::CreateInternalAccessorInfoObjects ( )
private

Definition at line 1682 of file setup-heap-internal.cc.

Here is the caller graph for this function:

◆ CreateLateReadOnlyJSReceiverMaps()

bool v8::internal::Heap::CreateLateReadOnlyJSReceiverMaps ( )
private

Definition at line 806 of file setup-heap-internal.cc.

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

◆ CreateLateReadOnlyNonJSReceiverMaps()

bool v8::internal::Heap::CreateLateReadOnlyNonJSReceiverMaps ( )
private

Definition at line 711 of file setup-heap-internal.cc.

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

◆ CreateMutableApiObjects()

void v8::internal::Heap::CreateMutableApiObjects ( )

Definition at line 1337 of file setup-heap-internal.cc.

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

◆ CreateMutableHeapObjects()

bool v8::internal::Heap::CreateMutableHeapObjects ( )

Definition at line 233 of file setup-heap-internal.cc.

Here is the call graph for this function:

◆ CreateObjectStats()

void v8::internal::Heap::CreateObjectStats ( )

Definition at line 7080 of file heap.cc.

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

◆ CreateReadOnlyApiObjects()

void v8::internal::Heap::CreateReadOnlyApiObjects ( )

Definition at line 1342 of file setup-heap-internal.cc.

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

◆ CreateReadOnlyHeapObjects()

bool v8::internal::Heap::CreateReadOnlyHeapObjects ( )

Definition at line 197 of file setup-heap-internal.cc.

Here is the call graph for this function:

◆ CreateReadOnlyObjects()

bool v8::internal::Heap::CreateReadOnlyObjects ( )
private

Definition at line 1016 of file setup-heap-internal.cc.

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

◆ current_or_last_garbage_collector()

GarbageCollector v8::internal::Heap::current_or_last_garbage_collector ( ) const
inline

Definition at line 1355 of file heap.h.

◆ CurrentHeapGrowingMode()

Heap::HeapGrowingMode v8::internal::Heap::CurrentHeapGrowingMode ( )
private

Definition at line 5380 of file heap.cc.

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

◆ DeactivateMajorGCInProgressFlag()

void v8::internal::Heap::DeactivateMajorGCInProgressFlag ( )

Definition at line 3610 of file heap.cc.

Here is the call graph for this function:

◆ DecrementExternalBackingStoreBytes()

void v8::internal::Heap::DecrementExternalBackingStoreBytes ( ExternalBackingStoreType type,
size_t amount )
inlineprivate

Definition at line 418 of file heap-inl.h.

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

◆ DefaultMaxSemiSpaceSize()

size_t v8::internal::Heap::DefaultMaxSemiSpaceSize ( )
static

Definition at line 4880 of file heap.cc.

Here is the caller graph for this function:

◆ DefaultMinSemiSpaceSize()

size_t v8::internal::Heap::DefaultMinSemiSpaceSize ( )
static

Definition at line 4867 of file heap.cc.

Here is the caller graph for this function:

◆ DeoptMarkedAllocationSites()

void v8::internal::Heap::DeoptMarkedAllocationSites ( )

Definition at line 1035 of file heap.cc.

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

◆ DequeueDirtyJSFinalizationRegistry()

MaybeDirectHandle< JSFinalizationRegistry > v8::internal::Heap::DequeueDirtyJSFinalizationRegistry ( )

Definition at line 6881 of file heap.cc.

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

◆ deserialization_complete()

bool v8::internal::Heap::deserialization_complete ( ) const
inline

Definition at line 638 of file heap.h.

Here is the caller graph for this function:

◆ DetachArrayBufferExtension()

void v8::internal::Heap::DetachArrayBufferExtension ( ArrayBufferExtension * extension)

Definition at line 4255 of file heap.cc.

◆ dirty_js_finalization_registries_list()

Tagged< Object > v8::internal::Heap::dirty_js_finalization_registries_list ( )
inline

Definition at line 478 of file heap.h.

Here is the caller graph for this function:

◆ dirty_js_finalization_registries_list_tail()

Tagged< Object > v8::internal::Heap::dirty_js_finalization_registries_list_tail ( )
inline

Definition at line 484 of file heap.h.

Here is the caller graph for this function:

◆ DisableInlineAllocation()

void v8::internal::Heap::DisableInlineAllocation ( )

Definition at line 5540 of file heap.cc.

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

◆ DumpJSONHeapStatistics()

void v8::internal::Heap::DumpJSONHeapStatistics ( std::stringstream & stream)

Definition at line 748 of file heap.cc.

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

◆ EagerlyFreeExternalMemoryAndWasmCode()

void v8::internal::Heap::EagerlyFreeExternalMemoryAndWasmCode ( )
private

Definition at line 4206 of file heap.cc.

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

◆ EmbedderAllocationCounter()

size_t v8::internal::Heap::EmbedderAllocationCounter ( ) const

Definition at line 7076 of file heap.cc.

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

◆ EmbedderSizeOfObjects()

size_t v8::internal::Heap::EmbedderSizeOfObjects ( ) const

Definition at line 5221 of file heap.cc.

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

◆ EnableInlineAllocation()

void v8::internal::Heap::EnableInlineAllocation ( )

Definition at line 5538 of file heap.cc.

Here is the caller graph for this function:

◆ EnqueueDirtyJSFinalizationRegistry()

void v8::internal::Heap::EnqueueDirtyJSFinalizationRegistry ( Tagged< JSFinalizationRegistry > finalization_registry,
std::function< void(Tagged< HeapObject > object, ObjectSlot slot, Tagged< Object > target)> gc_notify_updated_slot )

Definition at line 6851 of file heap.cc.

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

◆ EnsureQuarantinedPagesSweepingCompleted()

void v8::internal::Heap::EnsureQuarantinedPagesSweepingCompleted ( )

Definition at line 7349 of file heap.cc.

Here is the caller graph for this function:

◆ EnsureSweepingCompleted()

void v8::internal::Heap::EnsureSweepingCompleted ( SweepingForcedFinalizationMode mode)

Definition at line 7275 of file heap.cc.

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

◆ EnsureSweepingCompletedForObject()

void v8::internal::Heap::EnsureSweepingCompletedForObject ( Tagged< HeapObject > object)

Definition at line 2417 of file heap.cc.

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

◆ EnsureYoungSweepingCompleted()

void v8::internal::Heap::EnsureYoungSweepingCompleted ( )

Definition at line 7356 of file heap.cc.

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

◆ ephemeron_remembered_set()

EphemeronRememberedSet * v8::internal::Heap::ephemeron_remembered_set ( )
inline

Definition at line 362 of file heap.h.

Here is the caller graph for this function:

◆ EvaluateOldSpaceLocalPretenuring()

void v8::internal::Heap::EvaluateOldSpaceLocalPretenuring ( uint64_t size_of_objects_before_gc)
private

Definition at line 2966 of file heap.cc.

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

◆ ExpandNewSpaceSize()

void v8::internal::Heap::ExpandNewSpaceSize ( )
private

Definition at line 3863 of file heap.cc.

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

◆ ExpandNewSpaceSizeForTesting()

void v8::internal::Heap::ExpandNewSpaceSizeForTesting ( )

Definition at line 3861 of file heap.cc.

Here is the call graph for this function:

◆ external_memory()

uint64_t v8::internal::Heap::external_memory ( ) const

Definition at line 67 of file heap-inl.h.

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

◆ external_memory_hard_limit()

uint64_t v8::internal::Heap::external_memory_hard_limit ( )
inline

Definition at line 612 of file heap.h.

Here is the caller graph for this function:

◆ external_memory_limit_for_interrupt()

uint64_t v8::internal::Heap::external_memory_limit_for_interrupt ( )

Definition at line 1471 of file heap.cc.

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

◆ external_memory_soft_limit()

uint64_t v8::internal::Heap::external_memory_soft_limit ( )

Definition at line 1475 of file heap.cc.

Here is the call graph for this function:

◆ FatalProcessOutOfMemory()

void v8::internal::Heap::FatalProcessOutOfMemory ( const char * location)

Definition at line 6385 of file heap.cc.

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

◆ FinalizeExternalString()

void v8::internal::Heap::FinalizeExternalString ( Tagged< String > string)
inline

Definition at line 215 of file heap-inl.h.

Here is the call graph for this function:

◆ FinalizeIncrementalMarkingAtomically()

void v8::internal::Heap::FinalizeIncrementalMarkingAtomically ( GarbageCollectionReason gc_reason)

Definition at line 3912 of file heap.cc.

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

◆ FinalizeIncrementalMarkingAtomicallyIfRunning()

void v8::internal::Heap::FinalizeIncrementalMarkingAtomicallyIfRunning ( GarbageCollectionReason gc_reason)

Definition at line 3918 of file heap.cc.

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

◆ FinalizePartialMap()

void v8::internal::Heap::FinalizePartialMap ( Tagged< Map > map)
private

Definition at line 318 of file setup-heap-internal.cc.

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

◆ FindAllNativeContexts()

std::vector< Handle< NativeContext > > v8::internal::Heap::FindAllNativeContexts ( )
private

Definition at line 7004 of file heap.cc.

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

◆ FindAllRetainedMaps()

std::vector< Tagged< WeakArrayList > > v8::internal::Heap::FindAllRetainedMaps ( )
private

Definition at line 7015 of file heap.cc.

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

◆ FindCodeForInnerPointer()

Tagged< Code > v8::internal::Heap::FindCodeForInnerPointer ( Address inner_pointer)

Definition at line 7153 of file heap.cc.

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

◆ FinishSweepingIfOutOfWork()

void v8::internal::Heap::FinishSweepingIfOutOfWork ( )

Definition at line 7257 of file heap.cc.

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

◆ FlushNumberStringCache()

void v8::internal::Heap::FlushNumberStringCache ( )
private

Definition at line 3122 of file heap.cc.

Here is the caller graph for this function:

◆ force_oom()

bool v8::internal::Heap::force_oom ( ) const
inline

Definition at line 532 of file heap.h.

◆ ForeachAllocationSite()

void v8::internal::Heap::ForeachAllocationSite ( Tagged< Object > list,
const std::function< void(Tagged< AllocationSite >)> & visitor )

Definition at line 2929 of file heap.cc.

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

◆ FreeLinearAllocationAreas()

void v8::internal::Heap::FreeLinearAllocationAreas ( )

Definition at line 3535 of file heap.cc.

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

◆ FreeMainThreadLinearAllocationAreas()

void v8::internal::Heap::FreeMainThreadLinearAllocationAreas ( )

Definition at line 3547 of file heap.cc.

Here is the caller graph for this function:

◆ FreeSharedLinearAllocationAreasAndResetFreeLists()

void v8::internal::Heap::FreeSharedLinearAllocationAreasAndResetFreeLists ( )
private

Definition at line 3570 of file heap.cc.

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

◆ FRIEND_TEST() [1/2]

v8::internal::Heap::FRIEND_TEST ( SpacesTest ,
AllocationObserver  )
private

◆ FRIEND_TEST() [2/2]

v8::internal::Heap::FRIEND_TEST ( SpacesTest ,
InlineAllocationObserverCadence  )
private

◆ FromWritableHeapObject()

Heap * v8::internal::Heap::FromWritableHeapObject ( Tagged< HeapObject > obj)
inlinestatic

Definition at line 277 of file heap-inl.h.

Here is the call graph for this function:

◆ GarbageCollectionEpilogue()

void v8::internal::Heap::GarbageCollectionEpilogue ( GarbageCollector collector)
private

Definition at line 1154 of file heap.cc.

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

◆ GarbageCollectionEpilogueInSafepoint()

void v8::internal::Heap::GarbageCollectionEpilogueInSafepoint ( GarbageCollector collector)
private

Definition at line 1065 of file heap.cc.

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

◆ GarbageCollectionPrologue()

void v8::internal::Heap::GarbageCollectionPrologue ( GarbageCollectionReason gc_reason,
const v8::GCCallbackFlags gc_callback_flags )
private

Definition at line 945 of file heap.cc.

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

◆ GarbageCollectionPrologueInSafepoint()

void v8::internal::Heap::GarbageCollectionPrologueInSafepoint ( )
private

Definition at line 984 of file heap.cc.

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

◆ gc_count()

int v8::internal::Heap::gc_count ( ) const
inline

Definition at line 1351 of file heap.h.

Here is the caller graph for this function:

◆ gc_state()

HeapState v8::internal::Heap::gc_state ( ) const
inline

Definition at line 521 of file heap.h.

Here is the caller graph for this function:

◆ GCFlagsForIncrementalMarking()

GCFlags v8::internal::Heap::GCFlagsForIncrementalMarking ( )
inline

Definition at line 1030 of file heap.h.

Here is the caller graph for this function:

◆ GcSafeFindCodeForInnerPointer()

Tagged< GcSafeCode > v8::internal::Heap::GcSafeFindCodeForInnerPointer ( Address inner_pointer)

Definition at line 7157 of file heap.cc.

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

◆ GcSafeGetCodeFromInstructionStream()

Tagged< GcSafeCode > v8::internal::Heap::GcSafeGetCodeFromInstructionStream ( Tagged< HeapObject > instruction_stream,
Address inner_pointer )
private

Definition at line 7099 of file heap.cc.

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

◆ GcSafeInstructionStreamContains()

bool v8::internal::Heap::GcSafeInstructionStreamContains ( Tagged< InstructionStream > instruction_stream,
Address addr )

Definition at line 7108 of file heap.cc.

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

◆ GcSafeMapOfHeapObject()

Tagged< Map > v8::internal::Heap::GcSafeMapOfHeapObject ( Tagged< HeapObject > object)
private

Definition at line 7090 of file heap.cc.

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

◆ GcSafeTryFindCodeForInnerPointer()

std::optional< Tagged< GcSafeCode > > v8::internal::Heap::GcSafeTryFindCodeForInnerPointer ( Address inner_pointer)

Definition at line 7138 of file heap.cc.

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

◆ GcSafeTryFindInstructionStreamForInnerPointer()

std::optional< Tagged< InstructionStream > > v8::internal::Heap::GcSafeTryFindInstructionStreamForInnerPointer ( Address inner_pointer)

Definition at line 7128 of file heap.cc.

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

◆ GenerationSizesFromHeapSize()

void v8::internal::Heap::GenerationSizesFromHeapSize ( size_t heap_size,
size_t * young_generation_size,
size_t * old_generation_size )
static

Definition at line 246 of file heap.cc.

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

◆ GetCodeRangeReservedAreaSize()

size_t v8::internal::Heap::GetCodeRangeReservedAreaSize ( )
static

Definition at line 3025 of file heap.cc.

Here is the call graph for this function:

◆ GetEmbedderRootsHandler()

EmbedderRootsHandler * v8::internal::Heap::GetEmbedderRootsHandler ( ) const

Definition at line 6032 of file heap.cc.

Here is the caller graph for this function:

◆ GetFillToAlign()

int v8::internal::Heap::GetFillToAlign ( Address address,
AllocationAlignment alignment )
static

Definition at line 3015 of file heap.cc.

Here is the caller graph for this function:

◆ GetForegroundTaskRunner()

std::shared_ptr< v8::TaskRunner > v8::internal::Heap::GetForegroundTaskRunner ( TaskPriority priority = TaskPriority::kUserBlocking) const

Definition at line 5903 of file heap.cc.

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

◆ GetFromRingBuffer()

void v8::internal::Heap::GetFromRingBuffer ( char * buffer)
private

Definition at line 5113 of file heap.cc.

Here is the caller graph for this function:

◆ GetMaximumFillToAlign()

int v8::internal::Heap::GetMaximumFillToAlign ( AllocationAlignment alignment)
static

Definition at line 3001 of file heap.cc.

Here is the call graph for this function:

◆ GetNextTemplateSerialNumber()

uint32_t v8::internal::Heap::GetNextTemplateSerialNumber ( )
inline

Definition at line 382 of file heap-inl.h.

Here is the call graph for this function:

◆ GetObjectTypeName()

bool v8::internal::Heap::GetObjectTypeName ( size_t index,
const char ** object_type,
const char ** object_sub_type )

Definition at line 6968 of file heap.cc.

◆ GetRandomMmapAddr()

void * v8::internal::Heap::GetRandomMmapAddr ( )
inline

Definition at line 1572 of file heap.h.

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

◆ global_allocation_limit()

size_t v8::internal::Heap::global_allocation_limit ( ) const
inlineprivate

Definition at line 1928 of file heap.h.

Here is the caller graph for this function:

◆ GlobalConsumedBytes()

size_t v8::internal::Heap::GlobalConsumedBytes ( ) const

Definition at line 5233 of file heap.cc.

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

◆ GlobalConsumedBytesAtLastGC()

size_t v8::internal::Heap::GlobalConsumedBytesAtLastGC ( ) const

Definition at line 5241 of file heap.cc.

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

◆ GlobalMemoryAvailable()

size_t v8::internal::Heap::GlobalMemoryAvailable ( )
private

Definition at line 5396 of file heap.cc.

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

◆ GlobalSizeOfObjects()

size_t v8::internal::Heap::GlobalSizeOfObjects ( ) const

Definition at line 5225 of file heap.cc.

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

◆ GlobalWastedBytes()

size_t v8::internal::Heap::GlobalWastedBytes ( ) const

Definition at line 5231 of file heap.cc.

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

◆ HandleExternalMemoryInterrupt()

void v8::internal::Heap::HandleExternalMemoryInterrupt ( )

Definition at line 1418 of file heap.cc.

Here is the call graph for this function:

◆ HandleGCRequest()

void v8::internal::Heap::HandleGCRequest ( )

Definition at line 1196 of file heap.cc.

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

◆ has_heap_object_allocation_tracker()

bool v8::internal::Heap::has_heap_object_allocation_tracker ( ) const
inline

Definition at line 1503 of file heap.h.

Here is the caller graph for this function:

◆ HasBeenSetUp()

bool v8::internal::Heap::HasBeenSetUp ( ) const

Definition at line 451 of file heap.cc.

Here is the caller graph for this function:

◆ HasDirtyJSFinalizationRegistries()

bool v8::internal::Heap::HasDirtyJSFinalizationRegistries ( )

Definition at line 6836 of file heap.cc.

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

◆ HasHighFragmentation()

bool v8::internal::Heap::HasHighFragmentation ( )

Definition at line 3737 of file heap.cc.

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

◆ HasLowAllocationRate()

bool v8::internal::Heap::HasLowAllocationRate ( )

Definition at line 3697 of file heap.cc.

Here is the call graph for this function:

◆ HasLowEmbedderAllocationRate()

bool v8::internal::Heap::HasLowEmbedderAllocationRate ( )
private

Definition at line 3689 of file heap.cc.

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

◆ HasLowOldGenerationAllocationRate()

bool v8::internal::Heap::HasLowOldGenerationAllocationRate ( )
private

Definition at line 3680 of file heap.cc.

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

◆ HasLowYoungGenerationAllocationRate()

bool v8::internal::Heap::HasLowYoungGenerationAllocationRate ( )
private

Definition at line 3670 of file heap.cc.

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

◆ heap_expansion_mutex()

base::Mutex * v8::internal::Heap::heap_expansion_mutex ( )
inline

Definition at line 1263 of file heap.h.

Here is the caller graph for this function:

◆ heap_profiler()

HeapProfiler * v8::internal::Heap::heap_profiler ( ) const
inline

Definition at line 366 of file heap.h.

Here is the caller graph for this function:

◆ HeapSizeFromPhysicalMemory()

size_t v8::internal::Heap::HeapSizeFromPhysicalMemory ( uint64_t physical_memory)
static

Definition at line 229 of file heap.cc.

Here is the call graph for this function:

◆ HighMemoryPressure()

bool v8::internal::Heap::HighMemoryPressure ( )
inline

Definition at line 655 of file heap.h.

Here is the caller graph for this function:

◆ ignore_local_gc_requests()

bool v8::internal::Heap::ignore_local_gc_requests ( ) const
inline

Definition at line 534 of file heap.h.

◆ incremental_marking()

IncrementalMarking * v8::internal::Heap::incremental_marking ( ) const
inline

Definition at line 1062 of file heap.h.

Here is the caller graph for this function:

◆ IncrementalMarkingLimitReached()

Heap::IncrementalMarkingLimit v8::internal::Heap::IncrementalMarkingLimitReached ( )
private

Definition at line 5442 of file heap.cc.

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

◆ IncrementDeferredCounts()

void v8::internal::Heap::IncrementDeferredCounts ( base::Vector< const v8::Isolate::UseCounterFeature > features)

Definition at line 939 of file heap.cc.

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

◆ IncrementExternalBackingStoreBytes()

void v8::internal::Heap::IncrementExternalBackingStoreBytes ( ExternalBackingStoreType type,
size_t amount )
inlineprivate

Definition at line 410 of file heap-inl.h.

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

◆ IncrementNewSpaceSurvivingObjectSize()

void v8::internal::Heap::IncrementNewSpaceSurvivingObjectSize ( size_t object_size)
inline

Definition at line 1305 of file heap.h.

Here is the caller graph for this function:

◆ IncrementNodesCopiedInNewSpace()

void v8::internal::Heap::IncrementNodesCopiedInNewSpace ( )
inline

Definition at line 1320 of file heap.h.

◆ IncrementNodesDiedInNewSpace()

void v8::internal::Heap::IncrementNodesDiedInNewSpace ( int count)
inline

Definition at line 1316 of file heap.h.

◆ IncrementNodesPromoted()

void v8::internal::Heap::IncrementNodesPromoted ( )
inline

Definition at line 1322 of file heap.h.

◆ IncrementPromotedObjectsSize()

void v8::internal::Heap::IncrementPromotedObjectsSize ( size_t object_size)
inline

Definition at line 1300 of file heap.h.

Here is the caller graph for this function:

◆ IncrementYoungSurvivorsCounter()

void v8::internal::Heap::IncrementYoungSurvivorsCounter ( size_t survived)
inline

Definition at line 1324 of file heap.h.

Here is the caller graph for this function:

◆ InFromPage() [1/3]

bool v8::internal::Heap::InFromPage ( Tagged< HeapObject > heap_object)
inlinestatic

Definition at line 250 of file heap-inl.h.

Here is the call graph for this function:

◆ InFromPage() [2/3]

bool v8::internal::Heap::InFromPage ( Tagged< MaybeObject > object)
inlinestatic

Definition at line 244 of file heap-inl.h.

Here is the call graph for this function:

◆ InFromPage() [3/3]

bool v8::internal::Heap::InFromPage ( Tagged< Object > object)
inlinestatic

Definition at line 238 of file heap-inl.h.

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

◆ InitializeHashSeed()

void v8::internal::Heap::InitializeHashSeed ( )

Definition at line 5889 of file heap.cc.

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

◆ InitializeMainThreadLocalHeap()

void v8::internal::Heap::InitializeMainThreadLocalHeap ( LocalHeap * main_thread_local_heap)

◆ InitializeOncePerProcess()

void v8::internal::Heap::InitializeOncePerProcess ( )
static

Definition at line 5910 of file heap.cc.

Here is the call graph for this function:

◆ InitialSemiSpaceSize()

size_t v8::internal::Heap::InitialSemiSpaceSize ( )
inline

Definition at line 1234 of file heap.h.

◆ InOldSpace()

bool v8::internal::Heap::InOldSpace ( Tagged< Object > object)
inline

Definition at line 271 of file heap-inl.h.

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

◆ InsertIntoRememberedSetFromCode()

int v8::internal::Heap::InsertIntoRememberedSetFromCode ( MutablePageMetadata * chunk,
size_t slot_offset )
static

Definition at line 6430 of file heap.cc.

Here is the call graph for this function:

◆ InSpace()

bool v8::internal::Heap::InSpace ( Tagged< HeapObject > value,
AllocationSpace space ) const

Definition at line 4394 of file heap.cc.

Here is the call graph for this function:

◆ InSpaceSlow()

bool v8::internal::Heap::InSpaceSlow ( Address addr,
AllocationSpace space ) const

Definition at line 4433 of file heap.cc.

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

◆ InToPage() [1/3]

bool v8::internal::Heap::InToPage ( Tagged< HeapObject > heap_object)
inlinestatic

Definition at line 267 of file heap-inl.h.

Here is the call graph for this function:

◆ InToPage() [2/3]

bool v8::internal::Heap::InToPage ( Tagged< MaybeObject > object)
inlinestatic

Definition at line 261 of file heap-inl.h.

Here is the call graph for this function:

◆ InToPage() [3/3]

bool v8::internal::Heap::InToPage ( Tagged< Object > object)
inlinestatic

Definition at line 255 of file heap-inl.h.

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

◆ InvokeIncrementalMarkingEpilogueCallbacks()

void v8::internal::Heap::InvokeIncrementalMarkingEpilogueCallbacks ( )
private

Definition at line 3932 of file heap.cc.

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

◆ InvokeIncrementalMarkingPrologueCallbacks()

void v8::internal::Heap::InvokeIncrementalMarkingPrologueCallbacks ( )
private

Definition at line 3925 of file heap.cc.

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

◆ InvokeNearHeapLimitCallback()

bool v8::internal::Heap::InvokeNearHeapLimitCallback ( )
private

Definition at line 4265 of file heap.cc.

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

◆ is_current_gc_forced()

bool v8::internal::Heap::is_current_gc_forced ( ) const
inline

Definition at line 1353 of file heap.h.

◆ is_finalization_registry_cleanup_task_posted()

bool v8::internal::Heap::is_finalization_registry_cleanup_task_posted ( )
inline

Definition at line 905 of file heap.h.

◆ IsAllocationObserverActive()

bool v8::internal::Heap::IsAllocationObserverActive ( ) const
inline

Definition at line 538 of file heap.h.

◆ IsFreeSpaceValid()

bool v8::internal::Heap::IsFreeSpaceValid ( FreeSpace object)
static

Definition at line 6226 of file heap.cc.

Here is the call graph for this function:

◆ IsGCWithMainThreadStack()

bool v8::internal::Heap::IsGCWithMainThreadStack ( ) const

Definition at line 522 of file heap.cc.

Here is the caller graph for this function:

◆ IsGCWithStack()

bool v8::internal::Heap::IsGCWithStack ( ) const

Definition at line 526 of file heap.cc.

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

◆ IsImmovable()

bool v8::internal::Heap::IsImmovable ( Tagged< HeapObject > object)

Definition at line 3276 of file heap.cc.

Here is the call graph for this function:

◆ IsIneffectiveMarkCompact()

bool v8::internal::Heap::IsIneffectiveMarkCompact ( size_t old_generation_size,
double mutator_utilization )
private

Definition at line 3702 of file heap.cc.

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

◆ IsInGC()

bool v8::internal::Heap::IsInGC ( ) const
inline

Definition at line 526 of file heap.h.

Here is the caller graph for this function:

◆ IsInlineAllocationEnabled()

bool v8::internal::Heap::IsInlineAllocationEnabled ( ) const
inline

Definition at line 1629 of file heap.h.

◆ IsLargeObject()

bool v8::internal::Heap::IsLargeObject ( Tagged< HeapObject > object)
static

Definition at line 3281 of file heap.cc.

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

◆ IsLastResortGC()

bool v8::internal::Heap::IsLastResortGC ( )
inline

Definition at line 1619 of file heap.h.

◆ IsMainThread()

bool v8::internal::Heap::IsMainThread ( ) const
inline

Definition at line 63 of file heap-inl.h.

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

◆ IsMarkingFlagAddress()

uint8_t * v8::internal::Heap::IsMarkingFlagAddress ( )

Definition at line 7194 of file heap.cc.

◆ IsMinorMarkingFlagAddress()

uint8_t * v8::internal::Heap::IsMinorMarkingFlagAddress ( )

Definition at line 7202 of file heap.cc.

◆ IsNewSpaceAllowedToGrowAboveTargetCapacity()

bool v8::internal::Heap::IsNewSpaceAllowedToGrowAboveTargetCapacity ( ) const

Definition at line 5375 of file heap.cc.

Here is the call graph for this function:

◆ isolate()

Isolate * v8::internal::Heap::isolate ( ) const
inline

Definition at line 61 of file heap-inl.h.

Here is the call graph for this function:

◆ IsOldGenerationExpansionAllowed()

bool v8::internal::Heap::IsOldGenerationExpansionAllowed ( size_t size,
const base::MutexGuard & expansion_mutex_witness ) const

Definition at line 423 of file heap.cc.

Here is the call graph for this function:

◆ IsPendingAllocation() [1/2]

bool v8::internal::Heap::IsPendingAllocation ( Tagged< HeapObject > object)
inline

Definition at line 344 of file heap-inl.h.

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

◆ IsPendingAllocation() [2/2]

bool v8::internal::Heap::IsPendingAllocation ( Tagged< Object > object)
inline

Definition at line 353 of file heap-inl.h.

Here is the call graph for this function:

◆ IsPendingAllocationInternal()

bool v8::internal::Heap::IsPendingAllocationInternal ( Tagged< HeapObject > object)
inlineprivate

Definition at line 293 of file heap-inl.h.

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

◆ IsRegularObjectAllocation()

static bool v8::internal::Heap::IsRegularObjectAllocation ( AllocationType allocation)
inlinestaticprivate

Definition at line 1721 of file heap.h.

◆ IsStressingScavenge()

bool v8::internal::Heap::IsStressingScavenge ( )
private

Definition at line 7186 of file heap.cc.

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

◆ IsTearingDown()

bool v8::internal::Heap::IsTearingDown ( ) const
inline

Definition at line 525 of file heap.h.

Here is the caller graph for this function:

◆ IsValidAllocationSpace()

bool v8::internal::Heap::IsValidAllocationSpace ( AllocationSpace space)
static

Definition at line 4471 of file heap.cc.

◆ IsYoungGenerationCollector()

static bool v8::internal::Heap::IsYoungGenerationCollector ( GarbageCollector collector)
inlinestatic

Definition at line 346 of file heap.h.

Here is the caller graph for this function:

◆ IterateBuiltins()

void v8::internal::Heap::IterateBuiltins ( RootVisitor * v)

Definition at line 4816 of file heap.cc.

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

◆ IterateConservativeStackRoots() [1/2]

void v8::internal::Heap::IterateConservativeStackRoots ( ::heap::base::StackVisitor * stack_visitor)

Definition at line 4851 of file heap.cc.

Here is the call graph for this function:

◆ IterateConservativeStackRoots() [2/2]

void v8::internal::Heap::IterateConservativeStackRoots ( RootVisitor * root_visitor,
IterateRootsMode roots_mode = IterateRootsMode::kMainIsolate )

Definition at line 4836 of file heap.cc.

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

◆ IterateRoots()

void v8::internal::Heap::IterateRoots ( RootVisitor * v,
base::EnumSet< SkipRoot > options,
IterateRootsMode roots_mode = IterateRootsMode::kMainIsolate )

Definition at line 4657 of file heap.cc.

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

◆ IterateRootsForPrecisePinning()

void v8::internal::Heap::IterateRootsForPrecisePinning ( RootVisitor * visitor)

Definition at line 4861 of file heap.cc.

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

◆ IterateRootsIncludingClients()

void v8::internal::Heap::IterateRootsIncludingClients ( RootVisitor * v,
base::EnumSet< SkipRoot > options )

Definition at line 4797 of file heap.cc.

Here is the call graph for this function:

◆ IterateSmiRoots()

void v8::internal::Heap::IterateSmiRoots ( RootVisitor * v)

Definition at line 4571 of file heap.cc.

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

◆ IterateStackRoots()

void v8::internal::Heap::IterateStackRoots ( RootVisitor * v)

Definition at line 4834 of file heap.cc.

Here is the caller graph for this function:

◆ IterateWeakGlobalHandles()

void v8::internal::Heap::IterateWeakGlobalHandles ( RootVisitor * v)

Definition at line 4811 of file heap.cc.

Here is the caller graph for this function:

◆ IterateWeakRoots()

void v8::internal::Heap::IterateWeakRoots ( RootVisitor * v,
base::EnumSet< SkipRoot > options )

Definition at line 4532 of file heap.cc.

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

◆ KeepDuringJob()

void v8::internal::Heap::KeepDuringJob ( DirectHandle< HeapObject > target)

Definition at line 6928 of file heap.cc.

Here is the call graph for this function:

◆ LeftTrimFixedArray()

Tagged< FixedArrayBase > v8::internal::Heap::LeftTrimFixedArray ( Tagged< FixedArrayBase > obj,
int elements_to_trim )

Definition at line 3362 of file heap.cc.

Here is the call graph for this function:

◆ lo_space()

OldLargeObjectSpace * v8::internal::Heap::lo_space ( ) const
inline

Definition at line 734 of file heap.h.

Here is the caller graph for this function:

◆ main_thread_local_heap()

LocalHeap * v8::internal::Heap::main_thread_local_heap ( )
inline

Definition at line 842 of file heap.h.

Here is the caller graph for this function:

◆ major_sweeping_in_progress()

bool v8::internal::Heap::major_sweeping_in_progress ( ) const
inline

Definition at line 1539 of file heap.h.

Here is the caller graph for this function:

◆ MakeHeapIterable()

void v8::internal::Heap::MakeHeapIterable ( )

Definition at line 3515 of file heap.cc.

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

◆ MakeLinearAllocationAreasIterable()

void v8::internal::Heap::MakeLinearAllocationAreasIterable ( )
private

Definition at line 3521 of file heap.cc.

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

◆ mark_compact_collector()

MarkCompactCollector * v8::internal::Heap::mark_compact_collector ( )
inline

Definition at line 813 of file heap.h.

Here is the caller graph for this function:

◆ MarkCompact()

void v8::internal::Heap::MarkCompact ( )
private

Definition at line 2607 of file heap.cc.

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

◆ MarkCompactEpilogue()

void v8::internal::Heap::MarkCompactEpilogue ( )
private

Definition at line 2655 of file heap.cc.

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

◆ MarkCompactPrologue()

void v8::internal::Heap::MarkCompactPrologue ( )
private

Definition at line 2662 of file heap.cc.

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

◆ marking_state()

MarkingState * v8::internal::Heap::marking_state ( )
inline

Definition at line 1621 of file heap.h.

Here is the caller graph for this function:

◆ MarkSharedLinearAllocationAreasBlack()

void v8::internal::Heap::MarkSharedLinearAllocationAreasBlack ( )
private

Definition at line 3551 of file heap.cc.

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

◆ max_old_generation_size()

size_t v8::internal::Heap::max_old_generation_size ( ) const
inlineprivate

Definition at line 1940 of file heap.h.

Here is the caller graph for this function:

◆ MaximumCommittedMemory()

size_t v8::internal::Heap::MaximumCommittedMemory ( )
inline

Definition at line 1278 of file heap.h.

Here is the caller graph for this function:

◆ MaxNumberToStringCacheSize()

int v8::internal::Heap::MaxNumberToStringCacheSize ( ) const
inline

Definition at line 397 of file heap-inl.h.

Here is the caller graph for this function:

◆ MaxOldGenerationSize() [1/2]

size_t v8::internal::Heap::MaxOldGenerationSize ( )
inline

Definition at line 1235 of file heap.h.

Here is the caller graph for this function:

◆ MaxOldGenerationSize() [2/2]

size_t v8::internal::Heap::MaxOldGenerationSize ( uint64_t physical_memory)
static

Definition at line 291 of file heap.cc.

Here is the call graph for this function:

◆ MaxRegularHeapObjectSize()

int v8::internal::Heap::MaxRegularHeapObjectSize ( AllocationType allocation)
inline

Definition at line 185 of file heap-inl.h.

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

◆ MaxReserved()

size_t v8::internal::Heap::MaxReserved ( ) const

Definition at line 205 of file heap.cc.

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

◆ MaxSemiSpaceSize()

size_t v8::internal::Heap::MaxSemiSpaceSize ( )
inline

Definition at line 1233 of file heap.h.

◆ MeasureMemory()

bool v8::internal::Heap::MeasureMemory ( std::unique_ptr< v8::MeasureMemoryDelegate > delegate,
v8::MeasureMemoryExecution execution )

Definition at line 4285 of file heap.cc.

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

◆ memory_allocator() [1/2]

MemoryAllocator * v8::internal::Heap::memory_allocator ( )
inline

Definition at line 803 of file heap.h.

Here is the caller graph for this function:

◆ memory_allocator() [2/2]

const MemoryAllocator * v8::internal::Heap::memory_allocator ( ) const
inline

Definition at line 804 of file heap.h.

◆ memory_measurement()

MemoryMeasurement * v8::internal::Heap::memory_measurement ( )
inlineprivate

Definition at line 2055 of file heap.h.

Here is the caller graph for this function:

◆ memory_reducer()

MemoryReducer * v8::internal::Heap::memory_reducer ( )
inlineprivate

Definition at line 1912 of file heap.h.

Here is the caller graph for this function:

◆ MemoryPressureNotification()

void v8::internal::Heap::MemoryPressureNotification ( v8::MemoryPressureLevel level,
bool is_isolate_locked )

Definition at line 4185 of file heap.cc.

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

◆ min_old_generation_size()

size_t v8::internal::Heap::min_old_generation_size ( ) const
inlineprivate

Definition at line 1944 of file heap.h.

Here is the caller graph for this function:

◆ MinOldGenerationSize()

size_t v8::internal::Heap::MinOldGenerationSize ( )
static

Definition at line 274 of file heap.cc.

Here is the caller graph for this function:

◆ minor_gc_job()

MinorGCJob * v8::internal::Heap::minor_gc_job ( )
inlineprivate

Definition at line 1994 of file heap.h.

Here is the caller graph for this function:

◆ minor_mark_sweep_collector()

MinorMarkSweepCollector * v8::internal::Heap::minor_mark_sweep_collector ( )
inline

Definition at line 817 of file heap.h.

Here is the caller graph for this function:

◆ minor_sweeping_in_progress()

bool v8::internal::Heap::minor_sweeping_in_progress ( ) const
inline

Definition at line 1536 of file heap.h.

Here is the caller graph for this function:

◆ MinorMarkSweep()

void v8::internal::Heap::MinorMarkSweep ( )
private

Definition at line 2642 of file heap.cc.

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

◆ MinorMSSizeTaskTriggerReached()

bool v8::internal::Heap::MinorMSSizeTaskTriggerReached ( ) const
private

◆ MinYoungGenerationSize()

size_t v8::internal::Heap::MinYoungGenerationSize ( )
static

Definition at line 270 of file heap.cc.

Here is the call graph for this function:

◆ MonotonicallyIncreasingTimeInMs()

double v8::internal::Heap::MonotonicallyIncreasingTimeInMs ( ) const

Definition at line 4098 of file heap.cc.

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

◆ MoveRange()

void v8::internal::Heap::MoveRange ( Tagged< HeapObject > dst_object,
ObjectSlot dst_slot,
ObjectSlot src_slot,
int len,
WriteBarrierMode mode )

Definition at line 2019 of file heap.cc.

Here is the call graph for this function:

◆ ms_count()

int v8::internal::Heap::ms_count ( ) const
inline

Definition at line 500 of file heap.h.

◆ MustBeInSharedOldSpace()

bool v8::internal::Heap::MustBeInSharedOldSpace ( Tagged< HeapObject > value)

Definition at line 4385 of file heap.cc.

Here is the call graph for this function:

◆ native_contexts_list()

Tagged< Object > v8::internal::Heap::native_contexts_list ( ) const
inline

Definition at line 461 of file heap.h.

Here is the caller graph for this function:

◆ new_lo_space()

NewLargeObjectSpace * v8::internal::Heap::new_lo_space ( ) const
inline

Definition at line 737 of file heap.h.

Here is the caller graph for this function:

◆ new_space()

NewSpace * v8::internal::Heap::new_space ( ) const
inline

Definition at line 727 of file heap.h.

Here is the caller graph for this function:

◆ new_space_surviving_object_size()

size_t v8::internal::Heap::new_space_surviving_object_size ( )
inline

Definition at line 1308 of file heap.h.

Here is the caller graph for this function:

◆ NewSpaceAllocationCounter()

size_t v8::internal::Heap::NewSpaceAllocationCounter ( ) const

Definition at line 990 of file heap.cc.

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

◆ NewSpaceAllocationLimitAddress()

Address * v8::internal::Heap::NewSpaceAllocationLimitAddress ( )
inline

Definition at line 162 of file heap-inl.h.

◆ NewSpaceAllocationTopAddress()

Address * v8::internal::Heap::NewSpaceAllocationTopAddress ( )
inline

Definition at line 156 of file heap-inl.h.

◆ NewSpaceCapacity()

size_t v8::internal::Heap::NewSpaceCapacity ( ) const

Definition at line 3897 of file heap.cc.

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

◆ NewSpaceLimit()

Address v8::internal::Heap::NewSpaceLimit ( )

Definition at line 231 of file heap-inl.h.

◆ NewSpaceSize()

size_t v8::internal::Heap::NewSpaceSize ( )

Definition at line 3890 of file heap.cc.

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

◆ NewSpaceTargetCapacity()

size_t v8::internal::Heap::NewSpaceTargetCapacity ( ) const

Definition at line 3904 of file heap.cc.

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

◆ NewSpaceTop()

Address v8::internal::Heap::NewSpaceTop ( )

Definition at line 225 of file heap-inl.h.

Here is the caller graph for this function:

◆ NextDebuggingId()

int v8::internal::Heap::NextDebuggingId ( )

Definition at line 7417 of file heap.cc.

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

◆ NextScriptId()

int v8::internal::Heap::NextScriptId ( )

Definition at line 7393 of file heap.cc.

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

◆ NextStackTraceId()

int v8::internal::Heap::NextStackTraceId ( )

Definition at line 7427 of file heap.cc.

Here is the call graph for this function:

◆ NextStressMarkingLimit()

int v8::internal::Heap::NextStressMarkingLimit ( )
private

Definition at line 5930 of file heap.cc.

Here is the caller graph for this function:

◆ non_atomic_marking_state()

NonAtomicMarkingState * v8::internal::Heap::non_atomic_marking_state ( )
inline

Definition at line 1623 of file heap.h.

Here is the caller graph for this function:

◆ NotifyBootstrapComplete()

void v8::internal::Heap::NotifyBootstrapComplete ( )

Definition at line 5993 of file heap.cc.

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

◆ NotifyContextDisposed()

int v8::internal::Heap::NotifyContextDisposed ( bool has_dependent_context)

Definition at line 1848 of file heap.cc.

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

◆ NotifyDeserializationComplete()

void v8::internal::Heap::NotifyDeserializationComplete ( )

Definition at line 5961 of file heap.cc.

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

◆ NotifyLoadingEnded()

void v8::internal::Heap::NotifyLoadingEnded ( )
private

Definition at line 7383 of file heap.cc.

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

◆ NotifyLoadingStarted()

void v8::internal::Heap::NotifyLoadingStarted ( )
private

Definition at line 7376 of file heap.cc.

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

◆ NotifyObjectLayoutChange()

void v8::internal::Heap::NotifyObjectLayoutChange ( Tagged< HeapObject > object,
const DisallowGarbageCollection & ,
InvalidateRecordedSlots invalidate_recorded_slots,
InvalidateExternalPointerSlots invalidate_external_pointer_slots,
int new_size = 0 )

Definition at line 3984 of file heap.cc.

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

◆ NotifyObjectLayoutChangeDone()

void v8::internal::Heap::NotifyObjectLayoutChangeDone ( Tagged< HeapObject > object)
static

Definition at line 4064 of file heap.cc.

Here is the call graph for this function:

◆ NotifyObjectSizeChange()

void v8::internal::Heap::NotifyObjectSizeChange ( Tagged< HeapObject > object,
int old_size,
int new_size,
ClearRecordedSlots clear_recorded_slots )

Definition at line 4072 of file heap.cc.

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

◆ NotifyOldGenerationExpansion()

void v8::internal::Heap::NotifyOldGenerationExpansion ( LocalHeap * local_heap,
AllocationSpace space,
MutablePageMetadata * chunk,
OldGenerationExpansionNotificationOrigin notification_origin = OldGenerationExpansionNotificationOrigin::kFromSameHeap )

Definition at line 6001 of file heap.cc.

Here is the call graph for this function:

◆ NumberOfDetachedContexts()

size_t v8::internal::Heap::NumberOfDetachedContexts ( )

Definition at line 7026 of file heap.cc.

◆ NumberOfNativeContexts()

size_t v8::internal::Heap::NumberOfNativeContexts ( )

Definition at line 6993 of file heap.cc.

Here is the call graph for this function:

◆ NumberOfScavengeTasks()

int v8::internal::Heap::NumberOfScavengeTasks ( )
private

◆ NumberOfTrackedHeapObjectTypes()

size_t v8::internal::Heap::NumberOfTrackedHeapObjectTypes ( )

Definition at line 6952 of file heap.cc.

◆ ObjectCountAtLastGC()

size_t v8::internal::Heap::ObjectCountAtLastGC ( size_t index)

Definition at line 6956 of file heap.cc.

◆ ObjectSizeAtLastGC()

size_t v8::internal::Heap::ObjectSizeAtLastGC ( size_t index)

Definition at line 6962 of file heap.cc.

◆ old_generation_allocation_limit()

size_t v8::internal::Heap::old_generation_allocation_limit ( ) const
inlineprivate

Definition at line 1924 of file heap.h.

Here is the caller graph for this function:

◆ old_space()

OldSpace * v8::internal::Heap::old_space ( ) const
inline

Definition at line 730 of file heap.h.

Here is the caller graph for this function:

◆ OldArrayBufferBytes()

size_t v8::internal::Heap::OldArrayBufferBytes ( )

Definition at line 6773 of file heap.cc.

Here is the call graph for this function:

◆ OldGenerationAllocationCounter()

size_t v8::internal::Heap::OldGenerationAllocationCounter ( )
inline

Definition at line 1339 of file heap.h.

Here is the caller graph for this function:

◆ OldGenerationCapacity()

size_t v8::internal::Heap::OldGenerationCapacity ( ) const

Definition at line 335 of file heap.cc.

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

◆ OldGenerationConsumedBytes()

size_t v8::internal::Heap::OldGenerationConsumedBytes ( ) const

Definition at line 5183 of file heap.cc.

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

◆ OldGenerationConsumedBytesAtLastGC()

size_t v8::internal::Heap::OldGenerationConsumedBytesAtLastGC ( ) const

Definition at line 5237 of file heap.cc.

Here is the caller graph for this function:

◆ OldGenerationSizeOfObjects()

size_t v8::internal::Heap::OldGenerationSizeOfObjects ( ) const

Definition at line 5153 of file heap.cc.

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

◆ OldGenerationSpaceAvailable()

size_t v8::internal::Heap::OldGenerationSpaceAvailable ( )
inlineprivate

Definition at line 1882 of file heap.h.

Here is the caller graph for this function:

◆ OldGenerationToSemiSpaceRatio()

size_t v8::internal::Heap::OldGenerationToSemiSpaceRatio ( )
static

Definition at line 4899 of file heap.cc.

Here is the caller graph for this function:

◆ OldGenerationToSemiSpaceRatioLowMemory()

size_t v8::internal::Heap::OldGenerationToSemiSpaceRatioLowMemory ( )
static

Definition at line 4911 of file heap.cc.

Here is the caller graph for this function:

◆ OldGenerationWastedBytes()

size_t v8::internal::Heap::OldGenerationWastedBytes ( ) const

Definition at line 5173 of file heap.cc.

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

◆ OldSpaceAllocationLimitAddress()

Address * v8::internal::Heap::OldSpaceAllocationLimitAddress ( )
inline

Definition at line 172 of file heap-inl.h.

◆ OldSpaceAllocationTopAddress()

Address * v8::internal::Heap::OldSpaceAllocationTopAddress ( )
inline

Definition at line 168 of file heap-inl.h.

◆ OnMoveEvent()

void v8::internal::Heap::OnMoveEvent ( Tagged< HeapObject > source,
Tagged< HeapObject > target,
int size_in_bytes )

Definition at line 3337 of file heap.cc.

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

◆ operator=()

Heap & v8::internal::Heap::operator= ( const Heap & )
privatedelete

◆ overridden_stack_state()

std::optional< StackState > v8::internal::Heap::overridden_stack_state ( ) const

Definition at line 6045 of file heap.cc.

Here is the caller graph for this function:

◆ paged_new_space()

PagedNewSpace * v8::internal::Heap::paged_new_space ( ) const
inline

Definition at line 435 of file heap-inl.h.

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

◆ paged_space()

PagedSpace * v8::internal::Heap::paged_space ( int idx) const
inline

Definition at line 148 of file heap-inl.h.

Here is the caller graph for this function:

◆ PauseConcurrentThreadsInClients()

std::vector< Isolate * > v8::internal::Heap::PauseConcurrentThreadsInClients ( GarbageCollector collector)
private

Definition at line 2323 of file heap.cc.

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

◆ PercentToGlobalMemoryLimit()

double v8::internal::Heap::PercentToGlobalMemoryLimit ( ) const
private

Definition at line 5430 of file heap.cc.

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

◆ PercentToOldGenerationLimit()

double v8::internal::Heap::PercentToOldGenerationLimit ( ) const
private

Definition at line 5424 of file heap.cc.

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

◆ PerformGarbageCollection()

void v8::internal::Heap::PerformGarbageCollection ( GarbageCollector collector,
GarbageCollectionReason gc_reason,
const char * collector_reason )
private

Definition at line 2173 of file heap.cc.

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

◆ PerformHeapVerification()

void v8::internal::Heap::PerformHeapVerification ( )
private

Definition at line 2310 of file heap.cc.

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

◆ PostFinalizationRegistryCleanupTaskIfNeeded()

void v8::internal::Heap::PostFinalizationRegistryCleanupTaskIfNeeded ( )

Definition at line 6840 of file heap.cc.

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

◆ PrecedeWithFiller()

Tagged< HeapObject > v8::internal::Heap::PrecedeWithFiller ( Tagged< HeapObject > object,
int filler_size )

Definition at line 3029 of file heap.cc.

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

◆ PrecedeWithFillerBackground()

Tagged< HeapObject > v8::internal::Heap::PrecedeWithFillerBackground ( Tagged< HeapObject > object,
int filler_size )

Definition at line 3035 of file heap.cc.

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

◆ PreciseCollectAllGarbage()

void v8::internal::Heap::PreciseCollectAllGarbage ( GCFlags gc_flags,
GarbageCollectionReason gc_reason,
const GCCallbackFlags gc_callback_flags = kNoGCCallbackFlags )

Definition at line 1411 of file heap.cc.

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

◆ pretenuring_handler()

PretenuringHandler * v8::internal::Heap::pretenuring_handler ( )
inline

Definition at line 1627 of file heap.h.

Here is the caller graph for this function:

◆ PrintFreeListsStats()

void v8::internal::Heap::PrintFreeListsStats ( )

Definition at line 673 of file heap.cc.

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

◆ PrintMaxMarkingLimitReached()

void v8::internal::Heap::PrintMaxMarkingLimitReached ( )
private

Definition at line 5920 of file heap.cc.

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

◆ PrintMaxNewSpaceSizeReached()

void v8::internal::Heap::PrintMaxNewSpaceSizeReached ( )
private

Definition at line 5925 of file heap.cc.

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

◆ PrintShortHeapStatistics()

void v8::internal::Heap::PrintShortHeapStatistics ( )

Definition at line 572 of file heap.cc.

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

◆ ProcessAllocationSites()

void v8::internal::Heap::ProcessAllocationSites ( WeakObjectRetainer * retainer)
private

Definition at line 2898 of file heap.cc.

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

◆ ProcessAllWeakReferences()

void v8::internal::Heap::ProcessAllWeakReferences ( WeakObjectRetainer * retainer)
private

Definition at line 2885 of file heap.cc.

Here is the call graph for this function:

◆ ProcessDirtyJSFinalizationRegistries()

void v8::internal::Heap::ProcessDirtyJSFinalizationRegistries ( WeakObjectRetainer * retainer)
private

Definition at line 2907 of file heap.cc.

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

◆ ProcessNativeContexts()

void v8::internal::Heap::ProcessNativeContexts ( WeakObjectRetainer * retainer)
private

Definition at line 2891 of file heap.cc.

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

◆ ProcessWeakListRoots()

void v8::internal::Heap::ProcessWeakListRoots ( WeakObjectRetainer * retainer)
private

Definition at line 2918 of file heap.cc.

Here is the call graph for this function:

◆ promoted_objects_size()

size_t v8::internal::Heap::promoted_objects_size ( )
inline

Definition at line 1303 of file heap.h.

Here is the caller graph for this function:

◆ PromotedSinceLastGC()

size_t v8::internal::Heap::PromotedSinceLastGC ( )
inlineprivate

Definition at line 2066 of file heap.h.

◆ PublishMainThreadPendingAllocations()

void v8::internal::Heap::PublishMainThreadPendingAllocations ( )

Definition at line 1031 of file heap.cc.

Here is the caller graph for this function:

◆ read_only_space()

ReadOnlySpace * v8::internal::Heap::read_only_space ( ) const
inline

Definition at line 738 of file heap.h.

Here is the caller graph for this function:

◆ RecomputeLimits()

void v8::internal::Heap::RecomputeLimits ( GarbageCollector collector,
base::TimeTicks time )
private

Definition at line 2488 of file heap.cc.

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

◆ RecomputeLimitsAfterLoadingIfNeeded()

void v8::internal::Heap::RecomputeLimitsAfterLoadingIfNeeded ( )
private

Definition at line 2533 of file heap.cc.

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

◆ RecordStats()

void v8::internal::Heap::RecordStats ( HeapStats * stats)

Definition at line 5127 of file heap.cc.

Here is the call graph for this function:

◆ ReduceNewSpaceSize()

void v8::internal::Heap::ReduceNewSpaceSize ( )
private

Definition at line 3879 of file heap.cc.

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

◆ ReduceNewSpaceSizeForTesting()

void v8::internal::Heap::ReduceNewSpaceSizeForTesting ( )

Definition at line 3860 of file heap.cc.

Here is the call graph for this function:

◆ RegisterExternalString()

void v8::internal::Heap::RegisterExternalString ( Tagged< String > string)
inline

Definition at line 209 of file heap-inl.h.

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

◆ RegisterStrongRoots()

StrongRootsEntry * v8::internal::Heap::RegisterStrongRoots ( const char * label,
FullObjectSlot start,
FullObjectSlot end )

Definition at line 6777 of file heap.cc.

Here is the caller graph for this function:

◆ RememberUnmappedPage()

void v8::internal::Heap::RememberUnmappedPage ( Address page,
bool compacted )

Definition at line 6748 of file heap.cc.

Here is the caller graph for this function:

◆ RemoveAllocationObserversFromAllSpaces()

void v8::internal::Heap::RemoveAllocationObserversFromAllSpaces ( AllocationObserver * observer,
AllocationObserver * new_space_observer )

Definition at line 1025 of file heap.cc.

Here is the caller graph for this function:

◆ RemoveDirtyFinalizationRegistriesOnContext()

void v8::internal::Heap::RemoveDirtyFinalizationRegistriesOnContext ( Tagged< NativeContext > context)

Definition at line 6898 of file heap.cc.

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

◆ RemoveGCEpilogueCallback()

void v8::internal::Heap::RemoveGCEpilogueCallback ( v8::Isolate::GCCallbackWithData callback,
void * data )

Definition at line 6253 of file heap.cc.

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

◆ RemoveGCPrologueCallback()

void v8::internal::Heap::RemoveGCPrologueCallback ( v8::Isolate::GCCallbackWithData callback,
void * data )

Definition at line 6242 of file heap.cc.

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

◆ RemoveHeapObjectAllocationTracker()

void v8::internal::Heap::RemoveHeapObjectAllocationTracker ( HeapObjectAllocationTracker * tracker)

Definition at line 926 of file heap.cc.

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

◆ RemoveNearHeapLimitCallback()

void v8::internal::Heap::RemoveNearHeapLimitCallback ( v8::NearHeapLimitCallback callback,
size_t heap_limit )

Definition at line 4230 of file heap.cc.

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

◆ ReplaceReadOnlySpace()

void v8::internal::Heap::ReplaceReadOnlySpace ( SharedReadOnlySpace * shared_ro_space)

Definition at line 5662 of file heap.cc.

Here is the call graph for this function:

◆ ReportStatisticsAfterGC()

void v8::internal::Heap::ReportStatisticsAfterGC ( )
private

Definition at line 807 of file heap.cc.

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

◆ ResetAllAllocationSitesDependentCode()

void v8::internal::Heap::ResetAllAllocationSitesDependentCode ( AllocationType allocation)
private

Definition at line 2948 of file heap.cc.

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

◆ ResetOldGenerationAndGlobalAllocationLimit()

void v8::internal::Heap::ResetOldGenerationAndGlobalAllocationLimit ( )
private

Definition at line 1543 of file heap.cc.

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

◆ ResizeArrayBufferExtension()

void v8::internal::Heap::ResizeArrayBufferExtension ( ArrayBufferExtension * extension,
int64_t delta )

Definition at line 4249 of file heap.cc.

◆ ResizeNewSpace()

void v8::internal::Heap::ResizeNewSpace ( )
private

Definition at line 3841 of file heap.cc.

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

◆ RestoreHeapLimit()

void v8::internal::Heap::RestoreHeapLimit ( size_t heap_limit)
inline

Definition at line 664 of file heap.h.

Here is the caller graph for this function:

◆ ResumeConcurrentThreadsInClients()

void v8::internal::Heap::ResumeConcurrentThreadsInClients ( std::vector< Isolate * > paused_clients)
private

Definition at line 2347 of file heap.cc.

Here is the caller graph for this function:

◆ RightTrimArray()

template<typename Array >
void v8::internal::Heap::RightTrimArray ( Tagged< Array > object,
int new_capacity,
int old_capacity )

Definition at line 3446 of file heap.cc.

Here is the call graph for this function:

◆ roots_table()

RootsTable & v8::internal::Heap::roots_table ( )

Definition at line 69 of file heap-inl.h.

Here is the caller graph for this function:

◆ safepoint()

IsolateSafepoint * v8::internal::Heap::safepoint ( )
inline

Definition at line 579 of file heap.h.

Here is the caller graph for this function:

◆ Scavenge()

void v8::internal::Heap::Scavenge ( )
private

Definition at line 2672 of file heap.cc.

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

◆ SelectGarbageCollector()

GarbageCollector v8::internal::Heap::SelectGarbageCollector ( AllocationSpace space,
GarbageCollectionReason gc_reason,
const char ** reason ) const
private

Definition at line 475 of file heap.cc.

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

◆ semi_space_new_space()

SemiSpaceNewSpace * v8::internal::Heap::semi_space_new_space ( ) const
inline

Definition at line 439 of file heap-inl.h.

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

◆ SemiSpaceSizeFromYoungGenerationSize()

size_t v8::internal::Heap::SemiSpaceSizeFromYoungGenerationSize ( size_t young_generation_size)
static

Definition at line 322 of file heap.cc.

Here is the caller graph for this function:

◆ set_allocation_sites_list()

void v8::internal::Heap::set_allocation_sites_list ( Tagged< UnionOf< Smi, Undefined, AllocationSiteWithWeakNext > > object)
inline

Definition at line 466 of file heap.h.

Here is the caller graph for this function:

◆ set_dirty_js_finalization_registries_list()

void v8::internal::Heap::set_dirty_js_finalization_registries_list ( Tagged< Object > object)
inline

Definition at line 475 of file heap.h.

Here is the caller graph for this function:

◆ set_dirty_js_finalization_registries_list_tail()

void v8::internal::Heap::set_dirty_js_finalization_registries_list_tail ( Tagged< Object > object)
inline

Definition at line 481 of file heap.h.

Here is the caller graph for this function:

◆ set_force_gc_on_next_allocation()

void v8::internal::Heap::set_force_gc_on_next_allocation ( )
inlineprivate

Definition at line 2042 of file heap.h.

◆ set_force_oom()

void v8::internal::Heap::set_force_oom ( bool value)
inlineprivate

Definition at line 2041 of file heap.h.

◆ set_is_finalization_registry_cleanup_task_posted()

void v8::internal::Heap::set_is_finalization_registry_cleanup_task_posted ( bool posted)
inline

Definition at line 901 of file heap.h.

Here is the caller graph for this function:

◆ set_native_contexts_list()

void v8::internal::Heap::set_native_contexts_list ( Tagged< Object > object)
inline

Definition at line 457 of file heap.h.

Here is the caller graph for this function:

◆ set_old_generation_allocation_counter_at_last_gc()

void v8::internal::Heap::set_old_generation_allocation_counter_at_last_gc ( size_t new_value)
inline

Definition at line 1347 of file heap.h.

◆ set_using_initial_limit()

void v8::internal::Heap::set_using_initial_limit ( bool value)
inlineprivate

Definition at line 1936 of file heap.h.

Here is the caller graph for this function:

◆ SetBasicBlockProfilingData()

void v8::internal::Heap::SetBasicBlockProfilingData ( DirectHandle< ArrayList > list)

Definition at line 176 of file heap.cc.

◆ SetBuiltinsConstantsTable()

void v8::internal::Heap::SetBuiltinsConstantsTable ( Tagged< FixedArray > cache)

Definition at line 6828 of file heap.cc.

Here is the caller graph for this function:

◆ SetConstructStubCreateDeoptPCOffset()

void v8::internal::Heap::SetConstructStubCreateDeoptPCOffset ( int pc_offset)

Definition at line 145 of file heap.cc.

Here is the call graph for this function:

◆ SetConstructStubInvokeDeoptPCOffset()

void v8::internal::Heap::SetConstructStubInvokeDeoptPCOffset ( int pc_offset)

Definition at line 150 of file heap.cc.

Here is the call graph for this function:

◆ SetDeoptPCOffsetAfterAdaptShadowStack()

void v8::internal::Heap::SetDeoptPCOffsetAfterAdaptShadowStack ( int pc_offset)

Definition at line 155 of file heap.cc.

Here is the call graph for this function:

◆ SetDetachedContexts()

void v8::internal::Heap::SetDetachedContexts ( Tagged< WeakArrayList > detached_contexts)

Definition at line 6832 of file heap.cc.

◆ SetEmbedderRootsHandler()

void v8::internal::Heap::SetEmbedderRootsHandler ( EmbedderRootsHandler * handler)

Definition at line 6028 of file heap.cc.

Here is the caller graph for this function:

◆ SetFunctionsMarkedForManualOptimization()

void v8::internal::Heap::SetFunctionsMarkedForManualOptimization ( Tagged< Object > bytecode)

Definition at line 134 of file heap-inl.h.

Here is the call graph for this function:

◆ SetGCState()

void v8::internal::Heap::SetGCState ( HeapState state)

Definition at line 518 of file heap.cc.

Here is the caller graph for this function:

◆ SetGetExternallyAllocatedMemoryInBytesCallback()

void v8::internal::Heap::SetGetExternallyAllocatedMemoryInBytesCallback ( GetExternallyAllocatedMemoryInBytesCallback callback)
inline

Definition at line 965 of file heap.h.

Here is the caller graph for this function:

◆ SetInterpreterEntryReturnPCOffset()

void v8::internal::Heap::SetInterpreterEntryReturnPCOffset ( int pc_offset)

Definition at line 161 of file heap.cc.

Here is the call graph for this function:

◆ SetIsMarkingFlag()

void v8::internal::Heap::SetIsMarkingFlag ( bool value)
private

Definition at line 7190 of file heap.cc.

Here is the caller graph for this function:

◆ SetIsMinorMarkingFlag()

void v8::internal::Heap::SetIsMinorMarkingFlag ( bool value)
private

Definition at line 7198 of file heap.cc.

Here is the caller graph for this function:

◆ SetMessageListeners()

void v8::internal::Heap::SetMessageListeners ( Tagged< ArrayList > value)

Definition at line 130 of file heap-inl.h.

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

◆ SetNewSpaceAllocationCounterForTesting()

void v8::internal::Heap::SetNewSpaceAllocationCounterForTesting ( size_t new_value)
inline

Definition at line 1330 of file heap.h.

◆ SetOldGenerationAndGlobalAllocationLimit()

void v8::internal::Heap::SetOldGenerationAndGlobalAllocationLimit ( size_t new_old_generation_allocation_limit,
size_t new_global_allocation_limit )
private

Definition at line 1523 of file heap.cc.

Here is the caller graph for this function:

◆ SetOldGenerationAndGlobalMaximumSize()

void v8::internal::Heap::SetOldGenerationAndGlobalMaximumSize ( size_t max_old_generation_size)
private

Definition at line 1516 of file heap.cc.

Here is the caller graph for this function:

◆ SetRootMaterializedObjects()

void v8::internal::Heap::SetRootMaterializedObjects ( Tagged< FixedArray > objects)

Definition at line 122 of file heap-inl.h.

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

◆ SetRootNoScriptSharedFunctionInfos()

V8_INLINE void v8::internal::Heap::SetRootNoScriptSharedFunctionInfos ( Tagged< Object > value)

◆ SetRootScriptList()

void v8::internal::Heap::SetRootScriptList ( Tagged< Object > value)

Definition at line 126 of file heap-inl.h.

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

◆ SetSerializedGlobalProxySizes()

void v8::internal::Heap::SetSerializedGlobalProxySizes ( Tagged< FixedArray > sizes)

Definition at line 171 of file heap.cc.

Here is the caller graph for this function:

◆ SetSerializedObjects()

void v8::internal::Heap::SetSerializedObjects ( Tagged< HeapObject > objects)

Definition at line 166 of file heap.cc.

Here is the caller graph for this function:

◆ SetStackStart()

void v8::internal::Heap::SetStackStart ( )

Definition at line 6050 of file heap.cc.

Here is the caller graph for this function:

◆ SetUp()

void v8::internal::Heap::SetUp ( LocalHeap * main_thread_local_heap)

Definition at line 5545 of file heap.cc.

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

◆ SetUpFromReadOnlyHeap()

void v8::internal::Heap::SetUpFromReadOnlyHeap ( ReadOnlyHeap * ro_heap)

Definition at line 5653 of file heap.cc.

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

◆ SetUpSpaces()

void v8::internal::Heap::SetUpSpaces ( LinearAllocationArea & new_allocation_info,
LinearAllocationArea & old_allocation_info )

Definition at line 5769 of file heap.cc.

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

◆ shared_allocation_space()

PagedSpace * v8::internal::Heap::shared_allocation_space ( ) const
inline

Definition at line 750 of file heap.h.

Here is the caller graph for this function:

◆ shared_lo_allocation_space()

OldLargeObjectSpace * v8::internal::Heap::shared_lo_allocation_space ( ) const
inline

Definition at line 753 of file heap.h.

Here is the caller graph for this function:

◆ shared_lo_space()

SharedLargeObjectSpace * v8::internal::Heap::shared_lo_space ( ) const
inline

Definition at line 736 of file heap.h.

Here is the caller graph for this function:

◆ shared_space()

SharedSpace * v8::internal::Heap::shared_space ( ) const
inline

Definition at line 733 of file heap.h.

Here is the caller graph for this function:

◆ shared_trusted_allocation_space()

SharedTrustedSpace * v8::internal::Heap::shared_trusted_allocation_space ( ) const
inline

Definition at line 756 of file heap.h.

Here is the caller graph for this function:

◆ shared_trusted_lo_allocation_space()

SharedTrustedLargeObjectSpace * v8::internal::Heap::shared_trusted_lo_allocation_space ( ) const
inline

Definition at line 759 of file heap.h.

Here is the caller graph for this function:

◆ shared_trusted_lo_space()

SharedTrustedLargeObjectSpace * v8::internal::Heap::shared_trusted_lo_space ( ) const
inline

Definition at line 746 of file heap.h.

◆ shared_trusted_space()

SharedTrustedSpace * v8::internal::Heap::shared_trusted_space ( ) const
inline

Definition at line 740 of file heap.h.

Here is the caller graph for this function:

◆ SharedHeapContains()

bool v8::internal::Heap::SharedHeapContains ( Tagged< HeapObject > value) const

Definition at line 4374 of file heap.cc.

Here is the call graph for this function:

◆ ShouldCurrentGCKeepAgesUnchanged()

bool v8::internal::Heap::ShouldCurrentGCKeepAgesUnchanged ( ) const
inline

Definition at line 1361 of file heap.h.

Here is the caller graph for this function:

◆ ShouldExpandOldGenerationOnSlowAllocation()

bool v8::internal::Heap::ShouldExpandOldGenerationOnSlowAllocation ( LocalHeap * local_heap,
AllocationOrigin origin )
private

Definition at line 5304 of file heap.cc.

Here is the call graph for this function:

◆ ShouldExpandYoungGenerationOnSlowAllocation()

bool v8::internal::Heap::ShouldExpandYoungGenerationOnSlowAllocation ( size_t allocation_size)
private

Definition at line 5350 of file heap.cc.

Here is the call graph for this function:

◆ ShouldOptimizeForBattery()

bool v8::internal::Heap::ShouldOptimizeForBattery ( ) const

Definition at line 470 of file heap.cc.

Here is the caller graph for this function:

◆ ShouldOptimizeForLoadTime()

bool v8::internal::Heap::ShouldOptimizeForLoadTime ( ) const
private

Definition at line 5292 of file heap.cc.

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

◆ ShouldOptimizeForMemoryUsage()

bool v8::internal::Heap::ShouldOptimizeForMemoryUsage ( )

Definition at line 3752 of file heap.cc.

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

◆ ShouldReduceMemory()

bool v8::internal::Heap::ShouldReduceMemory ( ) const
inline

Definition at line 1615 of file heap.h.

Here is the caller graph for this function:

◆ ShouldResizeNewSpace()

Heap::ResizeNewSpaceMode v8::internal::Heap::ShouldResizeNewSpace ( )
private

Definition at line 3797 of file heap.cc.

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

◆ ShouldStressCompaction()

bool v8::internal::Heap::ShouldStressCompaction ( ) const
private

Definition at line 5534 of file heap.cc.

Here is the caller graph for this function:

◆ ShouldUseBackgroundThreads()

bool v8::internal::Heap::ShouldUseBackgroundThreads ( ) const

Definition at line 456 of file heap.cc.

Here is the caller graph for this function:

◆ ShouldUseIncrementalMarking()

bool v8::internal::Heap::ShouldUseIncrementalMarking ( ) const

Definition at line 461 of file heap.cc.

Here is the caller graph for this function:

◆ ShrinkOldGenerationAllocationLimitIfNotConfigured()

void v8::internal::Heap::ShrinkOldGenerationAllocationLimitIfNotConfigured ( )
private

Definition at line 3097 of file heap.cc.

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

◆ single_character_string_table()

Tagged< FixedArray > v8::internal::Heap::single_character_string_table ( )

Definition at line 78 of file heap-inl.h.

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

◆ SizeOfObjects()

size_t v8::internal::Heap::SizeOfObjects ( )

Definition at line 999 of file heap.cc.

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

◆ space()

Space * v8::internal::Heap::space ( int idx) const
inline

Definition at line 154 of file heap-inl.h.

Here is the caller graph for this function:

◆ stack() [1/2]

heap::base::Stack & v8::internal::Heap::stack ( )

Definition at line 6057 of file heap.cc.

Here is the caller graph for this function:

◆ stack() [2/2]

const::heap::base::Stack & v8::internal::Heap::stack ( ) const

Definition at line 6062 of file heap.cc.

◆ StartIncrementalMarking()

void v8::internal::Heap::StartIncrementalMarking ( GCFlags gc_flags,
GarbageCollectionReason gc_reason,
GCCallbackFlags gc_callback_flags = GCCallbackFlags::kNoGCCallbackFlags,
GarbageCollector collector = GarbageCollector::MARK_COMPACTOR )

Definition at line 1871 of file heap.cc.

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

◆ StartIncrementalMarkingIfAllocationLimitIsReached()

void v8::internal::Heap::StartIncrementalMarkingIfAllocationLimitIsReached ( LocalHeap * local_heap,
GCFlags gc_flags,
GCCallbackFlags gc_callback_flags = GCCallbackFlags::kNoGCCallbackFlags )

Definition at line 1978 of file heap.cc.

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

◆ StartIncrementalMarkingOnInterrupt()

void v8::internal::Heap::StartIncrementalMarkingOnInterrupt ( )

Definition at line 1972 of file heap.cc.

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

◆ StartMinorMSIncrementalMarkingIfNeeded()

void v8::internal::Heap::StartMinorMSIncrementalMarkingIfNeeded ( )
private

Definition at line 1228 of file heap.cc.

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

◆ StartResizeNewSpace()

void v8::internal::Heap::StartResizeNewSpace ( )
private

Definition at line 3831 of file heap.cc.

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

◆ StartTearDown()

void v8::internal::Heap::StartTearDown ( )

Definition at line 6067 of file heap.cc.

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

◆ StaticRootsEnsureAllocatedSize()

void v8::internal::Heap::StaticRootsEnsureAllocatedSize ( DirectHandle< HeapObject > obj,
int required )
private

Definition at line 878 of file setup-heap-internal.cc.

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

◆ sticky_space()

StickySpace * v8::internal::Heap::sticky_space ( ) const
inline

Definition at line 443 of file heap-inl.h.

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

◆ SurvivedYoungObjectSize()

size_t v8::internal::Heap::SurvivedYoungObjectSize ( )
inline

Definition at line 1312 of file heap.h.

Here is the caller graph for this function:

◆ sweeper()

Sweeper * v8::internal::Heap::sweeper ( )
inline

Definition at line 821 of file heap.h.

Here is the caller graph for this function:

◆ sweeping_in_progress()

bool v8::internal::Heap::sweeping_in_progress ( ) const
inline

Definition at line 1532 of file heap.h.

Here is the caller graph for this function:

◆ sweeping_in_progress_for_space()

bool v8::internal::Heap::sweeping_in_progress_for_space ( AllocationSpace space) const
inline

Definition at line 1533 of file heap.h.

◆ TearDown()

void v8::internal::Heap::TearDown ( )

Definition at line 6122 of file heap.cc.

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

◆ TearDownWithSharedHeap()

void v8::internal::Heap::TearDownWithSharedHeap ( )

Definition at line 6103 of file heap.cc.

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

◆ ToBoolean()

Tagged< Boolean > v8::internal::Heap::ToBoolean ( bool condition)
inline

Definition at line 377 of file heap-inl.h.

Here is the call graph for this function:

◆ TotalGlobalHandlesSize()

size_t v8::internal::Heap::TotalGlobalHandlesSize ( )

Definition at line 1008 of file heap.cc.

◆ tracer() [1/2]

GCTracer * v8::internal::Heap::tracer ( )
inline

Definition at line 800 of file heap.h.

◆ tracer() [2/2]

const GCTracer * v8::internal::Heap::tracer ( ) const
inline

Definition at line 801 of file heap.h.

◆ trusted_lo_space()

TrustedLargeObjectSpace * v8::internal::Heap::trusted_lo_space ( ) const
inline

Definition at line 743 of file heap.h.

Here is the caller graph for this function:

◆ trusted_space()

TrustedSpace * v8::internal::Heap::trusted_space ( ) const
inline

Definition at line 739 of file heap.h.

Here is the caller graph for this function:

◆ TryFindCodeForInnerPointerForPrinting()

std::optional< Tagged< Code > > v8::internal::Heap::TryFindCodeForInnerPointerForPrinting ( Address inner_pointer)

Definition at line 7165 of file heap.cc.

Here is the call graph for this function:

◆ Unmark()

void v8::internal::Heap::Unmark ( )

Definition at line 3580 of file heap.cc.

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

◆ UnmarkSharedLinearAllocationAreas()

void v8::internal::Heap::UnmarkSharedLinearAllocationAreas ( )
private

Definition at line 3561 of file heap.cc.

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

◆ UnregisterStrongRoots()

void v8::internal::Heap::UnregisterStrongRoots ( StrongRootsEntry * entry)

Definition at line 6807 of file heap.cc.

Here is the caller graph for this function:

◆ UpdateExternalMemory()

uint64_t v8::internal::Heap::UpdateExternalMemory ( int64_t delta)

Definition at line 6764 of file heap.cc.

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

◆ UpdateExternalString()

void v8::internal::Heap::UpdateExternalString ( Tagged< String > string,
size_t old_payload,
size_t new_payload )

Definition at line 2695 of file heap.cc.

Here is the call graph for this function:

◆ UpdateMaximumCommitted()

void v8::internal::Heap::UpdateMaximumCommitted ( )

Definition at line 393 of file heap.cc.

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

◆ UpdateOldGenerationAllocationCounter()

void v8::internal::Heap::UpdateOldGenerationAllocationCounter ( )
inline

Definition at line 1334 of file heap.h.

Here is the caller graph for this function:

◆ UpdateReferencesInExternalStringTable()

void v8::internal::Heap::UpdateReferencesInExternalStringTable ( ExternalStringTableUpdaterCallback updater_func)
private

Definition at line 2880 of file heap.cc.

Here is the call graph for this function:

◆ UpdateStrongRoots()

void v8::internal::Heap::UpdateStrongRoots ( StrongRootsEntry * entry,
FullObjectSlot start,
FullObjectSlot end )

Definition at line 6801 of file heap.cc.

Here is the caller graph for this function:

◆ UpdateSurvivalStatistics()

void v8::internal::Heap::UpdateSurvivalStatistics ( int start_new_space_size)

Definition at line 2121 of file heap.cc.

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

◆ UpdateTotalGCTime()

void v8::internal::Heap::UpdateTotalGCTime ( base::TimeDelta duration)
private

Definition at line 6684 of file heap.cc.

Here is the caller graph for this function:

◆ UpdateYoungReferenceInExternalStringTableEntry()

Tagged< String > v8::internal::Heap::UpdateYoungReferenceInExternalStringTableEntry ( Heap * heap,
FullObjectSlot pointer )
static

Definition at line 2710 of file heap.cc.

Here is the call graph for this function:

◆ UpdateYoungReferencesInExternalStringTable()

void v8::internal::Heap::UpdateYoungReferencesInExternalStringTable ( ExternalStringTableUpdaterCallback updater_func)
private

Definition at line 2863 of file heap.cc.

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

◆ use_new_space()

bool v8::internal::Heap::use_new_space ( ) const
inline

Definition at line 1643 of file heap.h.

Here is the caller graph for this function:

◆ UsedGlobalHandlesSize()

size_t v8::internal::Heap::UsedGlobalHandlesSize ( )

Definition at line 1013 of file heap.cc.

◆ using_initial_limit()

bool v8::internal::Heap::using_initial_limit ( ) const
inlineprivate

Definition at line 1932 of file heap.h.

Here is the caller graph for this function:

◆ WeakenDescriptorArrays()

void v8::internal::Heap::WeakenDescriptorArrays ( GlobalHandleVector< DescriptorArray > strong_descriptor_arrays)

Definition at line 5934 of file heap.cc.

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

◆ YoungArrayBufferBytes()

size_t v8::internal::Heap::YoungArrayBufferBytes ( )

Definition at line 6760 of file heap.cc.

Here is the call graph for this function:

◆ YoungGenerationCollector()

static GarbageCollector v8::internal::Heap::YoungGenerationCollector ( )
inlinestatic

Definition at line 353 of file heap.h.

Here is the caller graph for this function:

◆ YoungGenerationConsumedBytes()

size_t v8::internal::Heap::YoungGenerationConsumedBytes ( ) const

Definition at line 5204 of file heap.cc.

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

◆ YoungGenerationSizeFromOldGenerationSize()

size_t v8::internal::Heap::YoungGenerationSizeFromOldGenerationSize ( size_t old_generation_size)
static

Definition at line 212 of file heap.cc.

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

◆ YoungGenerationSizeFromSemiSpaceSize()

size_t v8::internal::Heap::YoungGenerationSizeFromSemiSpaceSize ( size_t semi_space_size)
static

Definition at line 317 of file heap.cc.

Here is the caller graph for this function:

◆ YoungGenerationSizeOfObjects()

size_t v8::internal::Heap::YoungGenerationSizeOfObjects ( ) const

Definition at line 5187 of file heap.cc.

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

◆ YoungGenerationWastedBytes()

size_t v8::internal::Heap::YoungGenerationWastedBytes ( ) const

Definition at line 5198 of file heap.cc.

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

Friends And Related Symbol Documentation

◆ ActivateMemoryReducerTask

friend class ActivateMemoryReducerTask
friend

Definition at line 2414 of file heap.h.

◆ AlwaysAllocateScope

friend class AlwaysAllocateScope
friend

Definition at line 2415 of file heap.h.

◆ ArrayBufferCollector

friend class ArrayBufferCollector
friend

Definition at line 2416 of file heap.h.

◆ ArrayBufferSweeper

friend class ArrayBufferSweeper
friend

Definition at line 2417 of file heap.h.

◆ ConcurrentMarking

friend class ConcurrentMarking
friend

Definition at line 2418 of file heap.h.

◆ ConservativeTracedHandlesMarkingVisitor

Definition at line 2419 of file heap.h.

◆ CppHeap

friend class CppHeap
friend

Definition at line 2420 of file heap.h.

◆ Deserializer

template<typename IsolateT >
friend class Deserializer
friend

Definition at line 2471 of file heap.h.

◆ DisableConservativeStackScanningScopeForTesting

Definition at line 2454 of file heap.h.

◆ EmbedderStackStateScope

friend class EmbedderStackStateScope
friend

Definition at line 2421 of file heap.h.

◆ EvacuateVisitorBase

friend class EvacuateVisitorBase
friend

Definition at line 2422 of file heap.h.

◆ Factory

friend class Factory
friend

Definition at line 2468 of file heap.h.

◆ GCCallbacksScope

friend class GCCallbacksScope
friend

Definition at line 2423 of file heap.h.

◆ GCTracer

friend class GCTracer
friend

Definition at line 2424 of file heap.h.

◆ heap::HeapTester

friend class heap::HeapTester
friend

Definition at line 2477 of file heap.h.

◆ heap::TestMemoryAllocatorScope

friend class heap::TestMemoryAllocatorScope
friend

Definition at line 2465 of file heap.h.

◆ HeapAllocator

friend class HeapAllocator
friend

Definition at line 2425 of file heap.h.

◆ HeapInternalsBase

friend class HeapInternalsBase
friend

Definition at line 2480 of file heap.h.

◆ HeapObjectIterator

friend class HeapObjectIterator
friend

Definition at line 2426 of file heap.h.

◆ HeapVerifier

friend class HeapVerifier
friend

Definition at line 2427 of file heap.h.

◆ IgnoreLocalGCRequests

friend class IgnoreLocalGCRequests
friend

Definition at line 2428 of file heap.h.

◆ IncrementalMarking

friend class IncrementalMarking
friend

Definition at line 2429 of file heap.h.

◆ IncrementalMarkingJob

friend class IncrementalMarkingJob
friend

Definition at line 2430 of file heap.h.

◆ Isolate

friend class Isolate
friend

Definition at line 2474 of file heap.h.

◆ LargeObjectSpace

friend class LargeObjectSpace
friend

Definition at line 2431 of file heap.h.

◆ LocalFactory

friend class LocalFactory
friend

Definition at line 2469 of file heap.h.

◆ LocalHeap

friend class LocalHeap
friend

Definition at line 2432 of file heap.h.

◆ MarkCompactCollector

friend class MarkCompactCollector
friend

Definition at line 2437 of file heap.h.

◆ MarkingBarrier

friend class MarkingBarrier
friend

Definition at line 2433 of file heap.h.

◆ MarkingVisitorBase

template<typename ConcreteVisitor >
friend class MarkingVisitorBase
friend

Definition at line 2436 of file heap.h.

◆ MemoryBalancer

friend class MemoryBalancer
friend

Definition at line 2438 of file heap.h.

◆ MinorGCJob

friend class MinorGCJob
friend

Definition at line 2439 of file heap.h.

◆ MinorGCTaskObserver

friend class MinorGCTaskObserver
friend

Definition at line 2440 of file heap.h.

◆ MinorMarkSweepCollector

friend class MinorMarkSweepCollector
friend

Definition at line 2441 of file heap.h.

◆ MinorMSIncrementalMarkingTaskObserver

friend class MinorMSIncrementalMarkingTaskObserver
friend

Definition at line 2442 of file heap.h.

◆ NewLargeObjectSpace

friend class NewLargeObjectSpace
friend

Definition at line 2443 of file heap.h.

◆ NewSpace

friend class NewSpace
friend

Definition at line 2444 of file heap.h.

◆ ObjectStatsCollector

friend class ObjectStatsCollector
friend

Definition at line 2445 of file heap.h.

◆ OldLargeObjectSpace

friend class OldLargeObjectSpace
friend

Definition at line 2434 of file heap.h.

◆ PagedNewSpaceAllocatorPolicy

friend class PagedNewSpaceAllocatorPolicy
friend

Definition at line 2447 of file heap.h.

◆ PagedSpaceAllocatorPolicy

friend class PagedSpaceAllocatorPolicy
friend

Definition at line 2448 of file heap.h.

◆ PagedSpaceBase

friend class PagedSpaceBase
friend

Definition at line 2449 of file heap.h.

◆ PagedSpaceForNewSpace

friend class PagedSpaceForNewSpace
friend

Definition at line 2450 of file heap.h.

◆ PageMetadata

friend class PageMetadata
friend

Definition at line 2446 of file heap.h.

◆ PauseAllocationObserversScope

friend class PauseAllocationObserversScope
friend

Definition at line 2451 of file heap.h.

◆ PretenuringHandler

friend class PretenuringHandler
friend

Definition at line 2452 of file heap.h.

◆ ReadOnlyRoots

friend class ReadOnlyRoots
friend

Definition at line 2453 of file heap.h.

◆ Scavenger

friend class Scavenger
friend

Definition at line 2455 of file heap.h.

◆ ScavengerCollector

friend class ScavengerCollector
friend

Definition at line 2456 of file heap.h.

◆ ScheduleMinorGCTaskObserver

friend class ScheduleMinorGCTaskObserver
friend

Definition at line 2457 of file heap.h.

◆ SemiSpaceNewSpace

friend class SemiSpaceNewSpace
friend

Definition at line 2458 of file heap.h.

◆ SemiSpaceNewSpaceAllocatorPolicy

friend class SemiSpaceNewSpaceAllocatorPolicy
friend

Definition at line 2459 of file heap.h.

◆ Space

friend class Space
friend

Definition at line 2461 of file heap.h.

◆ SpaceWithLinearArea

friend class SpaceWithLinearArea
friend

Definition at line 2462 of file heap.h.

◆ StressConcurrentAllocationObserver

Definition at line 2460 of file heap.h.

◆ Sweeper

friend class Sweeper
friend

Definition at line 2463 of file heap.h.

◆ UnifiedHeapMarkingState

friend class UnifiedHeapMarkingState
friend

Definition at line 2464 of file heap.h.

Member Data Documentation

◆ allocation_sites_list_

Tagged<UnionOf<Smi, Undefined, AllocationSiteWithWeakNext> > v8::internal::Heap::allocation_sites_list_ = Smi::zero()
private

Definition at line 2236 of file heap.h.

◆ allocation_tracker_for_debugging_

std::unique_ptr<AllocationTrackerForDebugging> v8::internal::Heap::allocation_tracker_for_debugging_
private

Definition at line 2281 of file heap.h.

◆ allocation_trackers_

std::vector<HeapObjectAllocationTracker*> v8::internal::Heap::allocation_trackers_
private

Definition at line 2387 of file heap.h.

◆ allocation_type_for_in_place_internalizable_strings_

const AllocationType v8::internal::Heap::allocation_type_for_in_place_internalizable_strings_
private

Definition at line 2366 of file heap.h.

◆ always_allocate_scope_count_

std::atomic<size_t> v8::internal::Heap::always_allocate_scope_count_ {0}
private

Definition at line 2129 of file heap.h.

◆ array_buffer_sweeper_

std::unique_ptr<ArrayBufferSweeper> v8::internal::Heap::array_buffer_sweeper_
private

Definition at line 2269 of file heap.h.

◆ backing_store_bytes_

std::atomic<uint64_t> v8::internal::Heap::backing_store_bytes_ {0}
private

Definition at line 2121 of file heap.h.

◆ code_lo_space_

CodeLargeObjectSpace* v8::internal::Heap::code_lo_space_ = nullptr
private

Definition at line 2147 of file heap.h.

◆ code_range_

std::unique_ptr<CodeRange> v8::internal::Heap::code_range_
private

Definition at line 2295 of file heap.h.

◆ code_range_size_

size_t v8::internal::Heap::code_range_size_ = 0
private

Definition at line 2083 of file heap.h.

◆ code_space_

CodeSpace* v8::internal::Heap::code_space_ = nullptr
private

Definition at line 2144 of file heap.h.

◆ collection_barrier_

std::unique_ptr<CollectionBarrier> v8::internal::Heap::collection_barrier_
private

Definition at line 2368 of file heap.h.

◆ concurrent_marking_

std::unique_ptr<ConcurrentMarking> v8::internal::Heap::concurrent_marking_
private

Definition at line 2273 of file heap.h.

◆ configured_

bool v8::internal::Heap::configured_ = false
private

Definition at line 2348 of file heap.h.

◆ consecutive_ineffective_mark_compacts_

int v8::internal::Heap::consecutive_ineffective_mark_compacts_ = 0
private

Definition at line 2214 of file heap.h.

◆ contexts_disposed_

int v8::internal::Heap::contexts_disposed_ = 0
private

Definition at line 2139 of file heap.h.

◆ cpp_heap_

v8::CppHeap* v8::internal::Heap::cpp_heap_ = nullptr
private

Definition at line 2305 of file heap.h.

◆ current_gc_callback_flags_

GCCallbackFlags v8::internal::Heap::current_gc_callback_flags_
private
Initial value:

Definition at line 2354 of file heap.h.

◆ current_gc_flags_

GCFlags v8::internal::Heap::current_gc_flags_ = GCFlag::kNoFlags
private

Definition at line 2351 of file heap.h.

◆ current_or_last_garbage_collector_

GarbageCollector v8::internal::Heap::current_or_last_garbage_collector_
private
Initial value:

Definition at line 2361 of file heap.h.

◆ dead_object_stats_

std::unique_ptr<ObjectStats> v8::internal::Heap::dead_object_stats_
private

Definition at line 2277 of file heap.h.

◆ deferred_counters_

base::SmallVector<v8::Isolate::UseCounterFeature, 8> v8::internal::Heap::deferred_counters_
private

Definition at line 2246 of file heap.h.

◆ delay_sweeper_tasks_for_testing_

bool v8::internal::Heap::delay_sweeper_tasks_for_testing_ = false
private

Definition at line 2385 of file heap.h.

◆ deserialization_complete_

bool v8::internal::Heap::deserialization_complete_ = false
private

Definition at line 2374 of file heap.h.

◆ dirty_js_finalization_registries_list_

Tagged<Object> v8::internal::Heap::dirty_js_finalization_registries_list_ = Smi::zero()
private

Definition at line 2237 of file heap.h.

◆ dirty_js_finalization_registries_list_tail_

Tagged<Object> v8::internal::Heap::dirty_js_finalization_registries_list_tail_ = Smi::zero()
private

Definition at line 2239 of file heap.h.

◆ embedder_roots_handler_

EmbedderRootsHandler* v8::internal::Heap::embedder_roots_handler_
private
Initial value:
=
nullptr

Definition at line 2306 of file heap.h.

◆ embedder_size_at_last_gc_

size_t v8::internal::Heap::embedder_size_at_last_gc_ = 0
private

Definition at line 2336 of file heap.h.

◆ embedder_stack_state_

StackState v8::internal::Heap::embedder_stack_state_ = StackState::kMayContainHeapPointers
private

Definition at line 2309 of file heap.h.

◆ embedder_stack_state_origin_

std::optional<EmbedderStackStateOrigin> v8::internal::Heap::embedder_stack_state_origin_
private

Definition at line 2310 of file heap.h.

◆ ephemeron_remembered_set_

std::unique_ptr<EphemeronRememberedSet> v8::internal::Heap::ephemeron_remembered_set_
private

Definition at line 2282 of file heap.h.

◆ external_memory_

ExternalMemoryAccounting v8::internal::Heap::external_memory_
private

Definition at line 2073 of file heap.h.

◆ external_memory_callback_

GetExternallyAllocatedMemoryInBytesCallback v8::internal::Heap::external_memory_callback_
private

Definition at line 2244 of file heap.h.

◆ external_string_table_

ExternalStringTable v8::internal::Heap::external_string_table_
private

Definition at line 2364 of file heap.h.

◆ force_gc_on_next_allocation_

bool v8::internal::Heap::force_gc_on_next_allocation_ = false
private

Definition at line 2384 of file heap.h.

◆ force_oom_

bool v8::internal::Heap::force_oom_ = false
private

Definition at line 2383 of file heap.h.

◆ gc_callbacks_depth_

int v8::internal::Heap::gc_callbacks_depth_ = 0
private

Definition at line 2372 of file heap.h.

◆ gc_count_

unsigned int v8::internal::Heap::gc_count_ = 0
private

Definition at line 2210 of file heap.h.

◆ gc_epilogue_callbacks_

GCCallbacks v8::internal::Heap::gc_epilogue_callbacks_
private

Definition at line 2242 of file heap.h.

◆ gc_prologue_callbacks_

GCCallbacks v8::internal::Heap::gc_prologue_callbacks_
private

Definition at line 2241 of file heap.h.

◆ gc_state_

std::atomic<HeapState> v8::internal::Heap::gc_state_ {NOT_IN_GC}
private

Definition at line 2193 of file heap.h.

◆ global_allocation_limit_

std::atomic<size_t> v8::internal::Heap::global_allocation_limit_ {0}
private

Definition at line 2228 of file heap.h.

◆ heap_allocator_

HeapAllocator* v8::internal::Heap::heap_allocator_ = nullptr
private

Definition at line 2079 of file heap.h.

◆ heap_expansion_mutex_

base::Mutex v8::internal::Heap::heap_expansion_mutex_
private

Definition at line 2315 of file heap.h.

◆ heap_profiler_

std::unique_ptr<HeapProfiler> v8::internal::Heap::heap_profiler_
private

Definition at line 2283 of file heap.h.

◆ ignore_local_gc_requests_depth_

int v8::internal::Heap::ignore_local_gc_requests_depth_ = 0
private

Definition at line 2370 of file heap.h.

◆ incremental_marking_

std::unique_ptr<IncrementalMarking> v8::internal::Heap::incremental_marking_
private

Definition at line 2272 of file heap.h.

◆ initial_max_old_generation_size_

size_t v8::internal::Heap::initial_max_old_generation_size_ = 0
private

Definition at line 2098 of file heap.h.

◆ initial_max_old_generation_size_threshold_

size_t v8::internal::Heap::initial_max_old_generation_size_threshold_ = 0
private

Definition at line 2099 of file heap.h.

◆ initial_old_generation_size_

size_t v8::internal::Heap::initial_old_generation_size_ = 0
private

Definition at line 2100 of file heap.h.

◆ initial_semispace_size_

size_t v8::internal::Heap::initial_semispace_size_ = 0
private

Definition at line 2086 of file heap.h.

◆ initial_size_overwritten_

bool v8::internal::Heap::initial_size_overwritten_ = false
private

Definition at line 2113 of file heap.h.

◆ inline_allocation_enabled_

bool v8::internal::Heap::inline_allocation_enabled_ = true
private

Definition at line 2378 of file heap.h.

◆ is_current_gc_for_heap_profiler_

bool v8::internal::Heap::is_current_gc_for_heap_profiler_ = false
private

Definition at line 2360 of file heap.h.

◆ is_current_gc_forced_

bool v8::internal::Heap::is_current_gc_forced_ = false
private

Definition at line 2359 of file heap.h.

◆ is_finalization_registry_cleanup_task_posted_

bool v8::internal::Heap::is_finalization_registry_cleanup_task_posted_ = false
private

Definition at line 2389 of file heap.h.

◆ is_full_gc_during_loading_

bool v8::internal::Heap::is_full_gc_during_loading_ = false
private

Definition at line 2411 of file heap.h.

◆ isolate_

Isolate* v8::internal::Heap::isolate_ = nullptr
private

Definition at line 2077 of file heap.h.

◆ kHeapLimitMultiplier

const int v8::internal::Heap::kHeapLimitMultiplier = kSystemPointerSize / 4
static

Definition at line 303 of file heap.h.

◆ kInitialEvalCacheSize

const int v8::internal::Heap::kInitialEvalCacheSize = 64
staticprivate

Definition at line 1704 of file heap.h.

◆ kInitialNumberStringCacheSize

const int v8::internal::Heap::kInitialNumberStringCacheSize = 256
staticprivate

Definition at line 1705 of file heap.h.

◆ kLoadTimeNotLoading

double v8::internal::Heap::kLoadTimeNotLoading = -1.0
staticconstexprprivate

Definition at line 2402 of file heap.h.

◆ kMaxInitialOldGenerationSize

const size_t v8::internal::Heap::kMaxInitialOldGenerationSize
static
Initial value:
=
static const int kHeapLimitMultiplier
Definition heap.h:303

Definition at line 306 of file heap.h.

◆ kMaxLoadTimeMs

const int v8::internal::Heap::kMaxLoadTimeMs = 7000
staticprivate

Definition at line 1918 of file heap.h.

◆ kMaxMarkCompactsInIdleRound

const int v8::internal::Heap::kMaxMarkCompactsInIdleRound = 7
staticprivate

Definition at line 1713 of file heap.h.

◆ kMinObjectSizeInTaggedWords

const int v8::internal::Heap::kMinObjectSizeInTaggedWords = 2
static

Definition at line 319 of file heap.h.

◆ kMmapRegionMask

const uintptr_t v8::internal::Heap::kMmapRegionMask = 0xFFFFFFFFu
staticprivate

Definition at line 2216 of file heap.h.

◆ kNewLargeObjectSpaceToSemiSpaceRatio

size_t v8::internal::Heap::kNewLargeObjectSpaceToSemiSpaceRatio = 1
staticconstexpr

Definition at line 313 of file heap.h.

◆ kOldGenerationLowMemory

size_t v8::internal::Heap::kOldGenerationLowMemory
staticconstexpr
Initial value:
=

Definition at line 311 of file heap.h.

◆ kOldSurvivalRateLowThreshold

const int v8::internal::Heap::kOldSurvivalRateLowThreshold = 10
staticprivate

Definition at line 1711 of file heap.h.

◆ kPhysicalMemoryToOldGenerationRatio

size_t v8::internal::Heap::kPhysicalMemoryToOldGenerationRatio = 4
staticconstexpr

Definition at line 310 of file heap.h.

◆ kPointerMultiplier

const int v8::internal::Heap::kPointerMultiplier = kTaggedSize / 4
static

Definition at line 299 of file heap.h.

◆ kRememberedUnmappedPages

const int v8::internal::Heap::kRememberedUnmappedPages = 128
staticprivate

Definition at line 1707 of file heap.h.

◆ kRetainMapEntrySize

int v8::internal::Heap::kRetainMapEntrySize = 2
staticconstexprprivate

Definition at line 1821 of file heap.h.

◆ kStacktraceBufferSize

const int v8::internal::Heap::kStacktraceBufferSize = 512
static

Definition at line 316 of file heap.h.

◆ kTraceRingBufferSize

const int v8::internal::Heap::kTraceRingBufferSize = 512
static

Definition at line 315 of file heap.h.

◆ kYoungSurvivalRateAllowedDeviation

const int v8::internal::Heap::kYoungSurvivalRateAllowedDeviation = 15
staticprivate

Definition at line 1710 of file heap.h.

◆ kYoungSurvivalRateHighThreshold

const int v8::internal::Heap::kYoungSurvivalRateHighThreshold = 90
staticprivate

Definition at line 1709 of file heap.h.

◆ last_gc_time_

double v8::internal::Heap::last_gc_time_ = 0.0
private

Definition at line 2262 of file heap.h.

◆ live_object_stats_

std::unique_ptr<ObjectStats> v8::internal::Heap::live_object_stats_
private

Definition at line 2276 of file heap.h.

◆ lo_space_

OldLargeObjectSpace* v8::internal::Heap::lo_space_ = nullptr
private

Definition at line 2146 of file heap.h.

◆ load_start_time_ms_

std::atomic<double> v8::internal::Heap::load_start_time_ms_ {kLoadTimeNotLoading}
private

Definition at line 2405 of file heap.h.

◆ main_thread_local_heap_

LocalHeap* v8::internal::Heap::main_thread_local_heap_ = nullptr
private

Definition at line 2191 of file heap.h.

◆ mark_compact_collector_

std::unique_ptr<MarkCompactCollector> v8::internal::Heap::mark_compact_collector_
private

Definition at line 2266 of file heap.h.

◆ marking_state_

MarkingState v8::internal::Heap::marking_state_
private

Definition at line 2391 of file heap.h.

◆ max_global_memory_size_

size_t v8::internal::Heap::max_global_memory_size_ = 0
private

Definition at line 2096 of file heap.h.

◆ max_marking_limit_reached_

std::atomic<double> v8::internal::Heap::max_marking_limit_reached_ = 0.0
private

Definition at line 2204 of file heap.h.

◆ max_old_generation_size_

std::atomic<size_t> v8::internal::Heap::max_old_generation_size_ {0}
private

Definition at line 2092 of file heap.h.

◆ max_regular_code_object_size_

int v8::internal::Heap::max_regular_code_object_size_ = 0
private

Definition at line 2376 of file heap.h.

◆ max_semi_space_size_

size_t v8::internal::Heap::max_semi_space_size_ = 0
private

Definition at line 2084 of file heap.h.

◆ maximum_committed_

size_t v8::internal::Heap::maximum_committed_ = 0
private

Definition at line 2115 of file heap.h.

◆ mb_

std::unique_ptr<MemoryBalancer> v8::internal::Heap::mb_
private

Definition at line 2399 of file heap.h.

◆ memory_allocator_

std::unique_ptr<MemoryAllocator> v8::internal::Heap::memory_allocator_
private

Definition at line 2271 of file heap.h.

◆ memory_measurement_

std::unique_ptr<MemoryMeasurement> v8::internal::Heap::memory_measurement_
private

Definition at line 2274 of file heap.h.

◆ memory_pressure_level_

std::atomic<v8::MemoryPressureLevel> v8::internal::Heap::memory_pressure_level_
private

Definition at line 2133 of file heap.h.

◆ memory_reducer_

std::unique_ptr<MemoryReducer> v8::internal::Heap::memory_reducer_
private

Definition at line 2275 of file heap.h.

◆ min_global_memory_size_

size_t v8::internal::Heap::min_global_memory_size_ = 0
private

Definition at line 2095 of file heap.h.

◆ min_old_generation_size_

size_t v8::internal::Heap::min_old_generation_size_ = 0
private

Definition at line 2089 of file heap.h.

◆ min_semi_space_size_

size_t v8::internal::Heap::min_semi_space_size_ = 0
private

Definition at line 2085 of file heap.h.

◆ minor_gc_job_

std::unique_ptr<MinorGCJob> v8::internal::Heap::minor_gc_job_
private

Definition at line 2278 of file heap.h.

◆ minor_mark_sweep_collector_

std::unique_ptr<MinorMarkSweepCollector> v8::internal::Heap::minor_mark_sweep_collector_
private

Definition at line 2267 of file heap.h.

◆ mmap_region_base_

uintptr_t v8::internal::Heap::mmap_region_base_ = 0
private

Definition at line 2217 of file heap.h.

◆ ms_count_

unsigned int v8::internal::Heap::ms_count_ = 0
private

Definition at line 2207 of file heap.h.

◆ native_contexts_list_

std::atomic<Address> v8::internal::Heap::native_contexts_list_
private

Definition at line 2234 of file heap.h.

◆ near_heap_limit_callbacks_

std::vector<std::pair<v8::NearHeapLimitCallback, void*> > v8::internal::Heap::near_heap_limit_callbacks_
private

Definition at line 2136 of file heap.h.

◆ need_to_remove_stress_concurrent_allocation_observer_

bool v8::internal::Heap::need_to_remove_stress_concurrent_allocation_observer_ = false
private

Definition at line 2317 of file heap.h.

◆ new_lo_space_

NewLargeObjectSpace* v8::internal::Heap::new_lo_space_ = nullptr
private

Definition at line 2148 of file heap.h.

◆ new_space_

NewSpace* v8::internal::Heap::new_space_ = nullptr
private

Definition at line 2142 of file heap.h.

◆ new_space_allocation_counter_

size_t v8::internal::Heap::new_space_allocation_counter_ = 0
private

Definition at line 2322 of file heap.h.

◆ new_space_surviving_object_size_

size_t v8::internal::Heap::new_space_surviving_object_size_ = 0
private

Definition at line 2251 of file heap.h.

◆ new_space_surviving_rate_

double v8::internal::Heap::new_space_surviving_rate_ = 0.0
private

Definition at line 2253 of file heap.h.

◆ nodes_copied_in_new_space_

int v8::internal::Heap::nodes_copied_in_new_space_ = 0
private

Definition at line 2255 of file heap.h.

◆ nodes_died_in_new_space_

int v8::internal::Heap::nodes_died_in_new_space_ = 0
private

Definition at line 2254 of file heap.h.

◆ nodes_promoted_

int v8::internal::Heap::nodes_promoted_ = 0
private

Definition at line 2256 of file heap.h.

◆ non_atomic_marking_state_

NonAtomicMarkingState v8::internal::Heap::non_atomic_marking_state_
private

Definition at line 2392 of file heap.h.

◆ old_generation_allocation_counter_at_last_gc_

size_t v8::internal::Heap::old_generation_allocation_counter_at_last_gc_ = 0
private

Definition at line 2327 of file heap.h.

◆ old_generation_allocation_limit_

std::atomic<size_t> v8::internal::Heap::old_generation_allocation_limit_ {0}
private

Definition at line 2227 of file heap.h.

◆ old_generation_capacity_after_bootstrap_

size_t v8::internal::Heap::old_generation_capacity_after_bootstrap_ = 0
private

Definition at line 2116 of file heap.h.

◆ old_generation_size_at_last_gc_

size_t v8::internal::Heap::old_generation_size_at_last_gc_ {0}
private

Definition at line 2330 of file heap.h.

◆ old_generation_wasted_at_last_gc_

size_t v8::internal::Heap::old_generation_wasted_at_last_gc_ {0}
private

Definition at line 2333 of file heap.h.

◆ old_space_

OldSpace* v8::internal::Heap::old_space_ = nullptr
private

Definition at line 2143 of file heap.h.

◆ owning_cpp_heap_

std::unique_ptr<CppHeap> v8::internal::Heap::owning_cpp_heap_
private

Definition at line 2300 of file heap.h.

◆ pause_allocation_observers_depth_

int v8::internal::Heap::pause_allocation_observers_depth_ = 0
private

Definition at line 2380 of file heap.h.

◆ pretenuring_handler_

PretenuringHandler v8::internal::Heap::pretenuring_handler_
private

Definition at line 2394 of file heap.h.

◆ previous_new_space_surviving_object_size_

size_t v8::internal::Heap::previous_new_space_surviving_object_size_ = 0
private

Definition at line 2252 of file heap.h.

◆ promoted_objects_size_

size_t v8::internal::Heap::promoted_objects_size_ = 0
private

Definition at line 2248 of file heap.h.

◆ promotion_rate_

double v8::internal::Heap::promotion_rate_ = 0.0
private

Definition at line 2250 of file heap.h.

◆ promotion_ratio_

double v8::internal::Heap::promotion_ratio_ = 0.0
private

Definition at line 2249 of file heap.h.

◆ read_only_space_

ReadOnlySpace* v8::internal::Heap::read_only_space_ = nullptr
private

Definition at line 2150 of file heap.h.

◆ remembered_unmapped_pages_

Address v8::internal::Heap::remembered_unmapped_pages_[kRememberedUnmappedPages]
private

Definition at line 2221 of file heap.h.

◆ remembered_unmapped_pages_index_

int v8::internal::Heap::remembered_unmapped_pages_index_ = 0
private

Definition at line 2220 of file heap.h.

◆ resize_new_space_mode_

ResizeNewSpaceMode v8::internal::Heap::resize_new_space_mode_ = ResizeNewSpaceMode::kNone
private

Definition at line 2397 of file heap.h.

◆ ring_buffer_end_

size_t v8::internal::Heap::ring_buffer_end_ = 0
private

Definition at line 2344 of file heap.h.

◆ ring_buffer_full_

bool v8::internal::Heap::ring_buffer_full_ = false
private

Definition at line 2343 of file heap.h.

◆ safepoint_

std::unique_ptr<IsolateSafepoint> v8::internal::Heap::safepoint_
private

Definition at line 2357 of file heap.h.

◆ scavenger_collector_

std::unique_ptr<ScavengerCollector> v8::internal::Heap::scavenger_collector_
private

Definition at line 2268 of file heap.h.

◆ shared_allocation_space_

PagedSpace* v8::internal::Heap::shared_allocation_space_ = nullptr
private

Definition at line 2158 of file heap.h.

◆ shared_lo_allocation_space_

OldLargeObjectSpace* v8::internal::Heap::shared_lo_allocation_space_ = nullptr
private

Definition at line 2159 of file heap.h.

◆ shared_lo_space_

SharedLargeObjectSpace* v8::internal::Heap::shared_lo_space_ = nullptr
private

Definition at line 2149 of file heap.h.

◆ shared_space_

SharedSpace* v8::internal::Heap::shared_space_ = nullptr
private

Definition at line 2145 of file heap.h.

◆ shared_trusted_allocation_space_

SharedTrustedSpace* v8::internal::Heap::shared_trusted_allocation_space_ = nullptr
private

Definition at line 2160 of file heap.h.

◆ shared_trusted_lo_allocation_space_

SharedTrustedLargeObjectSpace* v8::internal::Heap::shared_trusted_lo_allocation_space_ = nullptr
private

Definition at line 2161 of file heap.h.

◆ shared_trusted_lo_space_

SharedTrustedLargeObjectSpace* v8::internal::Heap::shared_trusted_lo_space_ = nullptr
private

Definition at line 2154 of file heap.h.

◆ shared_trusted_space_

SharedTrustedSpace* v8::internal::Heap::shared_trusted_space_ = nullptr
private

Definition at line 2152 of file heap.h.

◆ space_

std::unique_ptr<Space> v8::internal::Heap::space_[LAST_SPACE+1]
private

Definition at line 2164 of file heap.h.

◆ stress_concurrent_allocation_observer_

std::unique_ptr<AllocationObserver> v8::internal::Heap::stress_concurrent_allocation_observer_
private

Definition at line 2279 of file heap.h.

◆ stress_marking_percentage_

int v8::internal::Heap::stress_marking_percentage_ = 0
private

Definition at line 2197 of file heap.h.

◆ stress_scavenge_observer_

StressScavengeObserver* v8::internal::Heap::stress_scavenge_observer_ = nullptr
private

Definition at line 2200 of file heap.h.

◆ strong_roots_head_

StrongRootsEntry* v8::internal::Heap::strong_roots_head_ = nullptr
private

Definition at line 2312 of file heap.h.

◆ strong_roots_mutex_

base::Mutex v8::internal::Heap::strong_roots_mutex_
private

Definition at line 2313 of file heap.h.

◆ survived_since_last_expansion_

size_t v8::internal::Heap::survived_since_last_expansion_ = 0
private

Definition at line 2125 of file heap.h.

◆ sweeper_

std::unique_ptr<Sweeper> v8::internal::Heap::sweeper_
private

Definition at line 2265 of file heap.h.

◆ task_runner_

std::shared_ptr<v8::TaskRunner> v8::internal::Heap::task_runner_
private

Definition at line 2285 of file heap.h.

◆ total_gc_time_ms_

base::TimeDelta v8::internal::Heap::total_gc_time_ms_
private

Definition at line 2259 of file heap.h.

◆ trace_ring_buffer_

char v8::internal::Heap::trace_ring_buffer_[kTraceRingBufferSize]
private

Definition at line 2338 of file heap.h.

◆ tracer_

std::unique_ptr<GCTracer> v8::internal::Heap::tracer_
private

Definition at line 2264 of file heap.h.

◆ trusted_lo_space_

TrustedLargeObjectSpace* v8::internal::Heap::trusted_lo_space_ = nullptr
private

Definition at line 2153 of file heap.h.

◆ trusted_space_

TrustedSpace* v8::internal::Heap::trusted_space_ = nullptr
private

Definition at line 2151 of file heap.h.

◆ update_allocation_limits_after_loading_

bool v8::internal::Heap::update_allocation_limits_after_loading_ = false
private

Definition at line 2407 of file heap.h.

◆ using_initial_limit_

std::atomic<bool> v8::internal::Heap::using_initial_limit_ = true
private

Definition at line 2110 of file heap.h.


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