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

#include <marking-visitor.h>

Inheritance diagram for v8::internal::MarkingVisitorBase< ConcreteVisitor >:
Collaboration diagram for v8::internal::MarkingVisitorBase< ConcreteVisitor >:

Public Types

using Base = ConcurrentHeapVisitor<ConcreteVisitor>
 

Public Member Functions

 MarkingVisitorBase (MarkingWorklists::Local *local_marking_worklists, WeakObjects::Local *local_weak_objects, Heap *heap, unsigned mark_compact_epoch, base::EnumSet< CodeFlushMode > code_flush_mode, bool should_keep_ages_unchanged, uint16_t code_flushing_increase)
 
V8_INLINE size_t VisitDescriptorArrayStrongly (Tagged< Map > map, Tagged< DescriptorArray > object, MaybeObjectSize)
 
V8_INLINE size_t VisitDescriptorArray (Tagged< Map > map, Tagged< DescriptorArray > object, MaybeObjectSize)
 
V8_INLINE size_t VisitEphemeronHashTable (Tagged< Map > map, Tagged< EphemeronHashTable > object, MaybeObjectSize)
 
V8_INLINE size_t VisitFixedArray (Tagged< Map > map, Tagged< FixedArray > object, MaybeObjectSize)
 
V8_INLINE size_t VisitJSArrayBuffer (Tagged< Map > map, Tagged< JSArrayBuffer > object, MaybeObjectSize)
 
V8_INLINE size_t VisitJSFunction (Tagged< Map > map, Tagged< JSFunction > object, MaybeObjectSize)
 
V8_INLINE size_t VisitJSWeakRef (Tagged< Map > map, Tagged< JSWeakRef > object, MaybeObjectSize)
 
V8_INLINE size_t VisitMap (Tagged< Map > map, Tagged< Map > object, MaybeObjectSize)
 
V8_INLINE size_t VisitSharedFunctionInfo (Tagged< Map > map, Tagged< SharedFunctionInfo > object, MaybeObjectSize)
 
V8_INLINE size_t VisitTransitionArray (Tagged< Map > map, Tagged< TransitionArray > object, MaybeObjectSize)
 
V8_INLINE size_t VisitWeakCell (Tagged< Map > map, Tagged< WeakCell > object, MaybeObjectSize)
 
void VisitMapPointer (Tagged< HeapObject > host) final
 
V8_INLINE void VisitPointer (Tagged< HeapObject > host, ObjectSlot p) final
 
V8_INLINE void VisitPointer (Tagged< HeapObject > host, MaybeObjectSlot p) final
 
V8_INLINE void VisitPointers (Tagged< HeapObject > host, ObjectSlot start, ObjectSlot end) final
 
V8_INLINE void VisitPointers (Tagged< HeapObject > host, MaybeObjectSlot start, MaybeObjectSlot end) final
 
V8_INLINE void VisitInstructionStreamPointer (Tagged< Code > host, InstructionStreamSlot slot) final
 
V8_INLINE void VisitEmbeddedPointer (Tagged< InstructionStream > host, RelocInfo *rinfo) final
 
V8_INLINE void VisitCodeTarget (Tagged< InstructionStream > host, RelocInfo *rinfo) final
 
void VisitCustomWeakPointers (Tagged< HeapObject > host, ObjectSlot start, ObjectSlot end) final
 
V8_INLINE void VisitExternalPointer (Tagged< HeapObject > host, ExternalPointerSlot slot) override
 
V8_INLINE void VisitCppHeapPointer (Tagged< HeapObject > host, CppHeapPointerSlot slot) override
 
V8_INLINE void VisitIndirectPointer (Tagged< HeapObject > host, IndirectPointerSlot slot, IndirectPointerMode mode) final
 
void VisitTrustedPointerTableEntry (Tagged< HeapObject > host, IndirectPointerSlot slot) final
 
void VisitJSDispatchTableEntry (Tagged< HeapObject > host, JSDispatchHandle handle) override
 
