v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::UnreachableObjectsFilter::MarkingVisitor Class Reference
Inheritance diagram for v8::internal::UnreachableObjectsFilter::MarkingVisitor:
Collaboration diagram for v8::internal::UnreachableObjectsFilter::MarkingVisitor:

Public Member Functions

 MarkingVisitor (UnreachableObjectsFilter *filter)
 
void VisitMapPointer (Tagged< HeapObject > object) override
 
void VisitPointers (Tagged< HeapObject > host, ObjectSlot start, ObjectSlot end) override
 
void VisitPointers (Tagged< HeapObject > host, MaybeObjectSlot start, MaybeObjectSlot end) final
 
void VisitInstructionStreamPointer (Tagged< Code > host, InstructionStreamSlot slot) override
 
void VisitCodeTarget (Tagged< InstructionStream > host, RelocInfo *rinfo) final
 
void VisitEmbeddedPointer (Tagged< InstructionStream > host, RelocInfo *rinfo) final
 
void VisitRootPointers (Root root, const char *description, FullObjectSlot start, FullObjectSlot end) override
 
void VisitRootPointers (Root root, const char *description, OffHeapObjectSlot start, OffHeapObjectSlot end) override
 
void TransitiveClosure ()
 
- Public Member Functions inherited from v8::internal::ObjectVisitorWithCageBases
 ObjectVisitorWithCageBases (PtrComprCageBase cage_base, PtrComprCageBase code_cage_base)
 
 ObjectVisitorWithCageBases (Isolate *isolate)
 
 ObjectVisitorWithCageBases (Heap *heap)
 
PtrComprCageBase cage_base () const
 
PtrComprCageBase code_cage_base () const
 
- Public Member Functions inherited from v8::internal::ObjectVisitor
virtual ~ObjectVisitor ()=default
 
virtual void VisitCustomWeakPointers (Tagged< HeapObject > host, ObjectSlot start, ObjectSlot end)
 
virtual void VisitPointer (Tagged< HeapObject > host, ObjectSlot p)
 
virtual void VisitPointer (Tagged< HeapObject > host, MaybeObjectSlot p)
 
virtual void VisitCustomWeakPointer (Tagged< HeapObject > host, ObjectSlot p)
 
virtual void VisitEphemeron (Tagged< HeapObject > host, int index, ObjectSlot key, ObjectSlot value)
 
void VisitRelocInfo (Tagged< InstructionStream > host, RelocIterator *it)
 
virtual void VisitExternalReference (Tagged< InstructionStream > host, RelocInfo *rinfo)
 
virtual void VisitInternalReference (Tagged< InstructionStream > host, RelocInfo *rinfo)
 
virtual void VisitOffHeapTarget (Tagged< InstructionStream > host, RelocInfo *rinfo)
 
virtual void VisitExternalPointer (Tagged< HeapObject > host, ExternalPointerSlot slot)
 
virtual void VisitCppHeapPointer (Tagged< HeapObject > host, CppHeapPointerSlot slot)
 
virtual void VisitIndirectPointer (Tagged< HeapObject > host, IndirectPointerSlot slot, IndirectPointerMode mode)
 
virtual void VisitProtectedPointer (Tagged< TrustedObject > host, ProtectedPointerSlot slot)
 
virtual void VisitProtectedPointer (Tagged< TrustedObject > host, ProtectedMaybeObjectSlot slot)
 
virtual void VisitTrustedPointerTableEntry (Tagged< HeapObject > host, IndirectPointerSlot slot)
 
virtual void VisitJSDispatchTableEntry (Tagged< HeapObject > host, JSDispatchHandle handle)
 
- Public Member Functions inherited from v8::internal::RootVisitor
virtual ~RootVisitor ()=default
 
virtual void VisitRootPointer (Root root, const char *description, FullObjectSlot p)
 
virtual void VisitRunningCode (FullObjectSlot code_slot, FullObjectSlot istream_or_smi_zero_slot)
 
virtual void Synchronize (VisitorSynchronization::SyncTag tag)
 
virtual GarbageCollector collector () const
 

Private Member Functions

template<typename TSlot >
V8_INLINE void MarkPointersImpl (TSlot start, TSlot end)
 
V8_INLINE void MarkHeapObject (Tagged< HeapObject > heap_object)
 

Private Attributes

UnreachableObjectsFilterfilter_
 
std::vector< Tagged< HeapObject > > marking_stack_
 

