v8
9.4.146 (node 16.13.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 | ValueMode { kValuePresent , kNoValuePresent } |
Public Member Functions | |
template<typename HeapHandleCallback > | |
WriteBarrier::Type | GetWriteBarrierType (const void *slot, WriteBarrier::Params ¶ms, HeapHandleCallback callback) |
template<typename HeapHandleCallback > | |
WriteBarrier::Type | GetWriteBarrierTypeForExternallyReferencedObject (const void *value, Params ¶ms, HeapHandleCallback callback) |
Static Public Member Functions | |
static V8_INLINE Type | GetWriteBarrierType (const void *slot, const void *value, Params ¶ms) |
template<typename HeapHandleCallback > | |
static V8_INLINE Type | GetWriteBarrierType (const void *slot, Params ¶ms, HeapHandleCallback callback) |
template<typename HeapHandleCallback > | |
static V8_INLINE Type | GetWriteBarrierTypeForExternallyReferencedObject (const void *value, Params ¶ms, HeapHandleCallback callback) |
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) |
static V8_INLINE void | GenerationalBarrier (const Params ¶ms, const void *slot) |
static void | CheckParams (Type expected_type, const Params ¶ms) |
static bool | IsAnyIncrementalOrConcurrentMarking () |
Definition at line 35 of file write-barrier.h.
|
strong |
Enumerator | |
---|---|
kNone | |
kMarking | |
kGenerational |
Definition at line 37 of file write-barrier.h.
|
strong |
Enumerator | |
---|---|
kValuePresent | |
kNoValuePresent |
Definition at line 58 of file write-barrier.h.
Definition at line 93 of file write-barrier.h.
Referenced by WriteBarrier::DijkstraMarkingBarrier(), JSHeapConsistency::DijkstraMarkingBarrier(), WriteBarrier::DijkstraMarkingBarrierRange(), and WriteBarrier::SteeleMarkingBarrier().
|
static |
Definition at line 355 of file write-barrier.h.
References WriteBarrier::CheckParams(), and WriteBarrier::kMarking.
Referenced by DijkstraWriteBarrierPolicy::AssigningBarrier(), JSHeapConsistency::DijkstraMarkingBarrier(), and HeapConsistency::DijkstraWriteBarrier().
|
static |
Definition at line 367 of file write-barrier.h.
References WriteBarrier::CheckParams(), WriteBarrier::Params::heap, and WriteBarrier::kMarking.
Referenced by HeapConsistency::DijkstraWriteBarrierRange().
Definition at line 86 of file write-barrier.h.
Referenced by DijkstraWriteBarrierPolicy::AssigningBarrier(), and HeapConsistency::GenerationalBarrier().
|
static |
Definition at line 330 of file write-barrier.h.
References WriteBarrierTypeForNonCagedHeapPolicy::Get(), and WriteBarrier::kValuePresent.
Referenced by DijkstraWriteBarrierPolicy::AssigningBarrier(), and HeapConsistency::GetWriteBarrierType().
|
static |
WriteBarrier::Type GetWriteBarrierType | ( | const void * | slot, |
WriteBarrier::Params & | params, | ||
HeapHandleCallback | callback | ||
) |
Definition at line 338 of file write-barrier.h.
References WriteBarrier::kNoValuePresent.
|
static |
WriteBarrier::Type GetWriteBarrierTypeForExternallyReferencedObject | ( | const void * | value, |
Params & | params, | ||
HeapHandleCallback | callback | ||
) |
Definition at line 348 of file write-barrier.h.
|
inlinestatic |
Definition at line 99 of file write-barrier.h.
References AtomicEntryFlag::MightBeEntered().
Referenced by WriteBarrierTypeForNonCagedHeapPolicy::ValueModeDispatch< WriteBarrier::ValueMode::kNoValuePresent >::Get(), and JSHeapConsistency::GetWriteBarrierType().
|
static |
Definition at line 378 of file write-barrier.h.
References WriteBarrier::CheckParams(), and WriteBarrier::kMarking.
Referenced by HeapConsistency::SteeleWriteBarrier().