V8_INLINE void VisitProtectedPointer (Tagged< TrustedObject > host, ProtectedPointerSlot slot) final
 
V8_INLINE void VisitProtectedPointer (Tagged< TrustedObject > host, ProtectedMaybeObjectSlot slot) final
 
void SynchronizePageAccess (Tagged< HeapObject > heap_object) const
 
V8_INLINE bool MarkObject (Tagged< HeapObject > host, Tagged< HeapObject > obj, MarkingHelper::WorklistTarget target_worklist)
 
void SetKeyToValues (KeyToValues *key_to_values)
 
template<typename TSlot >
void VisitPointersImpl (Tagged< HeapObject > host, TSlot start, TSlot end)
 
template<typename TSlot >
void VisitStrongPointerImpl (Tagged< HeapObject > host, TSlot slot)
 
- Public Member Functions inherited from v8::internal::ConcurrentHeapVisitor< ConcreteVisitor >
V8_INLINE ConcurrentHeapVisitor (Isolate *isolate)
 
template<typename T >
Tagged< TCast (Tagged< HeapObject > object, const Heap *heap)
 
template<typename T >
size_t VisitStringLocked (Tagged< T > object)
 
- Public Member Functions inherited from v8::internal::HeapVisitor< ConcreteVisitor >
 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)
 
template<typename T >
Tagged< TCast (Tagged< HeapObject > object, const Heap *heap)
 
template<VisitorId visitor_id>
void VisitMapPointerIfNeeded (Tagged< HeapObject > host)
 
template<typename T , typename TBodyDescriptor >
size_t VisitJSObjectSubclass (Tagged< Map > map, Tagged< T > object, MaybeObjectSize maybe_object_size)
 
template<VisitorId visitor_id, typename T , typename TBodyDescriptor >
size_t VisitWithBodyDescriptor (Tagged< Map > map, Tagged< T > object, MaybeObjectSize maybe_object_size)
 
- 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 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)
 

Static Public Member Functions

static V8_INLINE constexpr bool ShouldVisitReadOnlyMapPointer ()
 
static V8_INLINE constexpr bool CanEncounterFillerOrFreeSpace ()
 
static V8_INLINE constexpr bool IsTrivialWeakReferenceValue (Tagged< HeapObject > host, Tagged< HeapObject > heap_object)
 
- Static Public Member Functions inherited from v8::internal::ConcurrentHeapVisitor< ConcreteVisitor >
static V8_INLINE constexpr bool EnableConcurrentVisitation ()
 

Protected Member Functions

template<typename THeapObjectSlot >
void ProcessStrongHeapObject (Tagged< HeapObject > host, THeapObjectSlot slot, Tagged< HeapObject > heap_object)
 
template<typename THeapObjectSlot >
void ProcessWeakHeapObject (Tagged< HeapObject > host, THeapObjectSlot slot, Tagged< HeapObject > heap_object)
 
template<typename TSlot >
V8_INLINE void VisitPointersImpl (Tagged< HeapObject > host, TSlot start, TSlot end)
 
template<typename TSlot >
V8_INLINE void VisitStrongPointerImpl (Tagged< HeapObject > host, TSlot slot)
 
V8_INLINE void VisitDescriptorsForMap (Tagged< Map > map)
 
V8_INLINE size_t VisitFixedArrayWithProgressTracker (Tagged< Map > map, Tagged< FixedArray > object, MarkingProgressTracker &progress_tracker)
 
bool ShouldFlushCode (Tagged< SharedFunctionInfo > sfi) const
 
bool ShouldFlushBaselineCode (Tagged< JSFunction > js_function) const
 
bool HasBytecodeArrayForFlushing (Tagged< SharedFunctionInfo > sfi) const
 
bool IsOld (Tagged< SharedFunctionInfo > sfi) const
 
void MakeOlder (Tagged< SharedFunctionInfo > sfi) const
 
