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

#include <cpp-heap.h>

Inheritance diagram for v8::internal::CppHeap:
Collaboration diagram for v8::internal::CppHeap:

Classes

class  MetricRecorderAdapter
 

Public Types

enum  GarbageCollectionFlagValues : uint8_t { kNoFlags = 0 , kReduceMemory = 1 << 1 , kForced = 1 << 2 }
 
using GarbageCollectionFlags = base::Flags<GarbageCollectionFlagValues>
 
using StackState = cppgc::internal::StackState
 
using CollectionType = cppgc::internal::CollectionType
 
- Public Types inherited from cppgc::internal::HeapBase
using StackSupport = cppgc::Heap::StackSupport
 
using MarkingType = cppgc::Heap::MarkingType
 
using SweepingType = cppgc::Heap::SweepingType
 

Public Member Functions

 CppHeap (v8::Platform *, const std::vector< std::unique_ptr< cppgc::CustomSpaceBase > > &, cppgc::Heap::MarkingType, cppgc::Heap::SweepingType)
 
 ~CppHeap () final
 
 CppHeap (const CppHeap &)=delete
 
CppHeapoperator= (const CppHeap &)=delete
 
HeapBaseAsBase ()
 
const HeapBaseAsBase () const
 
void AttachIsolate (Isolate *isolate)
 
void StartDetachingIsolate ()
 
void DetachIsolate ()
 
void Terminate ()
 
void CollectCustomSpaceStatisticsAtLastGC (std::vector< cppgc::CustomSpaceIndex >, std::unique_ptr< CustomSpaceStatisticsReceiver >)
 
void FinishSweepingIfRunning ()
 
void FinishAtomicSweepingIfRunning ()
 
void FinishSweepingIfOutOfWork ()
 
void InitializeMarking (CollectionType, std::shared_ptr<::heap::base::IncrementalMarkingSchedule > schedule={}, GarbageCollectionFlags=GarbageCollectionFlagValues::kNoFlags)
 
void StartMarking ()
 
bool AdvanceMarking (v8::base::TimeDelta max_duration, size_t marked_bytes_limit)
 
bool IsMarkingDone () const
 
size_t last_bytes_marked () const
 
void ProcessCrossThreadWeakness ()
 
void FinishMarkingAndProcessWeakness ()
 
void CompactAndSweep ()
 
void EnterFinalPause (cppgc::EmbedderStackState stack_state)
 
void EnterProcessGlobalAtomicPause ()
 
bool FinishConcurrentMarkingIfNeeded ()
 
void ReEnableConcurrentMarking ()
 
void WriteBarrier (void *)
 
bool ShouldFinalizeIncrementalMarking () const
 
void AllocatedObjectSizeIncreased (size_t) final
 
void AllocatedObjectSizeDecreased (size_t) final
 
void ResetAllocatedObjectSize (size_t) final
 
MetricRecorderAdapterGetMetricRecorder () const
 
Isolateisolate () const
 
size_t used_size () const
 
size_t allocated_size () const
 
::heap::base::Stackstack () final
 
std::unique_ptr< CppMarkingStateCreateCppMarkingState ()
 
std::unique_ptr< CppMarkingStateCreateCppMarkingStateForMutatorThread ()
 
void CollectGarbage (cppgc::internal::GCConfig) override
 
std::optional< cppgc::EmbedderStackStateoverridden_stack_state () const override
 
void set_override_stack_state (cppgc::EmbedderStackState state) override
 
void clear_overridden_stack_state () override
 
void StartIncrementalGarbageCollection (cppgc::internal::GCConfig) override
 
size_t epoch () const override
 
V8_INLINE void RememberCrossHeapReferenceIfNeeded (v8::internal::Tagged< v8::internal::JSObject > host_obj, void *value)
 
template<typename F >
void VisitCrossHeapRememberedSetIfNeeded (F f)
 
void ResetCrossHeapRememberedSet ()
 
void EnableDetachedGarbageCollectionsForTesting ()
 
