|  | v8
    9.0.257(node16.0.0)
    V8 is Google's open source JavaScript engine | 
#include <visitor.h>

| Data Structures | |
| class | Key | 
| Public Member Functions | |
| Visitor (Key) | |
| virtual | ~Visitor ()=default | 
| template<typename T > | |
| void | Trace (const T *t) | 
| template<typename T > | |
| void | Trace (const Member< T > &member) | 
| template<typename T > | |
| void | Trace (const WeakMember< T > &weak_member) | 
| template<typename T > | |
| void | Trace (const T &object) | 
| 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 K , typename V > | |
| void | TraceEphemeron (const WeakMember< K > &key, const V *value) | 
| template<typename T > | |
| void | TraceStrongly (const WeakMember< T > &weak_member) | 
| template<typename T > | |
| void | TraceWeakContainer (const T *object, WeakCallback callback, const void *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 Member Functions | |
| virtual void | Visit (const void *self, TraceDescriptor) | 
| virtual void | VisitWeak (const void *self, TraceDescriptor, WeakCallback, const void *weak_member) | 
| virtual void | VisitRoot (const void *, TraceDescriptor, const SourceLocation &) | 
| virtual void | VisitWeakRoot (const void *self, TraceDescriptor, WeakCallback, const void *weak_root, const SourceLocation &) | 
| virtual void | VisitEphemeron (const void *key, const void *value, TraceDescriptor value_desc) | 
| virtual void | VisitWeakContainer (const void *self, TraceDescriptor strong_desc, TraceDescriptor weak_desc, WeakCallback callback, const void *data) | 
| virtual void | HandleMovableReference (const void **) | 
| Friends | |
| template<typename T , typename WeaknessPolicy , typename LocationPolicy , typename CheckingPolicy > | |
| class | internal::BasicCrossThreadPersistent | 
| template<typename T , typename WeaknessPolicy , typename LocationPolicy , typename CheckingPolicy > | |
| class | internal::BasicPersistent | 
| class | internal::ConservativeTracingVisitor | 
| class | internal::VisitorBase | 
Visitor passed to trace methods. All managed pointers must have called the Visitor's trace method on them.
Definition at line 60 of file visitor.h.
Referenced by JSVisitor::JSVisitor().
| 
 | virtualdefault | 
| 
 | inlinevirtual | 
Defers tracing an object from a concurrent thread to the mutator thread. Should be called by Trace methods of types that are not safe to trace concurrently.
| parameter | tells the trace callback which object was deferred. | 
| callback | to be invoked for tracing on the mutator thread. | 
| deferred_size | size of deferred object. | 
| 
 | inlineprotectedvirtual | 
Definition at line 262 of file visitor.h.
Referenced by Visitor::RegisterMovableReference().
| 
 | inline | 
Registers a slot containing a reference to an object allocated on a compactable space. Such references maybe be arbitrarily moved by the GC.
| slot | location of reference to object that might be moved by the GC. | 
Definition at line 214 of file visitor.h.
References Visitor::HandleMovableReference().
| 
 | inlinevirtual | 
Registers a weak callback that is invoked during garbage collection.
| callback | to be invoked. | 
| data | custom data that is passed to the callback. | 
Definition at line 229 of file visitor.h.
Referenced by Visitor::RegisterWeakCallbackMethod().
| 
 | inline | 
Registers a weak callback method on the object of type T. See LivenessBroker for an usage example.
| object | of type T specifying a weak callback method. | 
Definition at line 142 of file visitor.h.
References Visitor::RegisterWeakCallback().
| 
 | inline | 
Trace method for EphemeronPair.
| ephemeron_pair | EphemeronPair reference weakly retaining a key object and strongly retaining a value object in case the key object is alive. | 
| 
 | inline | 
Trace method for Member.
| member | Member reference retaining an object. | 
Definition at line 86 of file visitor.h.
References cppgc::kSentinelPointer.
| 
 | inline | 
Trace method for inlined objects that are not allocated themselves but otherwise follow managed heap layout and have a Trace() method.
| object | reference of the inlined object. | 
Definition at line 124 of file visitor.h.
References BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::cppgc::TraceTrait.
| 
 | inline | 
Trace method for raw pointers. Prefer the versions for managed pointers.
| member | Reference retaining an object. | 
Definition at line 70 of file visitor.h.
References BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::cppgc::TraceTrait, and Visitor::Visit().
| 
 | inline | 
Trace method for WeakMember.
| weak_member | WeakMember reference weakly retaining an object. | 
Definition at line 98 of file visitor.h.
References BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::cppgc::TraceTrait, cppgc::kSentinelPointer, and Visitor::VisitWeak().
| 
 | inline | 
Trace method for ephemerons. Used for tracing raw ephemeron in which the key and value are kept separately.
| key | WeakMember reference weakly retaining a key object. | 
| value | Member reference weakly retaining a value object. | 
Definition at line 168 of file visitor.h.
References BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::cppgc::TraceTrait, and Visitor::VisitEphemeron().
| 
 | inline | 
Trace method that strongifies a WeakMember.
| weak_member | WeakMember reference retaining an object. | 
Definition at line 185 of file visitor.h.
References cppgc::kSentinelPointer.
| 
 | inline | 
Trace method for weak containers.
| object | reference of the weak container. | 
| callback | to be invoked. | 
| data | custom data that is passed to the callback. | 
Definition at line 199 of file visitor.h.
References BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::cppgc::TraceTrait, and Visitor::VisitWeakContainer().
| 
 | inlineprotectedvirtual | 
Definition at line 251 of file visitor.h.
Referenced by Visitor::Trace().
| 
 | inlineprotectedvirtual | 
Definition at line 257 of file visitor.h.
Referenced by Visitor::TraceEphemeron().
| 
 | inlineprotectedvirtual | 
| 
 | inlineprotectedvirtual | 
Definition at line 252 of file visitor.h.
Referenced by Visitor::Trace().
| 
 | inlineprotectedvirtual | 
Definition at line 259 of file visitor.h.
Referenced by Visitor::TraceWeakContainer().
| 
 | inlineprotectedvirtual | 
| 
 | friend | 
Definition at line 322 of file visitor.h.
Referenced by BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::BasicCrossThreadPersistent(), BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::Lock(), and BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::To().
| 
 | friend | 
Definition at line 325 of file visitor.h.
Referenced by BasicPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::BasicPersistent(), and BasicPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::To().