v8
10.1.124 (node 18.2.0)
V8 is Google's open source JavaScript engine
|
#include <v8-embedder-heap.h>
Public Member Functions | |
virtual | ~EmbedderRootsHandler ()=default |
virtual bool | IsRoot (const v8::TracedReference< v8::Value > &handle)=0 |
virtual bool | IsRoot (const v8::TracedGlobal< v8::Value > &handle) |
virtual void | ResetRoot (const v8::TracedReference< v8::Value > &handle)=0 |
Handler for embedder roots on non-unified heap garbage collections.
Definition at line 32 of file v8-embedder-heap.h.
|
virtualdefault |
|
inlinevirtual |
Definition at line 56 of file v8-embedder-heap.h.
|
pure virtual |
Returns true if the TracedGlobal handle should be considered as root for the currently running non-tracing garbage collection and false otherwise. The default implementation will keep all TracedGlobal 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:
Note that the |handle| is different from the handle that the embedder holds for retaining the object. The embedder may use |WrapperClassId()| to distinguish cases where it wants handles to be treated as roots from not being treated as roots.
|
pure virtual |
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.