|
v8
9.0.257(node16.0.0)
V8 is Google's open source JavaScript engine
|
Go to the documentation of this file.
5 #ifndef INCLUDE_CPPGC_INTERNAL_POINTER_POLICIES_H_
6 #define INCLUDE_CPPGC_INTERNAL_POINTER_POLICIES_H_
11 #include "cppgc/internal/write-barrier.h"
12 #include "cppgc/source-location.h"
18 class PersistentRegion;
21 class StrongMemberTag;
23 class UntracedMemberTag;
31 WriteBarrier::
Params params;
77 : location_(location) {}
100 #if CPPGC_SUPPORTS_OBJECT_NAMES
107 using IsStrongPersistent = std::true_type;
112 using IsStrongPersistent = std::false_type;
117 using IsStrongPersistent = std::true_type;
122 using IsStrongPersistent = std::false_type;
127 template <
typename T,
typename WeaknessPolicy,
128 typename LocationPolicy = DefaultLocationPolicy,
131 template <
typename T,
typename WeaknessPolicy,
132 typename LocationPolicy = DefaultLocationPolicy,
133 typename CheckingPolicy = DefaultCheckingPolicy>
135 template <
typename T,
typename WeaknessTag,
typename WriteBarrierPolicy,
136 typename CheckingPolicy = DefaultCheckingPolicy>
constexpr SourceLocation Location() const
void CheckPointer(const void *ptr)
constexpr SourceLocation()=default
friend class internal::BasicPersistent
constexpr KeepLocationPolicy(const SourceLocation &location)
static V8_INLINE void GenerationalBarrier(const Params ¶ms, const void *slot)
static V8_EXPORT PersistentRegion & GetPersistentRegion(const void *object)
constexpr KeepLocationPolicy()=default
static void InitializingBarrier(const void *, const void *)
static V8_EXPORT PersistentRegion & GetPersistentRegion(const void *object)
static void AssigningBarrier(const void *, const void *)
constexpr IgnoreLocationPolicy()=default
static constexpr SourceLocation Current()
KeepLocationPolicy(const KeepLocationPolicy &)=delete
KeepLocationPolicy & operator=(const KeepLocationPolicy &)=delete
void CheckPointer(const void *raw)
static V8_EXPORT PersistentRegion & GetPersistentRegion(const void *object)
friend class internal::BasicCrossThreadPersistent
static V8_INLINE void DijkstraMarkingBarrier(const Params ¶ms, const void *object)
static V8_INLINE Type GetWriteBarrierType(const void *slot, const void *value, Params ¶ms)
KeepLocationPolicy(KeepLocationPolicy &&)=default
static V8_EXPORT PersistentRegion & GetPersistentRegion(const void *object)
constexpr const SourceLocation & Location() const
constexpr IgnoreLocationPolicy(const SourceLocation &)
KeepLocationPolicy & operator=(KeepLocationPolicy &&)=default
static void InitializingBarrier(const void *, const void *)
static void AssigningBarrier(const void *slot, const void *value)