Additional Inherited Members

- Static Public Member Functions inherited from v8::internal::RootVisitor
static const char * RootName (Root root)
 

Detailed Description

Definition at line 6526 of file heap.cc.

Constructor & Destructor Documentation

◆ MarkingVisitor()

v8::internal::UnreachableObjectsFilter::MarkingVisitor::MarkingVisitor ( UnreachableObjectsFilter * filter)
inlineexplicit

Definition at line 6528 of file heap.cc.

Member Function Documentation

◆ MarkHeapObject()

V8_INLINE void v8::internal::UnreachableObjectsFilter::MarkingVisitor::MarkHeapObject ( Tagged< HeapObject > heap_object)
inlineprivate

Definition at line 6598 of file heap.cc.

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

◆ MarkPointersImpl()

template<typename TSlot >
V8_INLINE void v8::internal::UnreachableObjectsFilter::MarkingVisitor::MarkPointersImpl ( TSlot start,
TSlot end )
inlineprivate

Definition at line 6584 of file heap.cc.

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

◆ TransitiveClosure()

void v8::internal::UnreachableObjectsFilter::MarkingVisitor::TransitiveClosure ( )
inline

Definition at line 6574 of file heap.cc.

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

◆ VisitCodeTarget()

void v8::internal::UnreachableObjectsFilter::MarkingVisitor::VisitCodeTarget ( Tagged< InstructionStream > host,
RelocInfo * rinfo )
inlinefinalvirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 6553 of file heap.cc.

Here is the call graph for this function:

◆ VisitEmbeddedPointer()

void v8::internal::UnreachableObjectsFilter::MarkingVisitor::VisitEmbeddedPointer ( Tagged< InstructionStream > host,
RelocInfo * rinfo )
inlinefinalvirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 6559 of file heap.cc.

Here is the call graph for this function:

◆ VisitInstructionStreamPointer()

void v8::internal::UnreachableObjectsFilter::MarkingVisitor::VisitInstructionStreamPointer ( Tagged< Code > host,
InstructionStreamSlot slot )
inlineoverridevirtual

Implements v8::internal::ObjectVisitor.

Definition at line 6544 of file heap.cc.

Here is the call graph for this function:

◆ VisitMapPointer()

void v8::internal::UnreachableObjectsFilter::MarkingVisitor::VisitMapPointer ( Tagged< HeapObject > object)
inlineoverridevirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 6531 of file heap.cc.

Here is the call graph for this function:

◆ VisitPointers() [1/2]

void v8::internal::UnreachableObjectsFilter::MarkingVisitor::VisitPointers ( Tagged< HeapObject > host,
MaybeObjectSlot start,
MaybeObjectSlot end )
inlinefinalvirtual

Implements v8::internal::ObjectVisitor.

Definition at line 6539 of file heap.cc.

Here is the call graph for this function:

◆ VisitPointers() [2/2]

void v8::internal::UnreachableObjectsFilter::MarkingVisitor::VisitPointers ( Tagged< HeapObject > host,
ObjectSlot start,
ObjectSlot end )
inlineoverridevirtual

Implements v8::internal::ObjectVisitor.

Definition at line 6534 of file heap.cc.

Here is the call graph for this function:

◆ VisitRootPointers() [1/2]

void v8::internal::UnreachableObjectsFilter::MarkingVisitor::VisitRootPointers ( Root root,
const char * description,
FullObjectSlot start,
FullObjectSlot end )
inlineoverridevirtual

Implements v8::internal::RootVisitor.

Definition at line 6564 of file heap.cc.

Here is the call graph for this function:

◆ VisitRootPointers() [2/2]

void v8::internal::UnreachableObjectsFilter::MarkingVisitor::VisitRootPointers ( Root root,
const char * description,
OffHeapObjectSlot start,
OffHeapObjectSlot end )
inlineoverridevirtual

Reimplemented from v8::internal::RootVisitor.

Definition at line 6568 of file heap.cc.

Here is the call graph for this function:

Member Data Documentation

◆ filter_

UnreachableObjectsFilter* v8::internal::UnreachableObjectsFilter::MarkingVisitor::filter_
private

Definition at line 6604 of file heap.cc.

◆ marking_stack_

std::vector<Tagged<HeapObject> > v8::internal::UnreachableObjectsFilter::MarkingVisitor::marking_stack_
private

Definition at line 6605 of file heap.cc.


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