![]() |
v8 13.6.233 (node 24.1.0)
V8 is Google's open source JavaScript engine
|
#include <write-barrier.h>
Data Structures | |
struct | Params |
Public Types | |
enum class | Type : uint8_t { kNone , kMarking , kGenerational } |
enum class | GenerationalBarrierType : uint8_t { kPreciseSlot , kPreciseUncompressedSlot , kImpreciseSlot } |
enum class | ValueMode { kValuePresent , kNoValuePresent } |
Public Member Functions | |
template<typename MemberStorage> | |
WriteBarrier::Type | GetWriteBarrierType (const void *slot, MemberStorage value, WriteBarrier::Params ¶ms) |
template<typename HeapHandleCallback> | |
WriteBarrier::Type | GetWriteBarrierType (const void *slot, WriteBarrier::Params ¶ms, HeapHandleCallback callback) |
Static Public Member Functions | |
static V8_INLINE Type | GetWriteBarrierType (const void *slot, const void *value, Params ¶ms) |
template<typename MemberStorage> | |
static V8_INLINE Type | GetWriteBarrierType (const void *slot, MemberStorage, Params ¶ms) |
template<typename HeapHandleCallback> | |
static V8_INLINE Type | GetWriteBarrierType (const void *slot, Params ¶ms, HeapHandleCallback callback) |
static V8_INLINE Type | GetWriteBarrierType (const void *value, Params ¶ms) |
static V8_INLINE void | DijkstraMarkingBarrier (const Params ¶ms, const void *object) |
static V8_INLINE void | DijkstraMarkingBarrierRange (const Params ¶ms, const void *first_element, size_t element_size, size_t number_of_elements, TraceCallback trace_callback) |
static V8_INLINE void | SteeleMarkingBarrier (const Params ¶ms, const void *object) |
template<GenerationalBarrierType> | |
static V8_INLINE void | GenerationalBarrier (const Params ¶ms, const void *slot) |
static void | CheckParams (Type expected_type, const Params ¶ms) |
static bool | IsEnabled () |
Definition at line 39 of file write-barrier.h.
|
strong |
Enumerator | |
---|---|
kPreciseSlot | |
kPreciseUncompressedSlot | |
kImpreciseSlot |
Definition at line 47 of file write-barrier.h.
|
strong |
Enumerator | |
---|---|
kNone | |
kMarking | |
kGenerational |
Definition at line 41 of file write-barrier.h.
|
strong |
Enumerator | |
---|---|
kValuePresent | |
kNoValuePresent |
Definition at line 64 of file write-barrier.h.
Definition at line 112 of file write-barrier.h.
Referenced by DijkstraMarkingBarrier(), DijkstraMarkingBarrierRange(), and SteeleMarkingBarrier().
|
static |
Definition at line 419 of file write-barrier.h.
References CheckParams(), and kMarking.
Referenced by HeapConsistency::DijkstraWriteBarrier(), and GetWriteBarrierType().
|
static |
Definition at line 431 of file write-barrier.h.
References CheckParams(), WriteBarrier::Params::heap, and kMarking.
Referenced by HeapConsistency::DijkstraWriteBarrierRange(), and GetWriteBarrierType().
|
inlinestatic |
Definition at line 105 of file write-barrier.h.
References V8_INLINE.
Referenced by HeapConsistency::GenerationalBarrier(), HeapConsistency::GenerationalBarrierForSourceObject(), HeapConsistency::GenerationalBarrierForUncompressedSlot(), and GetWriteBarrierType().
|
static |
Definition at line 388 of file write-barrier.h.
References WriteBarrierTypeForNonCagedHeapPolicy::Get().
Referenced by DijkstraWriteBarrierPolicy::AssigningBarrier(), DijkstraWriteBarrierPolicy::AssigningBarrier(), GetWriteBarrierType(), HeapConsistency::GetWriteBarrierType(), HeapConsistency::GetWriteBarrierType(), HeapConsistency::GetWriteBarrierType(), and HeapConsistency::GetWriteBarrierType().
WriteBarrier::Type GetWriteBarrierType | ( | const void * | slot, |
MemberStorage | value, | ||
WriteBarrier::Params & | params ) |
Definition at line 396 of file write-barrier.h.
References WriteBarrierTypeForNonCagedHeapPolicy::Get().
|
static |
References V8_INLINE.
WriteBarrier::Type GetWriteBarrierType | ( | const void * | slot, |
WriteBarrier::Params & | params, | ||
HeapHandleCallback | callback ) |
Definition at line 404 of file write-barrier.h.
References WriteBarrierTypeForNonCagedHeapPolicy::Get().
|
static |
Definition at line 412 of file write-barrier.h.
References WriteBarrierTypeForNonCagedHeapPolicy::Get().
|
inlinestatic |
Definition at line 118 of file write-barrier.h.
Referenced by DijkstraWriteBarrierPolicy::AssigningBarrier(), DijkstraWriteBarrierPolicy::AssigningBarrier(), WriteBarrierTypeForNonCagedHeapPolicy::ValueModeDispatch< WriteBarrier::ValueMode::kNoValuePresent >::Get(), and WriteBarrierTypeForNonCagedHeapPolicy::ValueModeDispatch< WriteBarrier::ValueMode::kValuePresent >::Get().
|
static |
Definition at line 442 of file write-barrier.h.
References CheckParams(), and kMarking.
Referenced by GetWriteBarrierType(), and HeapConsistency::SteeleWriteBarrier().