5#ifndef INCLUDE_CPPGC_HEAP_CONSISTENCY_H_
6#define INCLUDE_CPPGC_HEAP_CONSISTENCY_H_
64 template <
typename T,
typename WeaknessTag,
typename WriteBarrierPolicy,
65 typename CheckingPolicy,
typename StorageType>
68 CheckingPolicy, StorageType>& value,
71 value.GetRawSlot(), value.GetRawStorage(), params);
88 template <
typename HeapHandleCallback>
91 HeapHandleCallback callback) {
121 const void*
object) {
141 size_t element_size,
size_t number_of_elements,
144 params, first_element, element_size, number_of_elements,
158 const void*
object) {
190 internal::WriteBarrier::GenerationalBarrierType::
191 kPreciseUncompressedSlot>(params, uncompressed_slot);
205 params, inner_pointer);
static V8_INLINE void GenerationalBarrier(const Params ¶ms, const void *slot)
static V8_INLINE void DijkstraMarkingBarrier(const Params ¶ms, const void *object)
static V8_INLINE Type GetWriteBarrierType(const void *slot, const void *value, Params ¶ms)
static V8_INLINE void SteeleMarkingBarrier(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 void Enter(HeapHandle &heap_handle)
DisallowGarbageCollectionScope(const DisallowGarbageCollectionScope &)=delete
static bool IsGarbageCollectionAllowed(HeapHandle &heap_handle)
~DisallowGarbageCollectionScope()
DisallowGarbageCollectionScope(HeapHandle &heap_handle)
DisallowGarbageCollectionScope & operator=(const DisallowGarbageCollectionScope &)=delete
static void Leave(HeapHandle &heap_handle)
internal::WriteBarrier::Type WriteBarrierType
static V8_INLINE WriteBarrierType GetWriteBarrierType(const void *slot, const void *value, WriteBarrierParams ¶ms)
static V8_INLINE void GenerationalBarrier(const WriteBarrierParams ¶ms, const void *slot)
static V8_INLINE void SteeleWriteBarrier(const WriteBarrierParams ¶ms, const void *object)
static V8_INLINE WriteBarrierType GetWriteBarrierType(const void *value, WriteBarrierParams ¶ms)
static V8_INLINE void GenerationalBarrierForUncompressedSlot(const WriteBarrierParams ¶ms, const void *uncompressed_slot)
static V8_INLINE WriteBarrierType GetWriteBarrierType(const internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > &value, WriteBarrierParams ¶ms)
static V8_INLINE void DijkstraWriteBarrier(const WriteBarrierParams ¶ms, const void *object)
static V8_INLINE WriteBarrierType GetWriteBarrierType(const void *slot, WriteBarrierParams ¶ms, HeapHandleCallback callback)
static V8_INLINE void GenerationalBarrierForSourceObject(const WriteBarrierParams ¶ms, const void *inner_pointer)
static V8_INLINE void DijkstraWriteBarrierRange(const WriteBarrierParams ¶ms, const void *first_element, size_t element_size, size_t number_of_elements, TraceCallback trace_callback)
NoGarbageCollectionScope & operator=(const NoGarbageCollectionScope &)=delete
static void Enter(HeapHandle &heap_handle)
~NoGarbageCollectionScope()
NoGarbageCollectionScope(const NoGarbageCollectionScope &)=delete
NoGarbageCollectionScope(HeapHandle &heap_handle)
static void Leave(HeapHandle &heap_handle)
#define CPPGC_STACK_ALLOCATED()
void(*)(Visitor *visitor, const void *object) TraceCallback