void CollectGarbageForTesting (CollectionType, StackState)
 
void UpdateGCCapabilitiesFromFlagsForTesting ()
 
bool CurrentThreadIsHeapThread () const final
 
- Public Member Functions inherited from cppgc::internal::HeapBase
 HeapBase (std::shared_ptr< cppgc::Platform > platform, const std::vector< std::unique_ptr< CustomSpaceBase > > &custom_spaces, StackSupport stack_support, MarkingType marking_support, SweepingType sweeping_support, GarbageCollector &garbage_collector)
 
virtual ~HeapBase ()
 
 HeapBase (const HeapBase &)=delete
 
HeapBaseoperator= (const HeapBase &)=delete
 
RawHeapraw_heap ()
 
const RawHeapraw_heap () const
 
cppgc::Platformplatform ()
 
const cppgc::Platformplatform () const
 
FatalOutOfMemoryHandleroom_handler ()
 
const FatalOutOfMemoryHandleroom_handler () const
 
PageBackendpage_backend ()
 
const PageBackendpage_backend () const
 
StatsCollectorstats_collector ()
 
const StatsCollectorstats_collector () const
 
PreFinalizerHandlerprefinalizer_handler ()
 
const PreFinalizerHandlerprefinalizer_handler () const
 
MarkerBasemarker () const
 
std::unique_ptr< MarkerBase > & GetMarkerRefForTesting ()
 
Compactorcompactor ()
 
ObjectAllocatorobject_allocator ()
 
const ObjectAllocatorobject_allocator () const
 
Sweepersweeper ()
 
const Sweepersweeper () const
 
PersistentRegionGetStrongPersistentRegion ()
 
const PersistentRegionGetStrongPersistentRegion () const
 
PersistentRegionGetWeakPersistentRegion ()
 
const PersistentRegionGetWeakPersistentRegion () const
 
CrossThreadPersistentRegionGetStrongCrossThreadPersistentRegion ()
 
const CrossThreadPersistentRegionGetStrongCrossThreadPersistentRegion () const
 
CrossThreadPersistentRegionGetWeakCrossThreadPersistentRegion ()
 
const CrossThreadPersistentRegionGetWeakCrossThreadPersistentRegion () const
 
size_t ObjectPayloadSize () const
 
StackSupport stack_support () const
 
void Terminate ()
 
bool in_atomic_pause () const
 
HeapStatistics CollectStatistics (HeapStatistics::DetailLevel)
 
EmbedderStackState stack_state_of_prev_gc () const
 
void SetStackStateOfPrevGC (EmbedderStackState stack_state)
 
void SetInAtomicPauseForTesting (bool value)
 
void SetMetricRecorder (std::unique_ptr< MetricRecorder > histogram_recorder)
 
MarkingType marking_support () const
 
SweepingType sweeping_support () const
 
bool incremental_marking_supported () const
 
bool generational_gc_supported () const
 
StickyBits sticky_bits () const
 
HeapObjectNameForUnnamedObject name_of_unnamed_object () const
 
void set_name_of_unnamed_object (HeapObjectNameForUnnamedObject value)
 
bool HasMoveListeners () const
 
void CallMoveListeners (Address from, Address to, size_t size_including_header)
 
void RegisterMoveListener (MoveListener *listener)
 
void UnregisterMoveListener (MoveListener *listener)
 
void set_incremental_marking_in_progress (bool value)
 
void EnterNoGCScope ()
 
void LeaveNoGCScope ()
 
void EnterDisallowGCScope ()
 
void LeaveDisallowGCScope ()
 
- Public Member Functions inherited from cppgc::HeapHandle
 HeapHandle (const HeapHandle &)=delete
 
HeapHandleoperator= (const HeapHandle &)=delete
 
- Public Member Functions inherited from v8::CppHeap
cppgc::AllocationHandleGetAllocationHandle ()
 
cppgc::HeapHandleGetHeapHandle ()
 
void Terminate ()
 
