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
 
CppHeap & operator= (const CppHeap &)=delete
 
HeapBase & AsBase ()
 
const HeapBase & AsBase () 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
 
MetricRecorderAdapter * GetMetricRecorder () const
 
Isolate * isolate () const
 
size_t used_size () const
 
size_t allocated_size () const
 
::heap::base::Stack * stack () final
 
std::unique_ptr< CppMarkingState > CreateCppMarkingState ()
 
std::unique_ptr< CppMarkingState > CreateCppMarkingStateForMutatorThread ()
 
void CollectGarbage (cppgc::internal::GCConfig) override
 
std::optional< cppgc::EmbedderStackState > overridden_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
 
HeapBase & operator= (const HeapBase &)=delete
 
RawHeap & raw_heap ()
 
const RawHeap & raw_heap () const
 
cppgc::Platform * platform ()
 
const cppgc::Platform * platform () const
 
FatalOutOfMemoryHandler & oom_handler ()
 
const FatalOutOfMemoryHandler & oom_handler () const
 
PageBackend * page_backend ()
 
const PageBackend * page_backend () const
 
StatsCollector * stats_collector ()
 
const StatsCollector * stats_collector () const
 
PreFinalizerHandler * prefinalizer_handler ()
 
const PreFinalizerHandler * prefinalizer_handler () const
 
MarkerBase * marker () const
 
std::unique_ptr< MarkerBase > & GetMarkerRefForTesting ()
 
Compactor & compactor ()
 
ObjectAllocator & object_allocator ()
 
const ObjectAllocator & object_allocator () const
 
Sweeper & sweeper ()
 
const Sweeper & sweeper () const
 
PersistentRegion & GetStrongPersistentRegion ()
 
const PersistentRegion & GetStrongPersistentRegion () const
 
PersistentRegion & GetWeakPersistentRegion ()
 
const PersistentRegion & GetWeakPersistentRegion () const
 
CrossThreadPersistentRegion & GetStrongCrossThreadPersistentRegion ()
 
const CrossThreadPersistentRegion & GetStrongCrossThreadPersistentRegion () const
 
CrossThreadPersistentRegion & GetWeakCrossThreadPersistentRegion ()
 
const CrossThreadPersistentRegion & GetWeakCrossThreadPersistentRegion () 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
 
HeapHandle & operator= (const HeapHandle &)=delete
 
- Public Member Functions inherited from v8::CppHeap
cppgc::AllocationHandle & GetAllocationHandle ()
 
cppgc::HeapHandle & GetHeapHandle ()
 
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 CppHeap * From (v8::CppHeap *heap)
 
static const CppHeap * From (const v8::CppHeap *heap)
 
- Static Public Member Functions inherited from cppgc::internal::HeapBase
static HeapBase & From (cppgc::HeapHandle &heap_handle)
 
static const HeapBase & From (const cppgc::HeapHandle &heap_handle)
 
- Static Public Member Functions inherited from v8::CppHeap
static std::unique_ptr< CppHeap > Create (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
 
Heap * heap () const
 

Private Attributes

Isolate * isolate_ = nullptr
 
Heap * heap_ = nullptr
 
bool marking_done_ = true
 
std::optional< CollectionType > collection_type_
 
GarbageCollectionFlags current_gc_flags_
 
std::unique_ptr< MinorGCHeapGrowing > minor_gc_heap_growing_
 
CrossHeapRememberedSet cross_heap_remembered_set_
 
std::unique_ptr< cppgc::internal::Sweeper::SweepingOnMutatorThreadObserver > sweeping_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_t > used_size_ {0}
 
size_t allocated_size_ = 0
 
size_t allocated_size_limit_for_check_ = 0
 
std::optional< cppgc::EmbedderStackState > detached_override_stack_state_
 
std::unique_ptr< v8::internal::EmbedderStackStateScope > override_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 ()
 
PageAllocator * page_allocator () const
 
- Static Protected Member Functions inherited from cppgc::internal::HeapBase
static std::unique_ptr< PageBackend > InitializePageBackend (PageAllocator &allocator)
 
- Protected Attributes inherited from cppgc::internal::HeapBase
int heap_thread_id_ = v8::base::OS::GetCurrentThreadId()
 
RawHeap raw_heap_
 
std::shared_ptr< cppgc::Platform > platform_
 
std::unique_ptr< FatalOutOfMemoryHandler > oom_handler_
 
std::unique_ptr< PageBackend > page_backend_
 
HeapRegistry::Subscription heap_registry_subscription_ {*this}
 
std::unique_ptr< StatsCollector > stats_collector_
 
std::unique_ptr< heap::base::Stack > stack_
 
std::unique_ptr< PreFinalizerHandler > prefinalizer_handler_
 
std::unique_ptr< MarkerBase > marker_
 
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: