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

#include <marking-verifier.h>

Inheritance diagram for cppgc::internal::MarkingVerifierBase:
Collaboration diagram for cppgc::internal::MarkingVerifierBase:

Public Member Functions

 ~MarkingVerifierBase () override=default
 
 MarkingVerifierBase (const MarkingVerifierBase &)=delete
 
MarkingVerifierBaseoperator= (const MarkingVerifierBase &)=delete
 
void Run (StackState, std::optional< size_t >)
 
- Public Member Functions inherited from cppgc::internal::ConservativeTracingVisitor
 ConservativeTracingVisitor (HeapBase &, PageBackend &, cppgc::Visitor &)
 
virtual ~ConservativeTracingVisitor ()=default
 
 ConservativeTracingVisitor (const ConservativeTracingVisitor &)=delete
 
ConservativeTracingVisitoroperator= (const ConservativeTracingVisitor &)=delete
 
virtual void TraceConservativelyIfNeeded (const void *)
 
void TraceConservativelyIfNeeded (HeapObjectHeader &)
 
void TraceConservatively (const HeapObjectHeader &)
 
- Public Member Functions inherited from heap::base::StackVisitor
virtual ~StackVisitor ()=default
 

Protected Member Functions

 MarkingVerifierBase (HeapBase &, CollectionType, VerificationState &, std::unique_ptr< cppgc::Visitor >)
 
- Protected Member Functions inherited from cppgc::internal::ConservativeTracingVisitor
virtual void VisitFullyConstructedConservatively (HeapObjectHeader &)
 
void TryTracePointerConservatively (ConstAddress address)
 

Private Member Functions

void VisitInConstructionConservatively (HeapObjectHeader &, TraceConservativelyCallback) final
 
void VisitPointer (const void *) final
 
bool VisitNormalPage (NormalPage &)
 
bool VisitLargePage (LargePage &)
 
bool VisitHeapObjectHeader (HeapObjectHeader &)
 
void ReportDifferences (size_t) const
 
void ReportNormalPage (const NormalPage &, size_t) const
 
void ReportLargePage (const LargePage &, size_t) const
 
void ReportHeapObjectHeader (const HeapObjectHeader &) const
 
- Private Member Functions inherited from cppgc::internal::HeapVisitor< MarkingVerifierBase >
void Traverse (RawHeap &heap)
 
void Traverse (BaseSpace &space)
 
void Traverse (BasePage &page)
 
bool VisitHeap (RawHeap &)
 
bool VisitNormalPageSpace (NormalPageSpace &)
 
bool VisitLargePageSpace (LargePageSpace &)
 
bool VisitNormalPage (NormalPage &)
 
bool VisitLargePage (LargePage &)
 
bool VisitHeapObjectHeader (HeapObjectHeader &)
 

Private Attributes

VerificationStateverification_state_
 
std::unique_ptr< cppgc::Visitorvisitor_
 
std::unordered_set< const HeapObjectHeader * > in_construction_objects_heap_
 
std::unordered_set< const HeapObjectHeader * > in_construction_objects_stack_
 
std::unordered_set< const HeapObjectHeader * > * in_construction_objects_
 
size_t verifier_found_marked_bytes_ = 0
 
bool verifier_found_marked_bytes_are_exact_ = true
 
CollectionType collection_type_
 
size_t verifier_found_marked_bytes_in_pages_ = 0
 

Friends

class HeapVisitor< MarkingVerifierBase >
 

Additional Inherited Members

- Protected Types inherited from cppgc::internal::ConservativeTracingVisitor
using TraceConservativelyCallback
 
- Protected Attributes inherited from cppgc::internal::ConservativeTracingVisitor
HeapBaseheap_
 
PageBackendpage_backend_
 
cppgc::Visitorvisitor_
 

Detailed Description

Definition at line 33 of file marking-verifier.h.

Constructor & Destructor Documentation

◆ ~MarkingVerifierBase()

cppgc::internal::MarkingVerifierBase::~MarkingVerifierBase ( )
overridedefault

◆ MarkingVerifierBase() [1/2]

cppgc::internal::MarkingVerifierBase::MarkingVerifierBase ( const MarkingVerifierBase & )
delete

◆ MarkingVerifierBase() [2/2]

cppgc::internal::MarkingVerifierBase::MarkingVerifierBase ( HeapBase & heap,
CollectionType collection_type,
VerificationState & verification_state,
std::unique_ptr< cppgc::Visitor > visitor )
protected

Definition at line 46 of file marking-verifier.cc.

Member Function Documentation

◆ operator=()

MarkingVerifierBase & cppgc::internal::MarkingVerifierBase::operator= ( const MarkingVerifierBase & )
delete

◆ ReportDifferences()

void cppgc::internal::MarkingVerifierBase::ReportDifferences ( size_t expected_marked_bytes) const
private

Definition at line 179 of file marking-verifier.cc.

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

◆ ReportHeapObjectHeader()

void cppgc::internal::MarkingVerifierBase::ReportHeapObjectHeader ( const HeapObjectHeader & header) const
private

Definition at line 235 of file marking-verifier.cc.

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

◆ ReportLargePage()

void cppgc::internal::MarkingVerifierBase::ReportLargePage ( const LargePage & page,
size_t marked_bytes_on_page ) const
private

Definition at line 226 of file marking-verifier.cc.

Here is the caller graph for this function:

◆ ReportNormalPage()

void cppgc::internal::MarkingVerifierBase::ReportNormalPage ( const NormalPage & page,
size_t marked_bytes_on_page ) const
private

Definition at line 217 of file marking-verifier.cc.

Here is the caller graph for this function:

◆ Run()

void cppgc::internal::MarkingVerifierBase::Run ( StackState stack_state,
std::optional< size_t > expected_marked_bytes )

Definition at line 55 of file marking-verifier.cc.

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

◆ VisitHeapObjectHeader()

bool cppgc::internal::MarkingVerifierBase::VisitHeapObjectHeader ( HeapObjectHeader & header)
private

Definition at line 139 of file marking-verifier.cc.

Here is the call graph for this function:

◆ VisitInConstructionConservatively()

void cppgc::internal::MarkingVerifierBase::VisitInConstructionConservatively ( HeapObjectHeader & header,
TraceConservativelyCallback callback )
finalprivatevirtual

Reimplemented from cppgc::internal::ConservativeTracingVisitor.

Definition at line 102 of file marking-verifier.cc.

Here is the call graph for this function:

◆ VisitLargePage()

bool cppgc::internal::MarkingVerifierBase::VisitLargePage ( LargePage & page)
private

Definition at line 134 of file marking-verifier.cc.

◆ VisitNormalPage()

bool cppgc::internal::MarkingVerifierBase::VisitNormalPage ( NormalPage & page)
private

Definition at line 129 of file marking-verifier.cc.

◆ VisitPointer()

void cppgc::internal::MarkingVerifierBase::VisitPointer ( const void * address)
finalprivatevirtual

Implements heap::base::StackVisitor.

Definition at line 122 of file marking-verifier.cc.

Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ HeapVisitor< MarkingVerifierBase >

friend class HeapVisitor< MarkingVerifierBase >
friend

Definition at line 30 of file marking-verifier.h.

Member Data Documentation

◆ collection_type_

CollectionType cppgc::internal::MarkingVerifierBase::collection_type_
private

Definition at line 74 of file marking-verifier.h.

◆ in_construction_objects_

std::unordered_set<const HeapObjectHeader*>* cppgc::internal::MarkingVerifierBase::in_construction_objects_
private
Initial value:
=
std::unordered_set< const HeapObjectHeader * > in_construction_objects_heap_

Definition at line 70 of file marking-verifier.h.

◆ in_construction_objects_heap_

std::unordered_set<const HeapObjectHeader*> cppgc::internal::MarkingVerifierBase::in_construction_objects_heap_
private

Definition at line 68 of file marking-verifier.h.

◆ in_construction_objects_stack_

std::unordered_set<const HeapObjectHeader*> cppgc::internal::MarkingVerifierBase::in_construction_objects_stack_
private

Definition at line 69 of file marking-verifier.h.

◆ verification_state_

VerificationState& cppgc::internal::MarkingVerifierBase::verification_state_
private

Definition at line 65 of file marking-verifier.h.

◆ verifier_found_marked_bytes_

size_t cppgc::internal::MarkingVerifierBase::verifier_found_marked_bytes_ = 0
private

Definition at line 72 of file marking-verifier.h.

◆ verifier_found_marked_bytes_are_exact_

bool cppgc::internal::MarkingVerifierBase::verifier_found_marked_bytes_are_exact_ = true
private

Definition at line 73 of file marking-verifier.h.

◆ verifier_found_marked_bytes_in_pages_

size_t cppgc::internal::MarkingVerifierBase::verifier_found_marked_bytes_in_pages_ = 0
private

Definition at line 75 of file marking-verifier.h.

◆ visitor_

std::unique_ptr<cppgc::Visitor> cppgc::internal::MarkingVerifierBase::visitor_
private

Definition at line 66 of file marking-verifier.h.


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