cppgc::HeapStatistics CollectStatistics (cppgc::HeapStatistics::DetailLevel detail_level)
 
void CollectCustomSpaceStatisticsAtLastGC (std::vector< cppgc::CustomSpaceIndex > custom_spaces, std::unique_ptr< CustomSpaceStatisticsReceiver > receiver)
 
void EnableDetachedGarbageCollectionsForTesting ()
 
void CollectGarbageForTesting (cppgc::EmbedderStackState stack_state)
 
void CollectGarbageInYoungGenerationForTesting (cppgc::EmbedderStackState stack_state)
 
- Public Member Functions inherited from cppgc::internal::StatsCollector::AllocationObserver
virtual void AllocatedSizeIncreased (size_t)
 
virtual void AllocatedSizeDecreased (size_t)
 
- Public Member Functions inherited from cppgc::internal::GarbageCollector

Static Public Member Functions

static void InitializeOncePerProcess ()
 
static CppHeapFrom (v8::CppHeap *heap)
 
static const CppHeapFrom (const v8::CppHeap *heap)
 
- Static Public Member Functions inherited from cppgc::internal::HeapBase
static HeapBaseFrom (cppgc::HeapHandle &heap_handle)
 
static const HeapBaseFrom (const cppgc::HeapHandle &heap_handle)
 
- Static Public Member Functions inherited from v8::CppHeap
static std::unique_ptr< CppHeapCreate (v8::Platform *platform, const CppHeapCreateParams &params)
 

Private Member Functions

void UpdateGCCapabilitiesFromFlags ()
 
void FinalizeIncrementalGarbageCollectionIfNeeded (cppgc::Heap::StackState) final
 
void ReportBufferedAllocationSizeIfPossible ()
 
void StartIncrementalGarbageCollectionForTesting () final
 
void FinalizeIncrementalGarbageCollectionForTesting (cppgc::EmbedderStackState) final
 
MarkingType SelectMarkingType () const
 
SweepingType SelectSweepingType () const
 
bool TracingInitialized () const
 
bool IsGCForbidden () const override
 
bool IsGCAllowed () const override
 
bool IsDetachedGCAllowed () const
 
Heapheap () const
 

Private Attributes

Isolateisolate_ = nullptr
 
Heapheap_ = nullptr
 
bool marking_done_ = true
 
std::optional< CollectionTypecollection_type_
 
GarbageCollectionFlags current_gc_flags_
 
std::unique_ptr< MinorGCHeapGrowingminor_gc_heap_growing_
 
CrossHeapRememberedSet cross_heap_remembered_set_
 
std::unique_ptr< cppgc::internal::Sweeper::SweepingOnMutatorThreadObserversweeping_on_mutator_thread_observer_
 
int64_t buffered_allocated_bytes_ = 0
 
bool in_detached_testing_mode_ = false
 
bool force_incremental_marking_for_testing_ = false
 
bool is_in_v8_marking_step_ = false
 
std::atomic< size_tused_size_ {0}
 
size_t allocated_size_ = 0
 
size_t allocated_size_limit_for_check_ = 0
 
std::optional< cppgc::EmbedderStackStatedetached_override_stack_state_
 
std::unique_ptr< v8::internal::EmbedderStackStateScopeoverride_stack_state_scope_
 
bool already_terminated_ = false
 
bool is_detached_ = true
 

Friends

class MetricRecorderAdapter
 

Additional Inherited Members

- Protected Member Functions inherited from cppgc::internal::HeapBase
bool in_no_gc_scope () const
 
bool IsMarking () const
 
size_t ExecutePreFinalizers ()
 
PageAllocatorpage_allocator () const
 
- Static Protected Member Functions inherited from cppgc::internal::HeapBase
static std::unique_ptr< PageBackendInitializePageBackend (PageAllocator &allocator)
 
- Protected Attributes inherited from cppgc::internal::HeapBase
int heap_thread_id_ = v8::base::OS::GetCurrentThreadId()
 
RawHeap raw_heap_
 
std::shared_ptr< cppgc::Platformplatform_
 
std::unique_ptr< FatalOutOfMemoryHandleroom_handler_
 
std::unique_ptr< PageBackendpage_backend_
 
HeapRegistry::Subscription heap_registry_subscription_ {*this}
 
std::unique_ptr< StatsCollectorstats_collector_
 
std::unique_ptr< heap::base::Stackstack_
 
std::unique_ptr< PreFinalizerHandlerprefinalizer_handler_
 
std::unique_ptr< MarkerBasemarker_
 
Compactor compactor_
 
ObjectAllocator object_allocator_
 
Sweeper sweeper_
 
PersistentRegion strong_persistent_region_
 
PersistentRegion weak_persistent_region_
 
CrossThreadPersistentRegion strong_cross_thread_persistent_region_
 
CrossThreadPersistentRegion weak_cross_thread_persistent_region_
 
ProcessHeapStatisticsUpdater::AllocationObserverImpl allocation_observer_for_PROCESS_HEAP_STATISTICS_
 
size_t no_gc_scope_ = 0
 
size_t disallow_gc_scope_ = 0
 
const StackSupport stack_support_
 
EmbedderStackState stack_state_of_prev_gc_
 
bool in_atomic_pause_ = false
 
MarkingType marking_support_
 
SweepingType sweeping_support_
 
HeapObjectNameForUnnamedObject name_for_unnamed_object_
 
std::vector< MoveListener * > move_listeners_
 

Detailed Description

Definition at line 39 of file cpp-heap.h.

Member Typedef Documentation

◆ CollectionType

◆ GarbageCollectionFlags

◆ StackState

Member Enumeration Documentation

◆ GarbageCollectionFlagValues

Enumerator
kNoFlags 
kReduceMemory 
kForced 

Definition at line 45 of file cpp-heap.h.

Constructor & Destructor Documentation

◆ CppHeap() [1/2]

v8::internal::CppHeap::CppHeap ( v8::Platform * platform,
const std::vector< std::unique_ptr< cppgc::CustomSpaceBase > > & custom_spaces,
cppgc::Heap::MarkingType marking_support,
cppgc::Heap::SweepingType sweeping_support )

Definition at line 493 of file cpp-heap.cc.

Here is the call graph for this function:

◆ ~CppHeap()

v8::internal::CppHeap::~CppHeap ( )
finalvirtual

Reimplemented from v8::CppHeap.

Definition at line 515 of file cpp-heap.cc.

Here is the call graph for this function:

◆ CppHeap() [2/2]

v8::internal::CppHeap::CppHeap ( const CppHeap & )
delete

Member Function Documentation

◆ AdvanceMarking()

bool v8::internal::CppHeap::AdvanceMarking ( v8::base::TimeDelta max_duration,
size_t marked_bytes_limit )

Definition at line 852 of file cpp-heap.cc.

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

◆ allocated_size()

size_t v8::internal::CppHeap::allocated_size ( ) const
inline

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

Here is the caller graph for this function:

◆ AllocatedObjectSizeDecreased()

void v8::internal::CppHeap::AllocatedObjectSizeDecreased ( size_t bytes)
finalvirtual

Reimplemented from cppgc::internal::StatsCollector::AllocationObserver.

Definition at line 1039 of file cpp-heap.cc.

Here is the call graph for this function:

◆ AllocatedObjectSizeIncreased()

void v8::internal::CppHeap::AllocatedObjectSizeIncreased ( size_t bytes)
finalvirtual

Reimplemented from cppgc::internal::StatsCollector::AllocationObserver.

Definition at line 1034 of file cpp-heap.cc.

Here is the call graph for this function:

◆ AsBase() [1/2]

HeapBase & v8::internal::CppHeap::AsBase ( )
inline

Definition at line 117 of file cpp-heap.h.

Here is the caller graph for this function:

◆ AsBase() [2/2]

const HeapBase & v8::internal::CppHeap::AsBase ( ) const
inline

Definition at line 118 of file cpp-heap.h.

◆ AttachIsolate()

void v8::internal::CppHeap::AttachIsolate ( Isolate * isolate)

Definition at line 601 of file cpp-heap.cc.

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

◆ clear_overridden_stack_state()

void v8::internal::CppHeap::clear_overridden_stack_state ( )
overridevirtual

Implements cppgc::internal::HeapBase.

Definition at line 1307 of file cpp-heap.cc.

◆ CollectCustomSpaceStatisticsAtLastGC()

void v8::internal::CppHeap::CollectCustomSpaceStatisticsAtLastGC ( std::vector< cppgc::CustomSpaceIndex > custom_spaces,
std::unique_ptr< CustomSpaceStatisticsReceiver > receiver )

Definition at line 1220 of file cpp-heap.cc.

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

◆ CollectGarbage()

void v8::internal::CppHeap::CollectGarbage ( cppgc::internal::GCConfig config)
overridevirtual

Implements cppgc::internal::GarbageCollector.

Definition at line 1273 of file cpp-heap.cc.

Here is the call graph for this function:

◆ CollectGarbageForTesting()

void v8::internal::CppHeap::CollectGarbageForTesting ( CollectionType collection_type,
StackState stack_state )

Definition at line 1090 of file cpp-heap.cc.

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

◆ CompactAndSweep()

void v8::internal::CppHeap::CompactAndSweep ( )

Definition at line 982 of file cpp-heap.cc.

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

◆ CreateCppMarkingState()

std::unique_ptr< CppMarkingState > v8::internal::CppHeap::CreateCppMarkingState ( )

Definition at line 1257 of file cpp-heap.cc.

Here is the call graph for this function:

◆ CreateCppMarkingStateForMutatorThread()

std::unique_ptr< CppMarkingState > v8::internal::CppHeap::CreateCppMarkingStateForMutatorThread ( )

Definition at line 1266 of file cpp-heap.cc.

Here is the call graph for this function:

◆ CurrentThreadIsHeapThread()

bool v8::internal::CppHeap::CurrentThreadIsHeapThread ( ) const
finalvirtual

Reimplemented from cppgc::internal::HeapBase.

Definition at line 1365 of file cpp-heap.cc.

Here is the call graph for this function:

◆ DetachIsolate()

void v8::internal::CppHeap::DetachIsolate ( )

Definition at line 656 of file cpp-heap.cc.

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

◆ EnableDetachedGarbageCollectionsForTesting()

void v8::internal::CppHeap::EnableDetachedGarbageCollectionsForTesting ( )

Definition at line 1126 of file cpp-heap.cc.

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

◆ EnterFinalPause()

void v8::internal::CppHeap::EnterFinalPause ( cppgc::EmbedderStackState stack_state)

Definition at line 890 of file cpp-heap.cc.

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

◆ EnterProcessGlobalAtomicPause()

void v8::internal::CppHeap::EnterProcessGlobalAtomicPause ( )

Definition at line 882 of file cpp-heap.cc.

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

◆ epoch()

size_t v8::internal::CppHeap::epoch ( ) const
overridevirtual

Implements cppgc::internal::GarbageCollector.

Definition at line 1323 of file cpp-heap.cc.

Here is the call graph for this function:

◆ FinalizeIncrementalGarbageCollectionForTesting()

void v8::internal::CppHeap::FinalizeIncrementalGarbageCollectionForTesting ( cppgc::EmbedderStackState stack_state)
finalprivatevirtual

Implements cppgc::internal::HeapBase.

Definition at line 1146 of file cpp-heap.cc.

Here is the call graph for this function:

◆ FinalizeIncrementalGarbageCollectionIfNeeded()

void v8::internal::CppHeap::FinalizeIncrementalGarbageCollectionIfNeeded ( cppgc::Heap::StackState )
inlinefinalprivatevirtual

Implements cppgc::internal::HeapBase.

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

