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

Public Member Functions

 SharedHeapObjectVisitor (MarkCompactCollector *collector)
 
void VisitPointer (Tagged< HeapObject > host, ObjectSlot p) final
 
void VisitPointer (Tagged< HeapObject > host, MaybeObjectSlot p) final
 
void VisitMapPointer (Tagged< HeapObject > host) final
 
void VisitPointers (Tagged< HeapObject > host, ObjectSlot start, ObjectSlot end) final
 
void VisitInstructionStreamPointer (Tagged< Code > host, InstructionStreamSlot slot) override
 
void VisitPointers (Tagged< HeapObject > host, MaybeObjectSlot start, MaybeObjectSlot end) final
 
void VisitCodeTarget (Tagged< InstructionStream > host, RelocInfo *rinfo) override
 
void VisitEmbeddedPointer (Tagged< InstructionStream > host, RelocInfo *rinfo) override
 
- Public Member Functions inherited from v8::internal::HeapVisitor< MarkCompactCollector::SharedHeapObjectVisitor >
 HeapVisitor (LocalIsolate *isolate)
 
 HeapVisitor (Isolate *isolate)
 
 HeapVisitor (Heap *heap)
 
V8_INLINE size_t Visit (Tagged< HeapObject > object)
 
V8_INLINE size_t Visit (Tagged< Map > map, Tagged< HeapObject > object)
 
V8_INLINE size_t Visit (Tagged< Map > map, Tagged< HeapObject > object, int object_size)
 
void VisitMapPointerIfNeeded (Tagged< HeapObject > host)
 
size_t VisitJSObjectSubclass (Tagged< Map > map, Tagged< T > object, MaybeObjectSize maybe_object_size)
 
size_t VisitWithBodyDescriptor (Tagged< Map > map, Tagged< T > object, MaybeObjectSize maybe_object_size)
 
Tagged< TCast (Tagged< HeapObject > object, const Heap *heap)
 
- 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 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)
 

Private Member Functions

V8_INLINE void CheckForSharedObject (Tagged< HeapObject > host, ObjectSlot slot, Tagged< Object > object)
 

Private Attributes

MarkCompactCollector *const collector_
 

Additional Inherited Members

- Protected Member Functions inherited from v8::internal::HeapVisitor< MarkCompactCollector::SharedHeapObjectVisitor >
V8_INLINE size_t Visit (Tagged< Map > map, Tagged< HeapObject > object, MaybeObjectSize maybe_object_size)
 
V8_INLINE void VisitMapPointerIfNeeded (Tagged< HeapObject > host)
 
MarkCompactCollector::SharedHeapObjectVisitorconcrete_visitor ()
 
const MarkCompactCollector::SharedHeapObjectVisitorconcrete_visitor () const
 
V8_INLINE size_t VisitShortcutCandidate (Tagged< Map > map, Tagged< ConsString > object, MaybeObjectSize maybe_object_size)
 
V8_INLINE size_t VisitJSObjectFast (Tagged< Map > map, Tagged< JSObject > object, MaybeObjectSize maybe_object_size)
 
V8_INLINE size_t VisitJSApiObject (Tagged< Map > map, Tagged< JSObject > object, MaybeObjectSize maybe_object_size)
 
V8_INLINE size_t VisitStruct (Tagged< Map > map, Tagged< HeapObject > object, MaybeObjectSize maybe_object_size)
 
V8_INLINE size_t VisitFiller (Tagged< Map > map, Tagged< HeapObject > object, MaybeObjectSize maybe_object_size)
 
V8_INLINE size_t VisitFreeSpace (Tagged< Map > map, Tagged< FreeSpace > object, MaybeObjectSize maybe_object_size)
 
V8_INLINE size_t VisitJSObjectSubclass (Tagged< Map > map, Tagged< T > object, MaybeObjectSize maybe_object_size)
 
V8_INLINE size_t VisitWithBodyDescriptor (Tagged< Map > map, Tagged< T > object, MaybeObjectSize maybe_object_size)
 
std::optional< Tagged< Object > > GetObjectFilterReadOnlyAndSmiFast (TSlot slot) const
 