- Protected Member Functions inherited from v8::internal::HeapVisitor< ConcreteVisitor >
V8_INLINE size_t Visit (Tagged< Map > map, Tagged< HeapObject > object, MaybeObjectSize maybe_object_size)
 
template<VisitorId visitor_id>
V8_INLINE void VisitMapPointerIfNeeded (Tagged< HeapObject > host)
 
ConcreteVisitor * concrete_visitor ()
 
const ConcreteVisitor * concrete_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)
 
template<typename T , typename TBodyDescriptor = typename T::BodyDescriptor>
V8_INLINE size_t VisitJSObjectSubclass (Tagged< Map > map, Tagged< T > object, MaybeObjectSize maybe_object_size)
 
template<VisitorId visitor_id, typename T , typename TBodyDescriptor = typename T::BodyDescriptor>
V8_INLINE size_t VisitWithBodyDescriptor (Tagged< Map > map, Tagged< T > object, MaybeObjectSize maybe_object_size)
 
template<typename TSlot >
std::optional< Tagged< Object > > GetObjectFilterReadOnlyAndSmiFast (TSlot slot) const
 

Protected Attributes

MarkingWorklists::Local *const local_marking_worklists_
 
WeakObjects::Local *const local_weak_objects_
 
KeyToValueskey_to_values_ = nullptr
 
Heap *const heap_
 
const unsigned mark_compact_epoch_
 
const base::EnumSet< CodeFlushModecode_flush_mode_
 
const bool should_keep_ages_unchanged_
 
const uint16_t code_flushing_increase_
 
const bool isolate_in_background_
 
- Protected Attributes inherited from v8::internal::HeapVisitor< ConcreteVisitor >
const Heapheap_
 

Additional Inherited Members

- Static Protected Member Functions inherited from v8::internal::ConcurrentHeapVisitor< ConcreteVisitor >
template<typename T >
static V8_INLINE Tagged< TCast (Tagged< HeapObject > object, const Heap *heap)
 
- Static Protected Member Functions inherited from v8::internal::HeapVisitor< ConcreteVisitor >
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 ()
 
template<typename T >
static V8_INLINE Tagged< TCast (Tagged< HeapObject > object, const Heap *heap)
 

Detailed Description

template<typename ConcreteVisitor>
class v8::internal::MarkingVisitorBase< ConcreteVisitor >

Definition at line 46 of file marking-visitor.h.

Member Typedef Documentation

◆ Base

template<typename ConcreteVisitor >
using v8::internal::MarkingVisitorBase< ConcreteVisitor >::Base = ConcurrentHeapVisitor<ConcreteVisitor>

Definition at line 48 of file marking-visitor.h.

Constructor & Destructor Documentation

◆ MarkingVisitorBase()

template<typename ConcreteVisitor >
v8::internal::MarkingVisitorBase< ConcreteVisitor >::MarkingVisitorBase ( MarkingWorklists::Local * local_marking_worklists,
WeakObjects::Local * local_weak_objects,
Heap * heap,
unsigned mark_compact_epoch,
base::EnumSet< CodeFlushMode > code_flush_mode,
bool should_keep_ages_unchanged,
uint16_t code_flushing_increase )
inline

Definition at line 50 of file marking-visitor.h.

Member Function Documentation

◆ CanEncounterFillerOrFreeSpace()

template<typename ConcreteVisitor >
static V8_INLINE constexpr bool v8::internal::MarkingVisitorBase< ConcreteVisitor >::CanEncounterFillerOrFreeSpace ( )
inlinestaticconstexpr

Definition at line 188 of file marking-visitor.h.

◆ HasBytecodeArrayForFlushing()

template<typename ConcreteVisitor >
bool v8::internal::MarkingVisitorBase< ConcreteVisitor >::HasBytecodeArrayForFlushing ( Tagged< SharedFunctionInfo > sfi) const
protected

Definition at line 435 of file marking-visitor-inl.h.