◆ FinishAtomicSweepingIfRunning()

void v8::internal::CppHeap::FinishAtomicSweepingIfRunning ( )

Definition at line 1246 of file cpp-heap.cc.

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

◆ FinishConcurrentMarkingIfNeeded()

bool v8::internal::CppHeap::FinishConcurrentMarkingIfNeeded ( )

Definition at line 910 of file cpp-heap.cc.

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

◆ FinishMarkingAndProcessWeakness()

void v8::internal::CppHeap::FinishMarkingAndProcessWeakness ( )

Definition at line 946 of file cpp-heap.cc.

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

◆ FinishSweepingIfOutOfWork()

void v8::internal::CppHeap::FinishSweepingIfOutOfWork ( )

Definition at line 1255 of file cpp-heap.cc.

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

◆ FinishSweepingIfRunning()

void v8::internal::CppHeap::FinishSweepingIfRunning ( )

Definition at line 1239 of file cpp-heap.cc.

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

◆ From() [1/2]

static const CppHeap * v8::internal::CppHeap::From ( const v8::CppHeap * heap)
inlinestatic

Definition at line 105 of file cpp-heap.h.

◆ From() [2/2]

static CppHeap * v8::internal::CppHeap::From ( v8::CppHeap * heap)
inlinestatic

Definition at line 102 of file cpp-heap.h.

◆ GetMetricRecorder()

CppHeap::MetricRecorderAdapter * v8::internal::CppHeap::GetMetricRecorder ( ) const

Definition at line 1234 of file cpp-heap.cc.

Here is the caller graph for this function:

◆ heap()

Heap * v8::internal::CppHeap::heap ( ) const
inlineprivate

Definition at line 232 of file cpp-heap.h.

Here is the caller graph for this function:

◆ InitializeMarking()

void v8::internal::CppHeap::InitializeMarking ( CollectionType collection_type,
std::shared_ptr<::heap::base::IncrementalMarkingSchedule > schedule = {},
GarbageCollectionFlags gc_flags = GarbageCollectionFlagValues::kNoFlags )

Definition at line 751 of file cpp-heap.cc.

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

◆ InitializeOncePerProcess()

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

Definition at line 488 of file cpp-heap.cc.

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

◆ IsDetachedGCAllowed()

bool v8::internal::CppHeap::IsDetachedGCAllowed ( ) const
private

Definition at line 1351 of file cpp-heap.cc.

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

◆ IsGCAllowed()

bool v8::internal::CppHeap::IsGCAllowed ( ) const
overrideprivatevirtual

Reimplemented from cppgc::internal::HeapBase.

Definition at line 1355 of file cpp-heap.cc.

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

◆ IsGCForbidden()

bool v8::internal::CppHeap::IsGCForbidden ( ) const
overrideprivatevirtual

Reimplemented from cppgc::internal::HeapBase.

Definition at line 1359 of file cpp-heap.cc.

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

◆ IsMarkingDone()

bool v8::internal::CppHeap::IsMarkingDone ( ) const

Definition at line 874 of file cpp-heap.cc.

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

◆ isolate()

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

Definition at line 167 of file cpp-heap.h.

Here is the caller graph for this function:

◆ last_bytes_marked()

size_t v8::internal::CppHeap::last_bytes_marked ( ) const

Definition at line 847 of file cpp-heap.cc.

Here is the call graph for this function:

◆ operator=()

CppHeap & v8::internal::CppHeap::operator= ( const CppHeap & )
delete

◆ overridden_stack_state()

std::optional< cppgc::EmbedderStackState > v8::internal::CppHeap::overridden_stack_state ( ) const
overridevirtual

Implements cppgc::internal::GarbageCollector.

Definition at line 1290 of file cpp-heap.cc.

Here is the call graph for this function:

◆ ProcessCrossThreadWeakness()

void v8::internal::CppHeap::ProcessCrossThreadWeakness ( )

Definition at line 935 of file cpp-heap.cc.

