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

Public Member Functions

 RecordMigratedSlotVisitor (Heap *heap)
 
void VisitPointer (Tagged< HeapObject > host, ObjectSlot p) final
 
void VisitMapPointer (Tagged< HeapObject > host) final
 
void VisitPointer (Tagged< HeapObject > host, MaybeObjectSlot p) final
 
void VisitPointers (Tagged< HeapObject > host, ObjectSlot start, ObjectSlot end) final
 
void VisitPointers (Tagged< HeapObject > host, MaybeObjectSlot start, MaybeObjectSlot end) final
 
void VisitInstructionStreamPointer (Tagged< Code > host, InstructionStreamSlot slot) final
 
void VisitEphemeron (Tagged< HeapObject > host, int index, ObjectSlot key, ObjectSlot value) override
 
void VisitCodeTarget (Tagged< InstructionStream > host, RelocInfo *rinfo) override
 
void VisitEmbeddedPointer (Tagged< InstructionStream > host, RelocInfo *rinfo) override
 
void VisitExternalReference (Tagged< InstructionStream > host, RelocInfo *rinfo) final
 
void VisitInternalReference (Tagged< InstructionStream > host, RelocInfo *rinfo) final
 
void VisitExternalPointer (Tagged< HeapObject > host, ExternalPointerSlot slot) final
 
void VisitIndirectPointer (Tagged< HeapObject > host, IndirectPointerSlot slot, IndirectPointerMode mode) final
 
void VisitTrustedPointerTableEntry (Tagged< HeapObject > host, IndirectPointerSlot slot) final
 
void VisitProtectedPointer (Tagged< TrustedObject > host, ProtectedPointerSlot slot) final
 
void VisitProtectedPointer (Tagged< TrustedObject > host, ProtectedMaybeObjectSlot slot) final
 
- Public Member Functions inherited from v8::internal::HeapVisitor< RecordMigratedSlotVisitor >
 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)
 
void VisitRelocInfo (Tagged< InstructionStream > host, RelocIterator *it)
 
virtual void VisitOffHeapTarget (Tagged< InstructionStream > host, RelocInfo *rinfo)
 
virtual void VisitCppHeapPointer (Tagged< HeapObject > host, CppHeapPointerSlot slot)
 
virtual void VisitJSDispatchTableEntry (Tagged< HeapObject > host, JSDispatchHandle handle)
 

Static Public Member Functions

static V8_INLINE constexpr bool UsePrecomputedObjectSize ()
 

Protected Member Functions

void RecordMigratedSlot (Tagged< HeapObject > host, Tagged< MaybeObject > value, Address slot)
 
- Protected Member Functions inherited from v8::internal::HeapVisitor< RecordMigratedSlotVisitor >
V8_INLINE size_t Visit (Tagged< Map > map, Tagged< HeapObject > object, MaybeObjectSize maybe_object_size)
 
V8_INLINE void VisitMapPointerIfNeeded (Tagged< HeapObject > host)
 
RecordMigratedSlotVisitorconcrete_visitor ()
 
const RecordMigratedSlotVisitorconcrete_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
 

Protected Attributes

Heap *const heap_
 
- Protected Attributes inherited from v8::internal::HeapVisitor< RecordMigratedSlotVisitor >
const Heapheap_
 

Additional Inherited Members

- Static Protected Member Functions inherited from v8::internal::HeapVisitor< RecordMigratedSlotVisitor >
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)
 

Detailed Description

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

Constructor & Destructor Documentation

◆ RecordMigratedSlotVisitor()

v8::internal::RecordMigratedSlotVisitor::RecordMigratedSlotVisitor ( Heap * heap)
inlineexplicit

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

Member Function Documentation

◆ RecordMigratedSlot()

void v8::internal::RecordMigratedSlotVisitor::RecordMigratedSlot ( Tagged< HeapObject > host,
Tagged< MaybeObject > value,
Address slot )
inlineprotected

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

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

◆ UsePrecomputedObjectSize()

