![]() |
v8 13.6.233 (node 24.1.0)
V8 is Google's open source JavaScript engine
|
Namespaces | |
| namespace | internal |
| namespace | subtle |
| namespace | testing |
Data Structures | |
| struct | AdditionalBytes |
| class | CustomSpace |
| class | CustomSpaceBase |
| struct | CustomSpaceIndex |
| class | DefaultPlatform |
| struct | EphemeronPair |
| class | GarbageCollected |
| class | GarbageCollectedMixin |
| class | Heap |
| class | HeapHandle |
| struct | HeapStatistics |
| class | LivenessBroker |
| class | MakeGarbageCollectedTrait |
| class | MakeGarbageCollectedTraitBase |
| class | NameProvider |
| class | Platform |
| struct | PostConstructionCallbackTrait |
| class | ProcessHeapStatistics |
| struct | SpaceTrait |
| struct | TraceDescriptor |
| struct | TraceTrait |
| struct | TraceTrait< v8::TracedReference< T > > |
| class | Visitor |
Concepts | |
| concept | IsStackAllocatedType |
Typedefs | |
| template<typename T> | |
| using | Member |
| template<typename T> | |
| using | WeakMember |
| template<typename T> | |
| using | UntracedMember |
| template<typename T> | |
| using | Persistent |
| template<typename T> | |
| using | WeakPersistent |
| using | IdleTask = v8::IdleTask |
| using | JobHandle = v8::JobHandle |
| using | JobDelegate = v8::JobDelegate |
| using | JobTask = v8::JobTask |
| using | PageAllocator = v8::PageAllocator |
| using | Task = v8::Task |
| using | TaskPriority = v8::TaskPriority |
| using | TaskRunner = v8::TaskRunner |
| using | TracingController = v8::TracingController |
| using | SourceLocation = v8::SourceLocation |
| using | TraceCallback = void (*)(Visitor* visitor, const void* object) |
| using | TraceDescriptorCallback = TraceDescriptor (*)(const void* address) |
| using | WeakCallback = void (*)(const LivenessBroker&, const void*) |
Enumerations | |
| enum class | EmbedderStackState { kMayContainHeapPointers , kNoHeapPointers } |
Functions | |
| template<typename T, typename... Args> | |
| V8_INLINE T * | MakeGarbageCollected (AllocationHandle &handle, Args &&... args) |
| template<typename T, typename... Args> | |
| V8_INLINE T * | MakeGarbageCollected (AllocationHandle &handle, AdditionalBytes additional_bytes, Args &&... args) |
| V8_EXPORT bool | IsInitialized () |
| V8_EXPORT void | InitializeProcess (PageAllocator *page_allocator=nullptr, size_t desired_heap_size=0) |
| V8_EXPORT void | ShutdownProcess () |
Variables | |
| constexpr internal::SentinelPointer | kSentinelPointer |
| template<typename T> | |
| constexpr bool | IsGarbageCollectedMixinTypeV |
| template<typename T> | |
| constexpr bool | IsGarbageCollectedTypeV |
| template<typename T> | |
| constexpr bool | IsGarbageCollectedOrMixinTypeV |
| template<typename T> | |
| constexpr bool | IsGarbageCollectedWithMixinTypeV |
| template<typename T> | |
| constexpr bool | IsMemberTypeV = internal::IsMemberType<T>::value |
| template<typename T> | |
| constexpr bool | IsUntracedMemberTypeV = internal::IsUntracedMemberType<T>::value |
| template<typename T> | |
| constexpr bool | IsWeakMemberTypeV = internal::IsWeakMemberType<T>::value |
| template<typename T> | |
| constexpr bool | IsWeakV = internal::IsWeak<T>::value |
| template<typename T> | |
| constexpr bool | IsCompleteV = internal::IsComplete<T>::value |
| template<typename T> | |
| constexpr bool | IsMemberOrWeakMemberTypeV |
| template<typename T> | |
| constexpr bool | IsAnyMemberTypeV = internal::IsAnyMemberTypeV<std::decay_t<T>> |
cppgc - A C++ garbage collection library.
| using IdleTask = v8::IdleTask |
Definition at line 18 of file platform.h.
| using JobDelegate = v8::JobDelegate |
Definition at line 20 of file platform.h.
| using JobHandle = v8::JobHandle |
Definition at line 19 of file platform.h.
| using JobTask = v8::JobTask |
Definition at line 21 of file platform.h.
| using Member |
Members are used in classes to contain strong pointers to other garbage collected objects. All Member fields of a class must be traced in the class' trace method.
| using PageAllocator = v8::PageAllocator |
Definition at line 22 of file platform.h.
| using Persistent |
Persistent is a way to create a strong pointer from an off-heap object to another on-heap object. As long as the Persistent handle is alive the GC will keep the object pointed to alive. The Persistent handle is always a GC root from the point of view of the GC. Persistent must be constructed and destructed in the same thread.
Definition at line 362 of file persistent.h.
| using SourceLocation = v8::SourceLocation |
Definition at line 12 of file source-location.h.
Definition at line 23 of file platform.h.
| using TaskPriority = v8::TaskPriority |
Definition at line 24 of file platform.h.
| using TaskRunner = v8::TaskRunner |
Definition at line 25 of file platform.h.
| using TraceCallback = void (*)(Visitor* visitor, const void* object) |
Callback for invoking tracing on a given object.
| visitor | The visitor to dispatch to. |
| object | The object to invoke tracing on. |
Definition at line 38 of file trace-trait.h.
| using TraceDescriptorCallback = TraceDescriptor (*)(const void* address) |
Callback for getting a TraceDescriptor for a given address.
| address | Possibly inner address of an object. |
Definition at line 62 of file trace-trait.h.
Definition at line 26 of file platform.h.
| using UntracedMember |
UntracedMember is a pointer to an on-heap object that is not traced for some reason. Do not use this unless you know what you are doing. Keeping raw pointers to on-heap objects is prohibited unless used from stack. Pointee must be kept alive through other means.
| using WeakCallback = void (*)(const LivenessBroker&, const void*) |
| using WeakMember |
WeakMember is similar to Member in that it is used to point to other garbage collected objects. However instead of creating a strong pointer to the object, the WeakMember creates a weak pointer, which does not keep the pointee alive. Hence if all pointers to to a heap allocated object are weak the object will be garbage collected. At the time of GC the weak pointers will automatically be set to null.
| using WeakPersistent |
WeakPersistent is a way to create a weak pointer from an off-heap object to an on-heap object. The pointer is automatically cleared when the pointee gets collected. WeakPersistent must be constructed and destructed in the same thread.
Definition at line 372 of file persistent.h.
|
strong |
| V8_EXPORT void InitializeProcess | ( | PageAllocator * | page_allocator = nullptr, |
| size_t | desired_heap_size = 0 ) |
Process-global initialization of the garbage collector. Must be called before creating a Heap.
Can be called multiple times when paired with ShutdownProcess().
| page_allocator | The allocator used for maintaining meta data. Must stay always alive and not change between multiple calls to InitializeProcess. If no allocator is provided, a default internal version will be used. |
| desired_heap_size | Desired amount of virtual address space to reserve for the heap, in bytes. Actual size will be clamped to minimum and maximum values based on compile-time settings and may be rounded up. If this parameter is zero, a default value will be used. |
References V8_EXPORT.
| V8_INLINE T * MakeGarbageCollected | ( | AllocationHandle & | handle, |
| AdditionalBytes | additional_bytes, | ||
| Args &&... | args ) |
Constructs a managed object of type T where T transitively inherits from GarbageCollected. Created objects will have additional bytes appended to it. Allocated memory would suffice for sizeof(T) + additional_bytes.
| additional_bytes | Denotes how many bytes to append to T. |
| args | List of arguments with which an instance of T will be constructed. |
Definition at line 294 of file allocation.h.
References MakeGarbageCollectedTrait< T >::Call(), PostConstructionCallbackTrait< T, typename >::Call(), and V8_INLINE.
| V8_INLINE T * MakeGarbageCollected | ( | AllocationHandle & | handle, |
| Args &&... | args ) |
Constructs a managed object of type T where T transitively inherits from GarbageCollected.
| args | List of arguments with which an instance of T will be constructed. |
Definition at line 276 of file allocation.h.
References MakeGarbageCollectedTrait< T >::Call(), PostConstructionCallbackTrait< T, typename >::Call(), and V8_INLINE.
| V8_EXPORT void ShutdownProcess | ( | ) |
Must be called after destroying the last used heap. Some process-global metadata may not be returned and reused upon a subsequent InitializeProcess() call.
References V8_EXPORT.
|
constexpr |
Value is true for any member type.
Definition at line 268 of file type-traits.h.
|
constexpr |
Value is true for types that are complete, and false otherwise.
Definition at line 255 of file type-traits.h.
|
constexpr |
Value is true for types that inherit from GarbageCollectedMixin but not GarbageCollected<T> (i.e., they are free mixins), and false otherwise.
Definition at line 199 of file type-traits.h.
Referenced by Visitor::RegisterMovableReference().
|
constexpr |
Value is true for types that inherit from either GarbageCollected<T> or GarbageCollectedMixin, and false otherwise.
Definition at line 215 of file type-traits.h.
Referenced by Visitor::TraceEphemeron().
|
constexpr |
Value is true for types that inherit from GarbageCollected<T>, and false otherwise.
Definition at line 207 of file type-traits.h.
Referenced by cppgc::subtle::FreeUnreferencedObject(), and cppgc::subtle::Resize().
|
constexpr |
Value is true for types that inherit from GarbageCollected<T> and GarbageCollectedMixin, and false otherwise.
Definition at line 223 of file type-traits.h.
|
constexpr |
Value is true for member types Member<T> and WeakMember<T>.
Definition at line 261 of file type-traits.h.
|
constexpr |
Value is true for types of type Member<T>, and false otherwise.
Definition at line 230 of file type-traits.h.
|
constexpr |
Value is true for types of type UntracedMember<T>, and false otherwise.
Definition at line 236 of file type-traits.h.
|
constexpr |
Value is true for types of type WeakMember<T>, and false otherwise.
Definition at line 242 of file type-traits.h.
|
constexpr |
Value is true for types that are considered weak references, and false otherwise.
Definition at line 249 of file type-traits.h.
|
constexpr |
Definition at line 35 of file sentinel-pointer.h.
Referenced by SameThreadEnabledCheckingPolicy< kCheckOffHeapAssignments >::CheckPointer(), WriteBarrierTypeForNonCagedHeapPolicy::ValueModeDispatch< WriteBarrier::ValueMode::kValuePresent >::Get(), LivenessBroker::IsHeapObjectAlive(), RawPointer::IsSentinel(), Visitor::Trace(), Visitor::Trace(), and Visitor::TraceStrongly().