![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <unified-heap-marking-visitor.h>
Public Member Functions | |
| ConcurrentUnifiedHeapMarkingVisitor (HeapBase &, Heap *, cppgc::internal::ConcurrentMarkingState &, CppHeap::CollectionType) | |
| ~ConcurrentUnifiedHeapMarkingVisitor () override | |
Public Member Functions inherited from v8::internal::UnifiedHeapMarkingVisitorBase | |
| 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) |
Protected Member Functions | |
| bool | DeferTraceToMutatorThreadIfConcurrent (const void *, cppgc::TraceCallback, size_t) final |
Protected Member Functions inherited from v8::internal::UnifiedHeapMarkingVisitorBase | |
| 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 | |
Private Attributes | |
| std::unique_ptr< MarkingWorklists::Local > | local_marking_worklist_ |
| UnifiedHeapMarkingState | concurrent_unified_heap_marking_state_ |
Additional Inherited Members | |
Protected Attributes inherited from v8::internal::UnifiedHeapMarkingVisitorBase | |
| cppgc::internal::BasicMarkingState & | marking_state_ |
| UnifiedHeapMarkingState & | unified_heap_marking_state_ |
Definition at line 77 of file unified-heap-marking-visitor.h.
| v8::internal::ConcurrentUnifiedHeapMarkingVisitor::ConcurrentUnifiedHeapMarkingVisitor | ( | HeapBase & | heap, |
| Heap * | v8_heap, | ||
| cppgc::internal::ConcurrentMarkingState & | marking_state, | ||
| CppHeap::CollectionType | collection_type ) |
Definition at line 114 of file unified-heap-marking-visitor.cc.
|
override |
Definition at line 131 of file unified-heap-marking-visitor.cc.
|
finalprotectedvirtual |
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. |
Reimplemented from cppgc::Visitor.
Definition at line 140 of file unified-heap-marking-visitor.cc.
|
private |
Definition at line 96 of file unified-heap-marking-visitor.h.
|
private |
Definition at line 95 of file unified-heap-marking-visitor.h.