Here is the call graph for this function:

◆ IsOld()

template<typename ConcreteVisitor >
bool v8::internal::MarkingVisitorBase< ConcreteVisitor >::IsOld ( Tagged< SharedFunctionInfo > sfi) const
protected

Definition at line 473 of file marking-visitor-inl.h.

◆ IsTrivialWeakReferenceValue()

template<typename ConcreteVisitor >
V8_INLINE constexpr bool v8::internal::MarkingVisitorBase< ConcreteVisitor >::IsTrivialWeakReferenceValue ( Tagged< HeapObject > host,
Tagged< HeapObject > heap_object )
staticconstexpr

Definition at line 90 of file marking-visitor-inl.h.

◆ MakeOlder()

template<typename ConcreteVisitor >
void v8::internal::MarkingVisitorBase< ConcreteVisitor >::MakeOlder ( Tagged< SharedFunctionInfo > sfi) const
protected

Definition at line 486 of file marking-visitor-inl.h.

Here is the call graph for this function:

◆ MarkObject()

template<typename ConcreteVisitor >
bool v8::internal::MarkingVisitorBase< ConcreteVisitor >::MarkObject ( Tagged< HeapObject > host,
Tagged< HeapObject > obj,
MarkingHelper::WorklistTarget target_worklist )

Definition at line 46 of file marking-visitor-inl.h.

Here is the call graph for this function:

◆ ProcessStrongHeapObject()

template<typename ConcreteVisitor >
template<typename THeapObjectSlot >
void v8::internal::MarkingVisitorBase< ConcreteVisitor >::ProcessStrongHeapObject ( Tagged< HeapObject > host,
THeapObjectSlot slot,
Tagged< HeapObject > heap_object )
protected

Definition at line 62 of file marking-visitor-inl.h.

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

◆ ProcessWeakHeapObject()

template<typename ConcreteVisitor >
template<typename THeapObjectSlot >
void v8::internal::MarkingVisitorBase< ConcreteVisitor >::ProcessWeakHeapObject ( Tagged< HeapObject > host,
THeapObjectSlot slot,
Tagged< HeapObject > heap_object )
protected

Definition at line 100 of file marking-visitor-inl.h.

◆ SetKeyToValues()

template<typename ConcreteVisitor >
void v8::internal::MarkingVisitorBase< ConcreteVisitor >::SetKeyToValues ( KeyToValues * key_to_values)
inline

Definition at line 195 of file marking-visitor.h.

◆ ShouldFlushBaselineCode()

template<typename ConcreteVisitor >
bool v8::internal::MarkingVisitorBase< ConcreteVisitor >::ShouldFlushBaselineCode ( Tagged< JSFunction > js_function) const
protected

Definition at line 519 of file marking-visitor-inl.h.

Here is the call graph for this function:

◆ ShouldFlushCode()

template<typename ConcreteVisitor >
bool v8::internal::MarkingVisitorBase< ConcreteVisitor >::ShouldFlushCode ( Tagged< SharedFunctionInfo > sfi) const
protected

Definition at line 465 of file marking-visitor-inl.h.

Here is the call graph for this function:

◆ ShouldVisitReadOnlyMapPointer()

template<typename ConcreteVisitor >
static V8_INLINE constexpr bool v8::internal::MarkingVisitorBase< ConcreteVisitor >::ShouldVisitReadOnlyMapPointer ( )
inlinestaticconstexpr

Definition at line 184 of file marking-visitor.h.

◆ SynchronizePageAccess()

template<typename ConcreteVisitor >
void v8::internal::MarkingVisitorBase< ConcreteVisitor >::SynchronizePageAccess ( Tagged< HeapObject > heap_object) const
inline

Definition at line 170 of file marking-visitor.h.

Here is the call graph for this function:

◆ VisitCodeTarget()

template<typename ConcreteVisitor >
void v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitCodeTarget ( Tagged< InstructionStream > host,
RelocInfo * rinfo )
finalvirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 207 of file marking-visitor-inl.h.

