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

#include <heap-visitor.h>

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

Public Member Functions

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

Protected Member Functions

size_t VisitNativeContext (Tagged< Map >, Tagged< NativeContext >, MaybeObjectSize)
 
size_t VisitBytecodeArray (Tagged< Map >, Tagged< BytecodeArray >, MaybeObjectSize)
 
size_t VisitSharedFunctionInfo (Tagged< Map > map, Tagged< SharedFunctionInfo >, MaybeObjectSize)
 
size_t VisitWeakCell (Tagged< Map >, Tagged< WeakCell >, MaybeObjectSize)
 
- 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
 

Static Protected Member Functions

static V8_INLINE constexpr bool ShouldVisitMapPointer ()
 
- 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)
 

Friends

class HeapVisitor< ConcreteVisitor >
 

Additional Inherited Members

- Static Public Member Functions inherited from v8::internal::ConcurrentHeapVisitor< ConcreteVisitor >
static V8_INLINE constexpr bool EnableConcurrentVisitation ()
 
- Protected Attributes inherited from v8::internal::HeapVisitor< ConcreteVisitor >
const Heapheap_
 

Detailed Description

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

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

Constructor & Destructor Documentation

◆ NewSpaceVisitor()

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

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

Member Function Documentation

◆ ShouldVisitMapPointer()

template<typename ConcreteVisitor >
static V8_INLINE constexpr bool v8::internal::NewSpaceVisitor< ConcreteVisitor >::ShouldVisitMapPointer ( )
inlinestaticconstexprprotected

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

◆ VisitBytecodeArray()

template<typename ConcreteVisitor >
size_t v8::internal::NewSpaceVisitor< ConcreteVisitor >::VisitBytecodeArray ( Tagged< Map > ,
Tagged< BytecodeArray > ,
MaybeObjectSize  )
inlineprotected

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

Here is the call graph for this function:

◆ VisitCodeTarget()

template<typename ConcreteVisitor >
void v8::internal::NewSpaceVisitor< ConcreteVisitor >::VisitCodeTarget ( Tagged< InstructionStream > host,
RelocInfo *  )
inlinefinalvirtual

Reimplemented from v8::internal::ObjectVisitor.

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

Here is the call graph for this function:

◆ VisitEmbeddedPointer()

template<typename ConcreteVisitor >
void v8::internal::NewSpaceVisitor< ConcreteVisitor >::VisitEmbeddedPointer ( Tagged< InstructionStream > host,
RelocInfo *  )
inlinefinalvirtual

Reimplemented from v8::internal::ObjectVisitor.

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

Here is the call graph for this function:

◆ VisitInstructionStreamPointer()

template<typename ConcreteVisitor >
void v8::internal::NewSpaceVisitor< ConcreteVisitor >::VisitInstructionStreamPointer ( Tagged< Code > ,
InstructionStreamSlot  )
inlinefinalvirtual

Implements v8::internal::ObjectVisitor.

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

Here is the call graph for this function:

◆ VisitMapPointer()

template<typename ConcreteVisitor >
void v8::internal::NewSpaceVisitor< ConcreteVisitor >::VisitMapPointer ( Tagged< HeapObject > )
inlineoverridevirtual

Reimplemented from v8::internal::ObjectVisitor.

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

Here is the call graph for this function:

◆ VisitNativeContext()

template<typename ConcreteVisitor >
size_t v8::internal::NewSpaceVisitor< ConcreteVisitor >::VisitNativeContext ( Tagged< Map > ,
Tagged< NativeContext > ,
MaybeObjectSize  )
inlineprotected

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

Here is the call graph for this function:

◆ VisitSharedFunctionInfo()

template<typename ConcreteVisitor >
size_t v8::internal::NewSpaceVisitor< ConcreteVisitor >::VisitSharedFunctionInfo ( Tagged< Map > map,
Tagged< SharedFunctionInfo > ,
MaybeObjectSize  )
inlineprotected

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

Here is the call graph for this function:

◆ VisitWeakCell()

template<typename ConcreteVisitor >
size_t v8::internal::NewSpaceVisitor< ConcreteVisitor >::VisitWeakCell ( Tagged< Map > ,
Tagged< WeakCell > ,
MaybeObjectSize  )
inlineprotected

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

Friends And Related Symbol Documentation

◆ HeapVisitor< ConcreteVisitor >

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

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


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