static V8_INLINE constexpr bool v8::internal::RecordMigratedSlotVisitor::UsePrecomputedObjectSize ( )
inlinestaticconstexpr

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

◆ VisitCodeTarget()

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

Reimplemented from v8::internal::ObjectVisitor.

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

Here is the call graph for this function:

◆ VisitEmbeddedPointer()

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

Reimplemented from v8::internal::ObjectVisitor.

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

Here is the call graph for this function:

◆ VisitEphemeron()

void v8::internal::RecordMigratedSlotVisitor::VisitEphemeron ( Tagged< HeapObject > host,
int index,
ObjectSlot key,
ObjectSlot value )
inlineoverridevirtual

Reimplemented from v8::internal::ObjectVisitor.

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

Here is the call graph for this function:

◆ VisitExternalPointer()

void v8::internal::RecordMigratedSlotVisitor::VisitExternalPointer ( Tagged< HeapObject > host,
ExternalPointerSlot slot )
inlinefinalvirtual

Reimplemented from v8::internal::ObjectVisitor.

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

◆ VisitExternalReference()

void v8::internal::RecordMigratedSlotVisitor::VisitExternalReference ( Tagged< InstructionStream > host,
RelocInfo * rinfo )
inlinefinalvirtual

Reimplemented from v8::internal::ObjectVisitor.

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

◆ VisitIndirectPointer()

void v8::internal::RecordMigratedSlotVisitor::VisitIndirectPointer ( Tagged< HeapObject > host,
IndirectPointerSlot slot,
IndirectPointerMode mode )
inlinefinalvirtual

Reimplemented from v8::internal::ObjectVisitor.

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

◆ VisitInstructionStreamPointer()

void v8::internal::RecordMigratedSlotVisitor::VisitInstructionStreamPointer ( Tagged< Code > host,
InstructionStreamSlot slot )
inlinefinalvirtual

Implements v8::internal::ObjectVisitor.

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

Here is the call graph for this function:

◆ VisitInternalReference()

void v8::internal::RecordMigratedSlotVisitor::VisitInternalReference ( Tagged< InstructionStream > host,
RelocInfo * rinfo )
inlinefinalvirtual

Reimplemented from v8::internal::ObjectVisitor.

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

◆ VisitMapPointer()

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

Reimplemented from v8::internal::ObjectVisitor.

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

Here is the call graph for this function:

◆ VisitPointer() [1/2]

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

Reimplemented from v8::internal::ObjectVisitor.

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

Here is the call graph for this function:

◆ VisitPointer() [2/2]

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

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 1239 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::RecordMigratedSlotVisitor::VisitPointers ( Tagged< HeapObject > host,
MaybeObjectSlot start,
MaybeObjectSlot end )
inlinefinalvirtual

Implements v8::internal::ObjectVisitor.

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

Here is the call graph for this function:

◆ VisitPointers() [2/2]

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

Implements v8::internal::ObjectVisitor.

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

Here is the call graph for this function:

◆ VisitProtectedPointer() [1/2]

void v8::internal::RecordMigratedSlotVisitor::VisitProtectedPointer ( Tagged< TrustedObject > host,
ProtectedMaybeObjectSlot slot )
inlinefinalvirtual

Reimplemented from v8::internal::ObjectVisitor.

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

Here is the call graph for this function:

◆ VisitProtectedPointer() [2/2]

void v8::internal::RecordMigratedSlotVisitor::VisitProtectedPointer ( Tagged< TrustedObject > host,
ProtectedPointerSlot slot )
inlinefinalvirtual

Reimplemented from v8::internal::ObjectVisitor.

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

Here is the call graph for this function:

◆ VisitTrustedPointerTableEntry()

void v8::internal::RecordMigratedSlotVisitor::VisitTrustedPointerTableEntry ( Tagged< HeapObject > host,
IndirectPointerSlot slot )
inlinefinalvirtual

Reimplemented from v8::internal::ObjectVisitor.

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

Member Data Documentation

◆ heap_

Heap* const v8::internal::RecordMigratedSlotVisitor::heap_
protected

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


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