◆ VisitCppHeapPointer()

template<typename ConcreteVisitor >
void v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitCppHeapPointer ( Tagged< HeapObject > host,
CppHeapPointerSlot slot )
overridevirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 258 of file marking-visitor-inl.h.

Here is the call graph for this function:

◆ VisitCustomWeakPointers()

template<typename ConcreteVisitor >
void v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitCustomWeakPointers ( Tagged< HeapObject > host,
ObjectSlot start,
ObjectSlot end )
inlinefinalvirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 140 of file marking-visitor.h.

◆ VisitDescriptorArray()

template<typename ConcreteVisitor >
size_t v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitDescriptorArray ( Tagged< Map > map,
Tagged< DescriptorArray > object,
MaybeObjectSize maybe_object_size )

Definition at line 772 of file marking-visitor-inl.h.

Here is the call graph for this function:

◆ VisitDescriptorArrayStrongly()

template<typename ConcreteVisitor >
size_t v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitDescriptorArrayStrongly ( Tagged< Map > map,
Tagged< DescriptorArray > object,
MaybeObjectSize  )

Definition at line 758 of file marking-visitor-inl.h.

◆ VisitDescriptorsForMap()

template<typename ConcreteVisitor >
void v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitDescriptorsForMap ( Tagged< Map > map)
protected

Definition at line 808 of file marking-visitor-inl.h.

Here is the call graph for this function:

◆ VisitEmbeddedPointer()

template<typename ConcreteVisitor >
void v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitEmbeddedPointer ( Tagged< InstructionStream > host,
RelocInfo * rinfo )
finalvirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 183 of file marking-visitor-inl.h.

Here is the call graph for this function:

◆ VisitEphemeronHashTable()

template<typename ConcreteVisitor >
size_t v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitEphemeronHashTable ( Tagged< Map > map,
Tagged< EphemeronHashTable > object,
MaybeObjectSize  )

Definition at line 641 of file marking-visitor-inl.h.

Here is the call graph for this function:

◆ VisitExternalPointer()

template<typename ConcreteVisitor >
void v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitExternalPointer ( Tagged< HeapObject > host,
ExternalPointerSlot slot )
overridevirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 222 of file marking-visitor-inl.h.

◆ VisitFixedArray()

template<typename ConcreteVisitor >
size_t v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitFixedArray ( Tagged< Map > map,
Tagged< FixedArray > object,
MaybeObjectSize maybe_object_size )

Definition at line 613 of file marking-visitor-inl.h.

Here is the call graph for this function:

◆ VisitFixedArrayWithProgressTracker()

template<typename ConcreteVisitor >
size_t v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitFixedArrayWithProgressTracker ( Tagged< Map > map,
Tagged< FixedArray > object,
MarkingProgressTracker & progress_tracker )
protected

Definition at line 554 of file marking-visitor-inl.h.

Here is the call graph for this function:

◆ VisitIndirectPointer()

template<typename ConcreteVisitor >
void v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitIndirectPointer ( Tagged< HeapObject > host,
IndirectPointerSlot slot,
IndirectPointerMode mode )
finalvirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 277 of file marking-visitor-inl.h.

◆ VisitInstructionStreamPointer()

template<typename ConcreteVisitor >
V8_INLINE void v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitInstructionStreamPointer ( Tagged< Code > host,
InstructionStreamSlot slot )
inlinefinalvirtual

Implements v8::internal::ObjectVisitor.

Definition at line 132 of file marking-visitor.h.

Here is the call graph for this function:

◆ VisitJSArrayBuffer()

template<typename ConcreteVisitor >
size_t v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitJSArrayBuffer ( Tagged< Map > map,
Tagged< JSArrayBuffer > object,
MaybeObjectSize maybe_object_size )

Definition at line 629 of file marking-visitor-inl.h.

◆ VisitJSDispatchTableEntry()