Here is the call graph for this function:

◆ ReEnableConcurrentMarking()

void v8::internal::CppHeap::ReEnableConcurrentMarking ( )

Definition at line 915 of file cpp-heap.cc.

◆ RememberCrossHeapReferenceIfNeeded()

void v8::internal::CppHeap::RememberCrossHeapReferenceIfNeeded ( v8::internal::Tagged< v8::internal::JSObject > host_obj,
void * value )

Definition at line 279 of file cpp-heap.h.

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

◆ ReportBufferedAllocationSizeIfPossible()

void v8::internal::CppHeap::ReportBufferedAllocationSizeIfPossible ( )
private

Definition at line 1044 of file cpp-heap.cc.

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

◆ ResetAllocatedObjectSize()

void v8::internal::CppHeap::ResetAllocatedObjectSize ( size_t )
inlinefinalvirtual

Reimplemented from cppgc::internal::StatsCollector::AllocationObserver.

Definition at line 163 of file cpp-heap.h.

◆ ResetCrossHeapRememberedSet()

void v8::internal::CppHeap::ResetCrossHeapRememberedSet ( )

Definition at line 1338 of file cpp-heap.cc.

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

◆ SelectMarkingType()

CppHeap::MarkingType v8::internal::CppHeap::SelectMarkingType ( ) const
private

Definition at line 704 of file cpp-heap.cc.

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

◆ SelectSweepingType()

CppHeap::SweepingType v8::internal::CppHeap::SelectSweepingType ( ) const
private

Definition at line 724 of file cpp-heap.cc.

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

◆ set_override_stack_state()

void v8::internal::CppHeap::set_override_stack_state ( cppgc::EmbedderStackState state)
overridevirtual

Implements cppgc::internal::HeapBase.

Definition at line 1296 of file cpp-heap.cc.

◆ ShouldFinalizeIncrementalMarking()

bool v8::internal::CppHeap::ShouldFinalizeIncrementalMarking ( ) const

Definition at line 878 of file cpp-heap.cc.

Here is the call graph for this function:

◆ stack()

heap::base::Stack * v8::internal::CppHeap::stack ( )
finalvirtual

Reimplemented from cppgc::internal::HeapBase.

Definition at line 682 of file cpp-heap.cc.

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

◆ StartDetachingIsolate()

void v8::internal::CppHeap::StartDetachingIsolate ( )

Definition at line 637 of file cpp-heap.cc.

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

◆ StartIncrementalGarbageCollection()

void v8::internal::CppHeap::StartIncrementalGarbageCollection ( cppgc::internal::GCConfig )
overridevirtual

Implements cppgc::internal::GarbageCollector.

Definition at line 1319 of file cpp-heap.cc.

Here is the call graph for this function:

◆ StartIncrementalGarbageCollectionForTesting()

void v8::internal::CppHeap::StartIncrementalGarbageCollectionForTesting ( )
finalprivatevirtual

Implements cppgc::internal::HeapBase.

Definition at line 1135 of file cpp-heap.cc.

Here is the call graph for this function:

◆ StartMarking()

void v8::internal::CppHeap::StartMarking ( )

Definition at line 833 of file cpp-heap.cc.

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

◆ Terminate()

void v8::internal::CppHeap::Terminate ( )

Definition at line 519 of file cpp-heap.cc.

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

◆ TracingInitialized()

bool v8::internal::CppHeap::TracingInitialized ( ) const
inlineprivate

Definition at line 226 of file cpp-heap.h.

Here is the caller graph for this function:

◆ UpdateGCCapabilitiesFromFlags()

void v8::internal::CppHeap::UpdateGCCapabilitiesFromFlags ( )
private

Definition at line 730 of file cpp-heap.cc.

Here is the caller graph for this function:

◆ UpdateGCCapabilitiesFromFlagsForTesting()

void v8::internal::CppHeap::UpdateGCCapabilitiesFromFlagsForTesting ( )

Definition at line 1347 of file cpp-heap.cc.