- Static Protected Member Functions inherited from v8::internal::HeapVisitor< MarkCompactCollector::SharedHeapObjectVisitor >
static V8_INLINE constexpr bool ShouldVisitMapPointer ()
 
static V8_INLINE constexpr bool ShouldVisitReadOnlyMapPointer ()
 
static V8_INLINE constexpr bool CanEncounterFillerOrFreeSpace ()
 
static V8_INLINE constexpr bool ShouldUseUncheckedCast ()
 
static V8_INLINE constexpr bool EnableConcurrentVisitation ()
 
static V8_INLINE constexpr bool UsePrecomputedObjectSize ()
 
static V8_INLINE constexpr bool ShouldVisitFullJSObject ()
 
static V8_INLINE Tagged< TCast (Tagged< HeapObject > object, const Heap *heap)
 
- Protected Attributes inherited from v8::internal::HeapVisitor< MarkCompactCollector::SharedHeapObjectVisitor >
const Heapheap_
 

Detailed Description

Definition at line 1008 of file mark-compact.cc.

Constructor & Destructor Documentation

◆ SharedHeapObjectVisitor()

v8::internal::MarkCompactCollector::SharedHeapObjectVisitor::SharedHeapObjectVisitor ( MarkCompactCollector * collector)
inlineexplicit

Definition at line 1011 of file mark-compact.cc.

Member Function Documentation

◆ CheckForSharedObject()

V8_INLINE void v8::internal::MarkCompactCollector::SharedHeapObjectVisitor::CheckForSharedObject ( Tagged< HeapObject > host,
ObjectSlot slot,
Tagged< Object > object )
inlineprivate

Definition at line 1064 of file mark-compact.cc.

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

◆ VisitCodeTarget()

void v8::internal::MarkCompactCollector::SharedHeapObjectVisitor::VisitCodeTarget ( Tagged< InstructionStream > host,
RelocInfo * rinfo )
inlineoverridevirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 1053 of file mark-compact.cc.

Here is the call graph for this function:

◆ VisitEmbeddedPointer()

void v8::internal::MarkCompactCollector::SharedHeapObjectVisitor::VisitEmbeddedPointer ( Tagged< InstructionStream > host,
RelocInfo * rinfo )
inlineoverridevirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 1058 of file mark-compact.cc.

Here is the call graph for this function:

◆ VisitInstructionStreamPointer()

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

Implements v8::internal::ObjectVisitor.

Definition at line 1039 of file mark-compact.cc.

Here is the call graph for this function:

◆ VisitMapPointer()

void v8::internal::MarkCompactCollector::SharedHeapObjectVisitor::VisitMapPointer ( Tagged< HeapObject > host)
inlinefinalvirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 1025 of file mark-compact.cc.

Here is the call graph for this function:

◆ VisitPointer() [1/2]

void v8::internal::MarkCompactCollector::SharedHeapObjectVisitor::VisitPointer ( Tagged< HeapObject > host,
MaybeObjectSlot p )
inlinefinalvirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 1018 of file mark-compact.cc.

Here is the call graph for this function:

◆ VisitPointer() [2/2]

void v8::internal::MarkCompactCollector::SharedHeapObjectVisitor::VisitPointer ( Tagged< HeapObject > host,
ObjectSlot p )
inlinefinalvirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 1014 of file mark-compact.cc.

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

◆ VisitPointers() [1/2]

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

Implements v8::internal::ObjectVisitor.

Definition at line 1044 of file mark-compact.cc.

Here is the call graph for this function:

◆ VisitPointers() [2/2]

void v8::internal::MarkCompactCollector::SharedHeapObjectVisitor::VisitPointers ( Tagged< HeapObject > host,
ObjectSlot start,
ObjectSlot end )
inlinefinalvirtual

Implements v8::internal::ObjectVisitor.

Definition at line 1029 of file mark-compact.cc.

Here is the call graph for this function:

Member Data Documentation

◆ collector_

MarkCompactCollector* const v8::internal::MarkCompactCollector::SharedHeapObjectVisitor::collector_
private

Definition at line 1086 of file mark-compact.cc.


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