Loading...
Searching...
No Matches
Classes | Public Types | Static Public Member Functions | List of all members
cppgc::internal::WriteBarrier Class Referencefinal

#include <write-barrier.h>

Classes

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 }
 

Static Public Member Functions

static Type GetWriteBarrierType (const void *slot, const void *value, Params &params)
 
template<typename MemberStorage >
static Type GetWriteBarrierType (const void *slot, MemberStorage, Params &params)
 
template<typename HeapHandleCallback >
static Type GetWriteBarrierType (const void *slot, Params &params, HeapHandleCallback callback)
 
static Type GetWriteBarrierType (const void *value, Params &params)
 
static void DijkstraMarkingBarrier (const Params &params, const void *object)
 
static void DijkstraMarkingBarrierRange (const Params &params, const void *first_element, size_t element_size, size_t number_of_elements, TraceCallback trace_callback)
 
static void SteeleMarkingBarrier (const Params &params, const void *object)
 
template<GenerationalBarrierType >
static void GenerationalBarrier (const Params &params, const void *slot)
 
static void CheckParams (Type expected_type, const Params &params)
 
static bool IsEnabled ()
 

Member Enumeration Documentation

◆ GenerationalBarrierType

Enumerator
kPreciseSlot 
kPreciseUncompressedSlot 
kImpreciseSlot 

◆ Type

enum class cppgc::internal::WriteBarrier::Type : uint8_t
strong
Enumerator
kNone 
kMarking 
kGenerational 

◆ ValueMode

Enumerator
kValuePresent 
kNoValuePresent 

Member Function Documentation

◆ CheckParams()

static void cppgc::internal::WriteBarrier::CheckParams ( Type  expected_type,
const Params params 
)
inlinestatic
Here is the caller graph for this function:

◆ DijkstraMarkingBarrier()

void cppgc::internal::WriteBarrier::DijkstraMarkingBarrier ( const Params params,
const void *  object 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ DijkstraMarkingBarrierRange()

void cppgc::internal::WriteBarrier::DijkstraMarkingBarrierRange ( const Params params,
const void *  first_element,
size_t  element_size,
size_t  number_of_elements,
TraceCallback  trace_callback 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GenerationalBarrier()

static void cppgc::internal::WriteBarrier::GenerationalBarrier ( const Params params,
const void *  slot 
)
inlinestatic
Here is the caller graph for this function:

◆ GetWriteBarrierType() [1/4]

WriteBarrier::Type cppgc::internal::WriteBarrier::GetWriteBarrierType ( const void *  slot,
const void *  value,
WriteBarrier::Params params 
)
inlinestatic
Here is the caller graph for this function:

◆ GetWriteBarrierType() [2/4]

template<typename MemberStorage >
WriteBarrier::Type cppgc::internal::WriteBarrier::GetWriteBarrierType ( const void *  slot,
MemberStorage  value,
WriteBarrier::Params params 
)
inlinestatic

◆ GetWriteBarrierType() [3/4]

template<typename HeapHandleCallback >
WriteBarrier::Type cppgc::internal::WriteBarrier::GetWriteBarrierType ( const void *  slot,
WriteBarrier::Params params,
HeapHandleCallback  callback 
)
inlinestatic

◆ GetWriteBarrierType() [4/4]

WriteBarrier::Type cppgc::internal::WriteBarrier::GetWriteBarrierType ( const void *  value,
WriteBarrier::Params params 
)
inlinestatic

◆ IsEnabled()

static bool cppgc::internal::WriteBarrier::IsEnabled ( )
inlinestatic
Here is the caller graph for this function:

◆ SteeleMarkingBarrier()

void cppgc::internal::WriteBarrier::SteeleMarkingBarrier ( const Params params,
const void *  object 
)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

The documentation for this class was generated from the following file: