v8 12.4.254 (node 22.4.1)
V8 is Google's open source JavaScript engine
|
#include <heap-consistency.h>
Public Types | |
using | WriteBarrierParams = internal::WriteBarrier::Params |
using | WriteBarrierType = internal::WriteBarrier::Type |
Static Public Member Functions | |
static V8_INLINE WriteBarrierType | GetWriteBarrierType (const void *slot, const void *value, WriteBarrierParams ¶ms) |
template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType > | |
static V8_INLINE WriteBarrierType | GetWriteBarrierType (const internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > &value, WriteBarrierParams ¶ms) |
template<typename HeapHandleCallback > | |
static V8_INLINE WriteBarrierType | GetWriteBarrierType (const void *slot, WriteBarrierParams ¶ms, HeapHandleCallback callback) |
static V8_INLINE WriteBarrierType | GetWriteBarrierType (const void *value, WriteBarrierParams ¶ms) |
static V8_INLINE void | DijkstraWriteBarrier (const WriteBarrierParams ¶ms, const void *object) |
static V8_INLINE void | DijkstraWriteBarrierRange (const WriteBarrierParams ¶ms, const void *first_element, size_t element_size, size_t number_of_elements, TraceCallback trace_callback) |
static V8_INLINE void | SteeleWriteBarrier (const WriteBarrierParams ¶ms, const void *object) |
static V8_INLINE void | GenerationalBarrier (const WriteBarrierParams ¶ms, const void *slot) |
static V8_INLINE void | GenerationalBarrierForUncompressedSlot (const WriteBarrierParams ¶ms, const void *uncompressed_slot) |
static V8_INLINE void | GenerationalBarrierForSourceObject (const WriteBarrierParams ¶ms, const void *inner_pointer) |
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 28 of file heap-consistency.h.
Definition at line 30 of file heap-consistency.h.
Definition at line 31 of file heap-consistency.h.
|
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 120 of file heap-consistency.h.
References WriteBarrier::DijkstraMarkingBarrier().
|
inlinestatic |
Conservative Dijkstra-style write barrier that processes a range of elements if they have not yet been processed.
params | The parameters retrieved from GetWriteBarrierType() . |
first_element | Pointer to the first element that should be processed. The slot itself must reside in an object that has been allocated using MakeGarbageCollected() . |
element_size | Size of the element in bytes. |
number_of_elements | Number of elements that should be processed, starting with first_element . |
trace_callback | The trace callback that should be invoked for each element if necessary. |
Definition at line 139 of file heap-consistency.h.
References WriteBarrier::DijkstraMarkingBarrierRange().
|
inlinestatic |
Generational barrier for maintaining consistency when running with multiple generations.
params | The parameters retrieved from GetWriteBarrierType() . |
slot | Slot containing the pointer to the object. The slot itself must reside in an object that has been allocated using MakeGarbageCollected() . |
Definition at line 171 of file heap-consistency.h.
References WriteBarrier::GenerationalBarrier(), and WriteBarrier::kPreciseSlot.
|
inlinestatic |
Generational barrier for source object that may contain outgoing pointers to objects in young generation.
params | The parameters retrieved from GetWriteBarrierType() . |
inner_pointer | Pointer to the source object. |
Definition at line 201 of file heap-consistency.h.
References WriteBarrier::GenerationalBarrier(), and WriteBarrier::kImpreciseSlot.
|
inlinestatic |
Generational barrier for maintaining consistency when running with multiple generations. This version is used when slot contains uncompressed pointer.
params | The parameters retrieved from GetWriteBarrierType() . |
slot | Uncompressed slot containing the direct pointer to the object. The slot itself must reside in an object that has been allocated using MakeGarbageCollected() . |
Definition at line 187 of file heap-consistency.h.
References WriteBarrier::GenerationalBarrier().
|
inlinestatic |
Gets the required write barrier type for a specific write. This override is only used for all the BasicMember types.
slot | Slot containing the pointer to the object. The slot itself must reside in an object that has been allocated using MakeGarbageCollected() . |
value | The pointer to the object held via BasicMember . |
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. |
Definition at line 66 of file heap-consistency.h.
References WriteBarrier::GetWriteBarrierType().
|
inlinestatic |
Gets the required write barrier type for a specific write.
slot | Slot containing the pointer to the object. The slot itself must reside in an object that has been allocated using MakeGarbageCollected() . |
value | The pointer to the object. May be an interior pointer to an interface of the actual object. |
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. |
Definition at line 46 of file heap-consistency.h.
References WriteBarrier::GetWriteBarrierType().
|
inlinestatic |
Gets the required write barrier type for a specific write.
slot | Slot to some part of an object. The object must not necessarily have been allocated using MakeGarbageCollected() but can also live off-heap or on stack. |
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 90 of file heap-consistency.h.
References WriteBarrier::GetWriteBarrierType().
|
inlinestatic |
Gets the required write barrier type for a specific write. This version is meant to be used in conjunction with with a marking write barrier barrier which doesn't consider the slot.
value | The pointer to the object. May be an interior pointer to an interface of the actual object. |
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. |
Definition at line 108 of file heap-consistency.h.
References WriteBarrier::GetWriteBarrierType().
|
inlinestatic |
Steele-style write barrier that re-processes an object if it has already been processed.
params | The parameters retrieved from GetWriteBarrierType() . |
object | The pointer to the object which must point to an object that has been allocated using MakeGarbageCollected() . Interior pointers are not supported. |
Definition at line 157 of file heap-consistency.h.
References WriteBarrier::SteeleMarkingBarrier().