#include <v8-embedder-heap.h>
Handler for embedder roots on non-unified heap garbage collections.
Definition at line 22 of file v8-embedder-heap.h.
◆ RootHandling
Enumerator |
---|
kQueryEmbedderForNonDroppableReferences | |
kDontQueryEmbedderForAnyReference | |
Definition at line 24 of file v8-embedder-heap.h.
◆ ~EmbedderRootsHandler()
◆ EmbedderRootsHandler() [1/2]
◆ EmbedderRootsHandler() [2/2]
◆ IsRoot()
Returns true if the |TracedReference| handle should be considered as root for the currently running non-tracing garbage collection and false otherwise. The default implementation will keep all |TracedReference| references as roots.
If this returns false, then V8 may decide that the object referred to by such a handle is reclaimed. In that case, V8 calls |ResetRoot()| for the |TracedReference|.
Note that the handle
is different from the handle that the embedder holds for retaining the object.
The concrete implementations must be thread-safe.
◆ ResetRoot()
Used in combination with |IsRoot|. Called by V8 when an object that is backed by a handle is reclaimed by a non-tracing garbage collection. It is up to the embedder to reset the original handle.
Note that the |handle| is different from the handle that the embedder holds for retaining the object. It is up to the embedder to find the original handle via the object or class id.
◆ TryResetRoot()
Similar to |ResetRoot()|, but opportunistic. The function is called in parallel for different handles and as such must be thread-safe. In case, |false| is returned, |ResetRoot()| will be recalled for the same handle.
Definition at line 68 of file v8-embedder-heap.h.
◆ internal::TracedHandles
friend class internal::TracedHandles |
|
friend |
The documentation for this class was generated from the following file: