v8
9.4.146 (node 16.13.0)
V8 is Google's open source JavaScript engine
|
#include <v8-cppgc.h>
Public Types | |
using | WriteBarrierParams = cppgc::internal::WriteBarrier::Params |
using | WriteBarrierType = cppgc::internal::WriteBarrier::Type |
Static Public Member Functions | |
template<typename HeapHandleCallback > | |
static V8_INLINE WriteBarrierType | GetWriteBarrierType (const TracedReferenceBase &ref, WriteBarrierParams ¶ms, HeapHandleCallback callback) |
template<typename HeapHandleCallback > | |
static V8_INLINE WriteBarrierType | GetWriteBarrierType (v8::Local< v8::Object > &wrapper, int wrapper_index, const void *wrappable, WriteBarrierParams ¶ms, HeapHandleCallback callback) |
static V8_INLINE void | DijkstraMarkingBarrier (const WriteBarrierParams ¶ms, cppgc::HeapHandle &heap_handle, const TracedReferenceBase &ref) |
static V8_INLINE void | DijkstraMarkingBarrier (const WriteBarrierParams ¶ms, cppgc::HeapHandle &heap_handle, const void *object) |
static V8_INLINE void | GenerationalBarrier (const WriteBarrierParams ¶ms, const TracedReferenceBase &ref) |
DO NOT USE: Use the appropriate managed types.
Consistency helpers that aid in maintaining a consistent internal state of the garbage collector.
Definition at line 175 of file v8-cppgc.h.
Definition at line 177 of file v8-cppgc.h.
Definition at line 178 of file v8-cppgc.h.
|
inlinestatic |
Conservative Dijkstra-style write barrier that processes an object if it has not yet been processed.
params | The parameters retrieved from GetWriteBarrierType() . |
ref | The reference being written to. |
Definition at line 251 of file v8-cppgc.h.
References WriteBarrier::CheckParams(), and WriteBarrier::kMarking.
|
inlinestatic |
Conservative Dijkstra-style write barrier that processes an object if it has not yet been processed.
params | The parameters retrieved from GetWriteBarrierType() . |
object | The pointer to the object. May be an interior pointer to a an interface of the actual object. |
Definition at line 267 of file v8-cppgc.h.
References WriteBarrier::DijkstraMarkingBarrier().
|
inlinestatic |
Generational barrier for maintaining consistency when running with multiple generations.
params | The parameters retrieved from GetWriteBarrierType() . |
ref | The reference being written to. |
Definition at line 280 of file v8-cppgc.h.
|
inlinestatic |
Gets the required write barrier type for a specific write.
Note: Handling for C++ to JS references.
ref | The reference being written to. |
params | Parameters that may be used for actual write barrier calls. Only filled if return value indicates that a write barrier is needed. The contents of the params are an implementation detail. |
callback | Callback returning the corresponding heap handle. The callback is only invoked if the heap cannot otherwise be figured out. The callback must not allocate. |
Definition at line 196 of file v8-cppgc.h.
References WriteBarrier::Params::heap, WriteBarrier::IsAnyIncrementalOrConcurrentMarking(), TracedReferenceBase::IsEmpty(), HeapState::IsMarking(), WriteBarrier::kMarking, and WriteBarrier::kNone.
|
inlinestatic |
Gets the required write barrier type for a specific write.
Note: Handling for JS to C++ references.
wrapper | The wrapper that has been written into. |
wrapper_index | The wrapper index in wrapper that has been written into. |
wrappable | The value that was written. |
params | Parameters that may be used for actual write barrier calls. Only filled if return value indicates that a write barrier is needed. The contents of the params are an implementation detail. |
callback | Callback returning the corresponding heap handle. The callback is only invoked if the heap cannot otherwise be figured out. The callback must not allocate. |
Definition at line 233 of file v8-cppgc.h.