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

#include <heap-visitor.h>

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

Public Member Functions

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 VisitPointers (Tagged< HeapObject > host, ObjectSlot start, ObjectSlot end)=0
 
virtual void VisitPointers (Tagged< HeapObject > host, MaybeObjectSlot start, MaybeObjectSlot end)=0
 
virtual void VisitInstructionStreamPointer (Tagged< Code > host, InstructionStreamSlot slot)=0
 
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 VisitCodeTarget (Tagged< InstructionStream > host, RelocInfo *rinfo)
 
virtual void VisitEmbeddedPointer (Tagged< InstructionStream > host, RelocInfo *rinfo)
 
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)
 
virtual void VisitMapPointer (Tagged< HeapObject > host)
 

Static Public Member Functions

static V8_INLINE constexpr bool EnableConcurrentVisitation ()
 

Static Protected Member Functions

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)
 

Private Member Functions

template<typename T >
V8_INLINE size_t VisitStringLocked (Tagged< T > object)
 

Friends

class HeapVisitor< ConcreteVisitor >
 

Additional Inherited Members

- 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 inherited from v8::internal::HeapVisitor< ConcreteVisitor >
const Heapheap_
 

Detailed Description

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

Definition at line 325 of file heap-visitor.h.

Constructor & Destructor Documentation

◆ ConcurrentHeapVisitor()

template<typename ConcreteVisitor >
v8::internal::ConcurrentHeapVisitor< ConcreteVisitor >::ConcurrentHeapVisitor ( Isolate * isolate)
explicit

Definition at line 382 of file heap-visitor-inl.h.

Member Function Documentation

◆ Cast() [1/2]

template<typename ConcreteVisitor >
template<typename T >
Tagged< T > v8::internal::ConcurrentHeapVisitor< ConcreteVisitor >::Cast ( Tagged< HeapObject > object,
const Heap * heap )

Definition at line 406 of file heap-visitor-inl.h.

◆ Cast() [2/2]

template<typename ConcreteVisitor >
template<typename T >
static V8_INLINE Tagged< T > v8::internal::ConcurrentHeapVisitor< ConcreteVisitor >::Cast ( Tagged< HeapObject > object,
const Heap * heap )
staticprotected

◆ EnableConcurrentVisitation()

template<typename ConcreteVisitor >
static V8_INLINE constexpr bool v8::internal::ConcurrentHeapVisitor< ConcreteVisitor >::EnableConcurrentVisitation ( )
inlinestaticconstexpr

Definition at line 329 of file heap-visitor.h.

◆ VisitStringLocked() [1/2]

template<typename ConcreteVisitor >
template<typename T >
size_t v8::internal::ConcurrentHeapVisitor< ConcreteVisitor >::VisitStringLocked ( Tagged< T > object)

Definition at line 431 of file heap-visitor-inl.h.

◆ VisitStringLocked() [2/2]

template<typename ConcreteVisitor >
template<typename T >
V8_INLINE size_t v8::internal::ConcurrentHeapVisitor< ConcreteVisitor >::VisitStringLocked ( Tagged< T > object)
private

Friends And Related Symbol Documentation

◆ HeapVisitor< ConcreteVisitor >

template<typename ConcreteVisitor >
friend class HeapVisitor< ConcreteVisitor >
friend

Definition at line 344 of file heap-visitor.h.


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