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

#include <unified-heap-marking-visitor.h>

Inheritance diagram for v8::internal::UnifiedHeapMarkingVisitorBase:
Collaboration diagram for v8::internal::UnifiedHeapMarkingVisitorBase:

Public Member Functions

 UnifiedHeapMarkingVisitorBase (HeapBase &, cppgc::internal::BasicMarkingState &, UnifiedHeapMarkingState &)
 
 ~UnifiedHeapMarkingVisitorBase () override=default
 
- Public Member Functions inherited from v8::JSVisitor
 JSVisitor (cppgc::Visitor::Key key)
 
 ~JSVisitor () override=default
 
void Trace (const TracedReferenceBase &ref)
 
- Public Member Functions inherited from cppgc::Visitor
 Visitor (Key)
 
virtual ~Visitor ()=default
 
template<typename T >
void Trace (const Member< T > &member)
 
template<typename T >
void Trace (const WeakMember< T > &weak_member)
 
template<typename T >
void TraceMultiple (const subtle::UncompressedMember< T > *start, size_t len)
 
template<typename T , std::enable_if_t<!std::is_same_v< Member< T >, subtle::UncompressedMember< T > > > * = nullptr>
void TraceMultiple (const Member< T > *start, size_t len)
 
template<typename T >
void Trace (const T &object)
 
template<typename T >
void TraceMultiple (const T *start, size_t len)
 
template<typename T , void(T::*)(const LivenessBroker &) method>
void RegisterWeakCallbackMethod (const T *object)
 
template<typename K , typename V >
void Trace (const EphemeronPair< K, V > &ephemeron_pair)
 
template<typename KeyType , typename ValueType >
void TraceEphemeron (const WeakMember< KeyType > &weak_member_key, const Member< ValueType > *member_value)
 
template<typename KeyType , typename ValueType >
void TraceEphemeron (const WeakMember< KeyType > &weak_member_key, const ValueType *value)
 
template<typename T >
void TraceStrongly (const WeakMember< T > &weak_member)
 
template<typename T >
void TraceStrongContainer (const T *object)
 
template<typename T >
void TraceWeakContainer (const T *object, WeakCallback callback, const void *callback_data)
 
template<typename T >
void RegisterMovableReference (const T **slot)
 
virtual V8_WARN_UNUSED_RESULT bool DeferTraceToMutatorThreadIfConcurrent (const void *parameter, TraceCallback callback, size_t deferred_size)
 

Protected Member Functions

void Visit (const void *, TraceDescriptor) final
 
void VisitMultipleUncompressedMember (const void *, size_t, TraceDescriptorCallback) final
 
void VisitWeak (const void *, TraceDescriptor, WeakCallback, const void *) final
 
void VisitEphemeron (const void *, const void *, TraceDescriptor) final
 
void VisitWeakContainer (const void *self, TraceDescriptor strong_desc, TraceDescriptor weak_desc, WeakCallback callback, const void *data) final
 
void RegisterWeakCallback (WeakCallback, const void *) final
 
void HandleMovableReference (const void **) final
 
void Visit (const TracedReferenceBase &ref) override
 
- Protected Member Functions inherited from v8::JSVisitor
- Protected Member Functions inherited from cppgc::Visitor

Protected Attributes

cppgc::internal::BasicMarkingStatemarking_state_
 
UnifiedHeapMarkingStateunified_heap_marking_state_
 

Friends

class UnifiedHeapMarker
 

Detailed Description

Definition at line 37 of file unified-heap-marking-visitor.h.

Constructor & Destructor Documentation

◆ UnifiedHeapMarkingVisitorBase()

v8::internal::UnifiedHeapMarkingVisitorBase::UnifiedHeapMarkingVisitorBase ( HeapBase & heap,
cppgc::internal::BasicMarkingState & marking_state,
UnifiedHeapMarkingState & unified_heap_marking_state )

Definition at line 29 of file unified-heap-marking-visitor.cc.

◆ ~UnifiedHeapMarkingVisitorBase()

v8::internal::UnifiedHeapMarkingVisitorBase::~UnifiedHeapMarkingVisitorBase ( )
overridedefault

Member Function Documentation

◆ HandleMovableReference()

void v8::internal::UnifiedHeapMarkingVisitorBase::HandleMovableReference ( const void ** slot)
finalprotectedvirtual

Reimplemented from cppgc::Visitor.

Definition at line 100 of file unified-heap-marking-visitor.cc.

Here is the call graph for this function:

◆ RegisterWeakCallback()

void v8::internal::UnifiedHeapMarkingVisitorBase::RegisterWeakCallback ( WeakCallback callback,
const void * data )
finalprotectedvirtual

Registers a weak callback that is invoked during garbage collection.

Parameters
callbackto be invoked.
datacustom data that is passed to the callback.

Reimplemented from cppgc::Visitor.

Definition at line 95 of file unified-heap-marking-visitor.cc.

Here is the call graph for this function:

◆ Visit() [1/2]

void v8::internal::UnifiedHeapMarkingVisitorBase::Visit ( const TracedReferenceBase & ref)
overrideprotectedvirtual

Reimplemented from v8::JSVisitor.

Definition at line 104 of file unified-heap-marking-visitor.cc.

Here is the call graph for this function:

◆ Visit() [2/2]

void v8::internal::UnifiedHeapMarkingVisitorBase::Visit ( const void * object,
TraceDescriptor desc )
finalprotectedvirtual

Reimplemented from cppgc::Visitor.

Definition at line 36 of file unified-heap-marking-visitor.cc.

Here is the call graph for this function:

◆ VisitEphemeron()

void v8::internal::UnifiedHeapMarkingVisitorBase::VisitEphemeron ( const void * key,
const void * value,
TraceDescriptor value_desc )
finalprotectedvirtual

Reimplemented from cppgc::Visitor.

Definition at line 83 of file unified-heap-marking-visitor.cc.

Here is the call graph for this function:

◆ VisitMultipleUncompressedMember()

void v8::internal::UnifiedHeapMarkingVisitorBase::VisitMultipleUncompressedMember ( const void * start,
size_t len,
TraceDescriptorCallback get_trace_descriptor )
finalprotectedvirtual

Reimplemented from cppgc::Visitor.

Definition at line 41 of file unified-heap-marking-visitor.cc.

Here is the call graph for this function:

◆ VisitWeak()

void v8::internal::UnifiedHeapMarkingVisitorBase::VisitWeak ( const void * object,
TraceDescriptor desc,
WeakCallback weak_callback,
const void * weak_member )
finalprotectedvirtual

Reimplemented from cppgc::Visitor.

Definition at line 75 of file unified-heap-marking-visitor.cc.

Here is the call graph for this function:

◆ VisitWeakContainer()

void v8::internal::UnifiedHeapMarkingVisitorBase::VisitWeakContainer ( const void * self,
TraceDescriptor strong_desc,
TraceDescriptor weak_desc,
WeakCallback callback,
const void * data )
finalprotectedvirtual

Reimplemented from cppgc::Visitor.

Definition at line 89 of file unified-heap-marking-visitor.cc.

Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ UnifiedHeapMarker

friend class UnifiedHeapMarker
friend

Definition at line 66 of file unified-heap-marking-visitor.h.

Member Data Documentation

◆ marking_state_

cppgc::internal::BasicMarkingState& v8::internal::UnifiedHeapMarkingVisitorBase::marking_state_
protected

Definition at line 63 of file unified-heap-marking-visitor.h.

◆ unified_heap_marking_state_

UnifiedHeapMarkingState& v8::internal::UnifiedHeapMarkingVisitorBase::unified_heap_marking_state_
protected

Definition at line 64 of file unified-heap-marking-visitor.h.


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