template<typename ConcreteVisitor >
void v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitJSDispatchTableEntry ( Tagged< HeapObject > host,
JSDispatchHandle handle )
overridevirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 311 of file marking-visitor-inl.h.

Here is the call graph for this function:

◆ VisitJSFunction()

template<typename ConcreteVisitor >
size_t v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitJSFunction ( Tagged< Map > map,
Tagged< JSFunction > object,
MaybeObjectSize maybe_object_size )

Definition at line 335 of file marking-visitor-inl.h.

Here is the call graph for this function:

◆ VisitJSWeakRef()

template<typename ConcreteVisitor >
size_t v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitJSWeakRef ( Tagged< Map > map,
Tagged< JSWeakRef > object,
MaybeObjectSize maybe_object_size )

Definition at line 699 of file marking-visitor-inl.h.

Here is the call graph for this function:

◆ VisitMap()

template<typename ConcreteVisitor >
size_t v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitMap ( Tagged< Map > map,
Tagged< Map > object,
MaybeObjectSize maybe_object_size )

Definition at line 876 of file marking-visitor-inl.h.

◆ VisitMapPointer()

template<typename ConcreteVisitor >
void v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitMapPointer ( Tagged< HeapObject > host)
inlinefinalvirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 113 of file marking-visitor.h.

Here is the call graph for this function:

◆ VisitPointer() [1/2]

template<typename ConcreteVisitor >
V8_INLINE void v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitPointer ( Tagged< HeapObject > host,
MaybeObjectSlot p )
inlinefinalvirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 120 of file marking-visitor.h.

Here is the call graph for this function:

◆ VisitPointer() [2/2]

template<typename ConcreteVisitor >
V8_INLINE void v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitPointer ( Tagged< HeapObject > host,
ObjectSlot p )
inlinefinalvirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 117 of file marking-visitor.h.

Here is the call graph for this function:

◆ VisitPointers() [1/2]

template<typename ConcreteVisitor >
V8_INLINE void v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitPointers ( Tagged< HeapObject > host,
MaybeObjectSlot start,
MaybeObjectSlot end )
inlinefinalvirtual

Implements v8::internal::ObjectVisitor.

Definition at line 128 of file marking-visitor.h.

Here is the call graph for this function:

◆ VisitPointers() [2/2]

template<typename ConcreteVisitor >
V8_INLINE void v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitPointers ( Tagged< HeapObject > host,
ObjectSlot start,
ObjectSlot end )
inlinefinalvirtual

Implements v8::internal::ObjectVisitor.

Definition at line 124 of file marking-visitor.h.

Here is the call graph for this function:

◆ VisitPointersImpl() [1/2]

template<typename ConcreteVisitor >
template<typename TSlot >
void v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitPointersImpl ( Tagged< HeapObject > host,
TSlot start,
TSlot end )

Definition at line 139 of file marking-visitor-inl.h.

◆ VisitPointersImpl() [2/2]

template<typename ConcreteVisitor >
template<typename TSlot >
V8_INLINE void v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitPointersImpl ( Tagged< HeapObject > host,
TSlot start,
TSlot end )
protected
Here is the caller graph for this function:

◆ VisitProtectedPointer() [1/2]

template<typename ConcreteVisitor >
V8_INLINE void v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitProtectedPointer ( Tagged< TrustedObject > host,
ProtectedMaybeObjectSlot slot )
inlinefinalvirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 165 of file marking-visitor.h.

Here is the call graph for this function:

◆ VisitProtectedPointer() [2/2]

template<typename ConcreteVisitor >
V8_INLINE void v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitProtectedPointer ( Tagged< TrustedObject > host,
ProtectedPointerSlot slot )
inlinefinalvirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 160 of file marking-visitor.h.

Here is the call graph for this function:

◆ VisitSharedFunctionInfo()

