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

#include <marking-state.h>

Inheritance diagram for cppgc::internal::ConcurrentMarkingState:
Collaboration diagram for cppgc::internal::ConcurrentMarkingState:

Public Member Functions

 ConcurrentMarkingState (HeapBase &heap, MarkingWorklists &marking_worklists, CompactionWorklists *compaction_worklists)
 
 ~ConcurrentMarkingState () override=default
 
void AccountDeferredMarkedBytes (BasePage *base_page, size_t deferred_bytes)
 
- Public Member Functions inherited from cppgc::internal::BasicMarkingState
 BasicMarkingState (HeapBase &heap, MarkingWorklists &, CompactionWorklists *)
 
 ~BasicMarkingState () override
 
 BasicMarkingState (const BasicMarkingState &)=delete
 
BasicMarkingStateoperator= (const BasicMarkingState &)=delete
 
void RegisterWeakReferenceIfNeeded (const void *, TraceDescriptor, WeakCallback, const void *)
 
void RegisterWeakContainerCallback (WeakCallback, const void *)
 
void RegisterWeakCustomCallback (WeakCallback, const void *)
 
void RegisterMovableReference (const void **slot)
 
void ProcessWeakContainer (const void *, TraceDescriptor, WeakCallback, const void *)
 
void ProcessEphemeron (const void *, const void *, TraceDescriptor, Visitor &)
 
void AccountMarkedBytes (const HeapObjectHeader &)
 
void AccountMarkedBytes (BasePage *, size_t)
 
size_t marked_bytes () const
 
size_t RecentlyMarkedBytes ()
 
V8_EXPORT_PRIVATE void Publish () override
 
MarkingWorklists::PreviouslyNotFullyConstructedWorklist::Local & previously_not_fully_constructed_worklist ()
 
MarkingWorklists::WeakCallbackWorklist::Local & weak_container_callback_worklist ()
 
MarkingWorklists::WeakCallbackWorklist::Local & parallel_weak_callback_worklist ()
 
MarkingWorklists::WeakCustomCallbackWorklist::Local & weak_custom_callback_worklist ()
 
MarkingWorklists::WriteBarrierWorklist::Local & write_barrier_worklist ()
 
MarkingWorklists::ConcurrentMarkingBailoutWorklist::Local & concurrent_marking_bailout_worklist ()
 
MarkingWorklists::EphemeronPairsWorklist::Local & discovered_ephemeron_pairs_worklist ()
 
MarkingWorklists::EphemeronPairsWorklist::Local & ephemeron_pairs_for_processing_worklist ()
 
MarkingWorklists::WeakContainersWorklistweak_containers_worklist ()
 
CompactionWorklists::MovableReferencesWorklist::Local * movable_slots_worklist ()
 
bool DidDiscoverNewEphemeronPairs () const
 
void ResetDidDiscoverNewEphemeronPairs ()
 
void set_in_atomic_pause ()
 
- Public Member Functions inherited from cppgc::internal::MarkingStateBase
 MarkingStateBase (HeapBase &, MarkingWorklists &)
 
virtual ~MarkingStateBase ()=default
 
 MarkingStateBase (const MarkingStateBase &)=delete
 
MarkingStateBaseoperator= (const MarkingStateBase &)=delete
 
void MarkAndPush (const void *, TraceDescriptor)
 
void MarkAndPush (HeapObjectHeader &)
 
void PushMarked (HeapObjectHeader &, TraceDescriptor desc)
 
MarkingWorklists::MarkingWorklist::Local & marking_worklist ()
 
MarkingWorklists::NotFullyConstructedWorklistnot_fully_constructed_worklist ()
 

Additional Inherited Members

- Protected Member Functions inherited from cppgc::internal::BasicMarkingState
void RegisterWeakContainer (HeapObjectHeader &)
 
- Protected Member Functions inherited from cppgc::internal::MarkingStateBase
void MarkAndPush (HeapObjectHeader &, TraceDescriptor)
 
bool MarkNoPush (HeapObjectHeader &)
 
- Protected Attributes inherited from cppgc::internal::BasicMarkingState
MarkingWorklists::PreviouslyNotFullyConstructedWorklist::Local previously_not_fully_constructed_worklist_
 
MarkingWorklists::WeakCallbackWorklist::Local weak_container_callback_worklist_
 
MarkingWorklists::WeakCallbackWorklist::Local parallel_weak_callback_worklist_
 
MarkingWorklists::WeakCustomCallbackWorklist::Local weak_custom_callback_worklist_
 
MarkingWorklists::WriteBarrierWorklist::Local write_barrier_worklist_
 
MarkingWorklists::ConcurrentMarkingBailoutWorklist::Local concurrent_marking_bailout_worklist_
 
MarkingWorklists::EphemeronPairsWorklist::Local discovered_ephemeron_pairs_worklist_
 
MarkingWorklists::EphemeronPairsWorklist::Local ephemeron_pairs_for_processing_worklist_
 
MarkingWorklists::WeakContainersWorklistweak_containers_worklist_
 
std::unique_ptr< CompactionWorklists::MovableReferencesWorklist::Local > movable_slots_worklist_
 
size_t marked_bytes_ = 0
 
size_t last_marked_bytes_ = 0
 
bool in_ephemeron_processing_ = false
 
bool discovered_new_ephemeron_pairs_ = false
 
bool in_atomic_pause_ = false
 
heap::base::CachedUnorderedMap< BasePage *, int64_t, v8::base::hash< BasePage * > > marked_bytes_map_
 
- Protected Attributes inherited from cppgc::internal::MarkingStateBase
HeapBaseheap_
 
MarkingWorklists::MarkingWorklist::Local marking_worklist_
 
MarkingWorklists::NotFullyConstructedWorklistnot_fully_constructed_worklist_
 

Detailed Description

Definition at line 473 of file marking-state.h.

Constructor & Destructor Documentation

◆ ConcurrentMarkingState()

cppgc::internal::ConcurrentMarkingState::ConcurrentMarkingState ( HeapBase & heap,
MarkingWorklists & marking_worklists,
CompactionWorklists * compaction_worklists )
inline

Definition at line 475 of file marking-state.h.

◆ ~ConcurrentMarkingState()

cppgc::internal::ConcurrentMarkingState::~ConcurrentMarkingState ( )
overridedefault

Member Function Documentation

◆ AccountDeferredMarkedBytes()

void cppgc::internal::ConcurrentMarkingState::AccountDeferredMarkedBytes ( BasePage * base_page,
size_t deferred_bytes )
inline

Definition at line 481 of file marking-state.h.


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