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

Classes

class  WeakContainerScope
 

Public Member Functions

 WeakVisitor (CppGraphBuilderImpl &graph_builder)
 
void VisitWeakContainer (const void *object, cppgc::TraceDescriptor strong_desc, cppgc::TraceDescriptor weak_desc, cppgc::WeakCallback, const void *) final
 
void VisitEphemeron (const void *key, const void *value, cppgc::TraceDescriptor value_desc) final
 
- 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 void RegisterWeakCallback (WeakCallback callback, const void *data)
 
virtual V8_WARN_UNUSED_RESULT bool DeferTraceToMutatorThreadIfConcurrent (const void *parameter, TraceCallback callback, size_t deferred_size)
 

Protected Attributes

CppGraphBuilderImplgraph_builder_
 
const HeapObjectHeadercurrent_weak_container_header_ = nullptr
 

Additional Inherited Members

- Protected Member Functions inherited from v8::JSVisitor
virtual void Visit (const TracedReferenceBase &ref)
 
- Protected Member Functions inherited from cppgc::Visitor
virtual void Visit (const void *self, TraceDescriptor)
 
virtual void VisitWeak (const void *self, TraceDescriptor, WeakCallback, const void *weak_member)
 
virtual void HandleMovableReference (const void **)
 
virtual void VisitMultipleUncompressedMember (const void *start, size_t len, TraceDescriptorCallback get_trace_descriptor)
 

Detailed Description

Definition at line 625 of file cpp-snapshot.cc.

Constructor & Destructor Documentation

◆ WeakVisitor()

v8::internal::WeakVisitor::WeakVisitor ( CppGraphBuilderImpl & graph_builder)
inlineexplicit

Definition at line 627 of file cpp-snapshot.cc.

Member Function Documentation

◆ VisitEphemeron()

void v8::internal::WeakVisitor::VisitEphemeron ( const void * key,
const void * value,
cppgc::TraceDescriptor value_desc )
inlinefinalvirtual

Reimplemented from cppgc::Visitor.

Definition at line 661 of file cpp-snapshot.cc.

◆ VisitWeakContainer()

void v8::internal::WeakVisitor::VisitWeakContainer ( const void * object,
cppgc::TraceDescriptor strong_desc,
cppgc::TraceDescriptor weak_desc,
cppgc::WeakCallback ,
const void *  )
inlinefinalvirtual

Reimplemented from cppgc::Visitor.

Definition at line 631 of file cpp-snapshot.cc.

Member Data Documentation

◆ current_weak_container_header_

const HeapObjectHeader* v8::internal::WeakVisitor::current_weak_container_header_ = nullptr
protected

Definition at line 703 of file cpp-snapshot.cc.

◆ graph_builder_

CppGraphBuilderImpl& v8::internal::WeakVisitor::graph_builder_
protected

Definition at line 702 of file cpp-snapshot.cc.


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