template<typename ConcreteVisitor >
size_t v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitSharedFunctionInfo ( Tagged< Map > map,
Tagged< SharedFunctionInfo > object,
MaybeObjectSize maybe_object_size )

Definition at line 389 of file marking-visitor-inl.h.

Here is the call graph for this function:

◆ VisitStrongPointerImpl() [1/2]

template<typename ConcreteVisitor >
template<typename TSlot >
void v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitStrongPointerImpl ( Tagged< HeapObject > host,
TSlot slot )

Definition at line 171 of file marking-visitor-inl.h.

◆ VisitStrongPointerImpl() [2/2]

template<typename ConcreteVisitor >
template<typename TSlot >
V8_INLINE void v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitStrongPointerImpl ( Tagged< HeapObject > host,
TSlot slot )
protected
Here is the caller graph for this function:

◆ VisitTransitionArray()

template<typename ConcreteVisitor >
size_t v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitTransitionArray ( Tagged< Map > map,
Tagged< TransitionArray > object,
MaybeObjectSize maybe_object_size )

Definition at line 886 of file marking-visitor-inl.h.

◆ VisitTrustedPointerTableEntry()

template<typename ConcreteVisitor >
void v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitTrustedPointerTableEntry ( Tagged< HeapObject > host,
IndirectPointerSlot slot )
finalvirtual

Reimplemented from v8::internal::ObjectVisitor.

Definition at line 305 of file marking-visitor-inl.h.

◆ VisitWeakCell()

template<typename ConcreteVisitor >
size_t v8::internal::MarkingVisitorBase< ConcreteVisitor >::VisitWeakCell ( Tagged< Map > map,
Tagged< WeakCell > object,
MaybeObjectSize maybe_object_size )

Definition at line 723 of file marking-visitor-inl.h.

Here is the call graph for this function:

Member Data Documentation

◆ code_flush_mode_

template<typename ConcreteVisitor >
const base::EnumSet<CodeFlushMode> v8::internal::MarkingVisitorBase< ConcreteVisitor >::code_flush_mode_
protected

Definition at line 236 of file marking-visitor.h.

◆ code_flushing_increase_

template<typename ConcreteVisitor >
const uint16_t v8::internal::MarkingVisitorBase< ConcreteVisitor >::code_flushing_increase_
protected

Definition at line 238 of file marking-visitor.h.

◆ heap_

template<typename ConcreteVisitor >
Heap* const v8::internal::MarkingVisitorBase< ConcreteVisitor >::heap_
protected

Definition at line 234 of file marking-visitor.h.

◆ isolate_in_background_

template<typename ConcreteVisitor >
const bool v8::internal::MarkingVisitorBase< ConcreteVisitor >::isolate_in_background_
protected

Definition at line 239 of file marking-visitor.h.

◆ key_to_values_

template<typename ConcreteVisitor >
KeyToValues* v8::internal::MarkingVisitorBase< ConcreteVisitor >::key_to_values_ = nullptr
protected

Definition at line 233 of file marking-visitor.h.

◆ local_marking_worklists_

template<typename ConcreteVisitor >
MarkingWorklists::Local* const v8::internal::MarkingVisitorBase< ConcreteVisitor >::local_marking_worklists_
protected

Definition at line 231 of file marking-visitor.h.

◆ local_weak_objects_

template<typename ConcreteVisitor >
WeakObjects::Local* const v8::internal::MarkingVisitorBase< ConcreteVisitor >::local_weak_objects_
protected

Definition at line 232 of file marking-visitor.h.

◆ mark_compact_epoch_

template<typename ConcreteVisitor >
const unsigned v8::internal::MarkingVisitorBase< ConcreteVisitor >::mark_compact_epoch_
protected

Definition at line 235 of file marking-visitor.h.

◆ should_keep_ages_unchanged_

template<typename ConcreteVisitor >
const bool v8::internal::MarkingVisitorBase< ConcreteVisitor >::should_keep_ages_unchanged_
protected

Definition at line 237 of file marking-visitor.h.


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