Here is the call graph for this function:

◆ used_size()

size_t v8::internal::CppHeap::used_size ( ) const
inline

Definition at line 169 of file cpp-heap.h.

Here is the caller graph for this function:

◆ VisitCrossHeapRememberedSetIfNeeded()

template<typename F >
void v8::internal::CppHeap::VisitCrossHeapRememberedSetIfNeeded ( F f)
inline

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

Here is the call graph for this function:

◆ WriteBarrier()

void v8::internal::CppHeap::WriteBarrier ( void * object)

Definition at line 920 of file cpp-heap.cc.

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

Friends And Related Symbol Documentation

◆ MetricRecorderAdapter

friend class MetricRecorderAdapter
friend

Definition at line 276 of file cpp-heap.h.

Member Data Documentation

◆ allocated_size_

size_t v8::internal::CppHeap::allocated_size_ = 0
private

Definition at line 260 of file cpp-heap.h.

◆ allocated_size_limit_for_check_

size_t v8::internal::CppHeap::allocated_size_limit_for_check_ = 0
private

Definition at line 263 of file cpp-heap.h.

◆ already_terminated_

bool v8::internal::CppHeap::already_terminated_ = false
private

Definition at line 273 of file cpp-heap.h.

◆ buffered_allocated_bytes_

int64_t v8::internal::CppHeap::buffered_allocated_bytes_ = 0
private

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

◆ collection_type_

std::optional<CollectionType> v8::internal::CppHeap::collection_type_
private

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

◆ cross_heap_remembered_set_

CrossHeapRememberedSet v8::internal::CppHeap::cross_heap_remembered_set_
private

Definition at line 242 of file cpp-heap.h.

◆ current_gc_flags_

GarbageCollectionFlags v8::internal::CppHeap::current_gc_flags_
private

Definition at line 239 of file cpp-heap.h.

◆ detached_override_stack_state_

std::optional<cppgc::EmbedderStackState> v8::internal::CppHeap::detached_override_stack_state_
private

Definition at line 265 of file cpp-heap.h.

◆ force_incremental_marking_for_testing_

bool v8::internal::CppHeap::force_incremental_marking_for_testing_ = false
private

Definition at line 253 of file cpp-heap.h.

◆ heap_

Heap* v8::internal::CppHeap::heap_ = nullptr
private

Definition at line 235 of file cpp-heap.h.

◆ in_detached_testing_mode_

bool v8::internal::CppHeap::in_detached_testing_mode_ = false
private

Definition at line 252 of file cpp-heap.h.

◆ is_detached_

bool v8::internal::CppHeap::is_detached_ = true
private

Definition at line 274 of file cpp-heap.h.

◆ is_in_v8_marking_step_

bool v8::internal::CppHeap::is_in_v8_marking_step_ = false
private

Definition at line 254 of file cpp-heap.h.

◆ isolate_

Isolate* v8::internal::CppHeap::isolate_ = nullptr
private

Definition at line 234 of file cpp-heap.h.

◆ marking_done_

bool v8::internal::CppHeap::marking_done_ = true
private

Definition at line 236 of file cpp-heap.h.

◆ minor_gc_heap_growing_

std::unique_ptr<MinorGCHeapGrowing> v8::internal::CppHeap::minor_gc_heap_growing_
private

Definition at line 241 of file cpp-heap.h.

◆ override_stack_state_scope_

std::unique_ptr<v8::internal::EmbedderStackStateScope> v8::internal::CppHeap::override_stack_state_scope_
private

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

◆ sweeping_on_mutator_thread_observer_

std::unique_ptr<cppgc::internal::Sweeper::SweepingOnMutatorThreadObserver> v8::internal::CppHeap::sweeping_on_mutator_thread_observer_
private

Definition at line 245 of file cpp-heap.h.

◆ used_size_

std::atomic<size_t> v8::internal::CppHeap::used_size_ {0}
private

Definition at line 257 of file cpp-heap.h.


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