v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
cppgc::internal Namespace Reference

Namespaces

namespace  api_constants
 
namespace  testing
 

Classes

class  AtomicEntryFlag
 
struct  BaseObjectSizeTrait
 
class  BasePage
 
class  BasePageHandle
 
class  BaseSpace
 
class  BasicCrossThreadPersistent
 
class  BasicMarkingState
 
class  BasicMember
 
class  BasicPersistent
 
class  CagedHeap
 
class  ClassNameAsHeapObjectNameScope
 
class  CompactionWorklists
 
class  Compactor
 
class  ConcurrentMarker
 
class  ConcurrentMarkerBase
 
class  ConcurrentMarkingState
 
class  ConcurrentMarkingVisitor
 
class  ConditionalStackAllocatedBase
 
class  ConditionalStackAllocatedBase< T >
 
class  ConservativeMarkingVisitor
 
class  ConservativeTracingVisitor
 
class  CrossThreadPersistentBase
 
class  CrossThreadPersistentRegion
 
struct  DijkstraWriteBarrierPolicy
 
class  DisabledCheckingPolicy
 
struct  EatParams
 
struct  EnsureGCInfoIndexTrait
 
class  ExplicitManagementImpl
 
class  FatalOutOfMemoryHandler
 
class  Filler
 
struct  FinalizerTrait
 
struct  FinalizerTraitImpl
 
struct  FinalizerTraitImpl< T, false >
 
struct  FinalizerTraitImpl< T, true >
 
class  FreeList
 
class  GarbageCollector
 
struct  GCConfig
 
struct  GCInfo
 
struct  GCInfoFolding
 
class  GCInfoTable
 
class  GCInvoker
 
class  GlobalGCInfoTable
 
struct  HasFinalizeGarbageCollectedObject
 
struct  HasFinalizeGarbageCollectedObject< T, std::void_t< decltype(std::declval< T >().FinalizeGarbageCollectedObject())> >
 
struct  HasGarbageCollectedMixinTypeMarker
 
struct  HasGarbageCollectedMixinTypeMarker< T, std::void_t< typename std::remove_const_t< T >::IsGarbageCollectedMixinTypeMarker > >
 
struct  HasGarbageCollectedTypeMarker
 
struct  HasGarbageCollectedTypeMarker< T, std::void_t< typename std::remove_const_t< T >::IsGarbageCollectedTypeMarker > >
 
class  Heap
 
class  HeapBase
 
class  HeapGrowing
 
class  HeapObjectHeader
 
struct  HeapObjectName
 
class  HeapRegistry
 
class  HeapStatisticsCollector
 
class  HeapVisitor
 
class  IgnoreLocationPolicy
 
struct  IsAllocatedOnCompactableSpace
 
struct  IsAllocatedOnCompactableSpaceImpl
 
struct  IsAllocatedOnCompactableSpaceImpl< void >
 
struct  IsComplete
 
struct  IsGarbageCollectedMixinType
 
struct  IsGarbageCollectedMixinType< T, false, true >
 
struct  IsGarbageCollectedOrMixinType
 
struct  IsGarbageCollectedType
 
struct  IsGarbageCollectedType< T, true >
 
struct  IsGarbageCollectedWithMixinType
 
struct  IsGarbageCollectedWithMixinType< T, true >
 
struct  IsMemberType
 
struct  IsMemberType< T, true >
 
struct  IsSubclassOfBasicMemberTemplate
 
struct  IsTraceable
 
struct  IsTraceable< T, std::void_t< decltype(std::declval< T >().Trace(std::declval< Visitor * >()))> >
 
struct  IsTraceMethodConst
 
struct  IsTraceMethodConst< T, std::void_t< decltype(std::declval< const T >().Trace(std::declval< Visitor * >()))> >
 
struct  IsUntracedMemberType
 
struct  IsUntracedMemberType< T, true >
 
struct  IsWeak
 
struct  IsWeak< BasicCrossThreadPersistent< T, internal::WeakCrossThreadPersistentPolicy, LocationPolicy, CheckingPolicy > >
 
struct  IsWeak< BasicMember< T, WeakMemberTag, WriteBarrierPolicy, CheckingPolicy, StorageType > >
 
struct  IsWeak< BasicPersistent< T, internal::WeakPersistentPolicy, LocationPolicy, CheckingPolicy > >
 
struct  IsWeakMemberType
 
struct  IsWeakMemberType< T, true >
 
class  KeepLocationPolicy
 
class  LargePage
 
class  LargePageSpace
 
class  LivenessBrokerFactory
 
class  MakeGarbageCollectedTraitInternal
 
class  Marker
 
class  MarkerBase
 
struct  MarkingConfig
 
class  MarkingStateBase
 
class  MarkingVerifier
 
class  MarkingVerifierBase
 
class  MarkingVisitorBase
 
class  MarkingWorklists
 
class  MemberBase
 
class  MemberDebugHelper
 
class  MemoryRegion
 
class  MetricRecorder
 
class  MoveListener
 
class  MutatorMarkingState
 
class  MutatorMarkingVisitor
 
class  NameTrait
 
class  NameTraitBase
 
class  NormalPage
 
class  NormalPageMemoryPool
 
class  NormalPageSpace
 
struct  NoWriteBarrierPolicy
 
class  ObjectAllocator
 
class  ObjectStartBitmap
 
class  ObjectView
 
class  PageBackend
 
class  PageMemoryRegion
 
class  PageMemoryRegionTree
 
class  PersistentBase
 
class  PersistentNode
 
class  PersistentRegion
 
class  PersistentRegionBase
 
class  PersistentRegionLock
 
class  PlatformAwareObjectStartBitmap
 
struct  PreFinalizer
 
class  PreFinalizerHandler
 
class  PrefinalizerRegistration
 
class  ProcessGlobalLock
 
class  ProcessHeapStatisticsUpdater
 
class  RawHeap
 
class  RawPointer
 
class  RootMarkingVisitor
 
class  RootVisitor
 
class  RootVisitorBase
 
class  SameThreadEnabledCheckingPolicy
 
class  SameThreadEnabledCheckingPolicyBase
 
struct  SentinelPointer
 
class  SequentialUnmarker
 
struct  SingleThreadedHandle
 
class  StatsCollector
 
struct  StrongCrossThreadPersistentPolicy
 
struct  StrongPersistentPolicy
 
class  Sweeper
 
struct  SweepingConfig
 
struct  TraceTraitBase
 
struct  TraceTraitFromInnerAddressImpl
 
struct  TraceTraitImpl
 
struct  TraceTraitImpl< T, false >
 
struct  TraceTraitImpl< T, true >
 
class  VerificationState
 
class  VirtualMemory
 
class  VisitorBase
 
class  VisitorFactory
 
class  WeakCallbackJobTask
 
struct  WeakCrossThreadPersistentPolicy
 
struct  WeakPersistentPolicy
 
class  WriteBarrier
 
class  WriteBarrierTypeForNonCagedHeapPolicy
 

Concepts

concept  RequiresStackAllocated
 

Typedefs

using Address = uint8_t*
 
using ConstAddress = const uint8_t*
 
using StackState = cppgc::Heap::StackState
 
using PointerRepresentation = RawPointer
 
using AlignVal = std::align_val_t
 
using FinalizationCallback = void (*)(void*)
 
using GCInfoIndex = uint16_t
 
using DefaultMemberStorage = RawPointer
 
using NameCallback
 
using DefaultMemberCheckingPolicy = DisabledCheckingPolicy
 
using DefaultPersistentCheckingPolicy = DisabledCheckingPolicy
 
using DefaultCrossThreadPersistentCheckingPolicy = DisabledCheckingPolicy
 
using DefaultLocationPolicy = IgnoreLocationPolicy
 
using TraceRootCallback = void (*)(RootVisitor&, const void* object)
 

Enumerations

enum class  AccessMode : uint8_t { kNonAtomic , kAtomic }
 
enum class  StickyBits : uint8_t { kDisabled , kEnabled }
 
enum class  CollectionType : uint8_t { kMinor , kMajor }
 
enum class  FreeMemoryHandling : uint8_t { kDoNotDiscard , kDiscardWherePossible }
 
enum class  WriteBarrierSlotType { kCompressed , kUncompressed }
 
enum class  HeapObjectNameForUnnamedObject : uint8_t { kUseClassNameIfSupported , kUseHiddenName }
 

Functions

template<AccessMode mode = AccessMode::kNonAtomic>
const HeapObjectHeaderObjectHeaderFromInnerAddressImpl (const BasePage *page, const void *address)
 
void DCheckImpl (const char *message, const SourceLocation &loc)
 
void FatalImpl (const char *message, const SourceLocation &loc)
 
template<size_t kDeadlineCheckInterval, typename Predicate , typename CreateStatsScopeCallback , typename WorklistLocal , typename ProcessWorklistItemCallback >
bool DrainWorklistWithPredicate (Predicate ShouldYield, CreateStatsScopeCallback CreateStatsScope, WorklistLocal &worklist_local, ProcessWorklistItemCallback ProcessWorklistItem)
 
template<AccessMode mode>
void DynamicallyTraceMarkedObject (Visitor &visitor, const HeapObjectHeader &header)
 
V8_DEBUGGING_EXPORT C void * _cppgc_internal_Uncompress_Member (void *m)
 
void NoSanitizeMemset (void *address, char c, size_t bytes)
 
V8_INLINE void ZapMemory (void *address, size_t size)
 
V8_INLINE void CheckMemoryIsZapped (const void *address, size_t size)
 
V8_INLINE void CheckMemoryIsZero (const void *address, size_t size)
 
V8_INLINE void SetMemoryAccessible (void *address, size_t size)
 
V8_INLINE void CheckMemoryIsInaccessible (const void *address, size_t size)
 
constexpr bool CheckMemoryIsInaccessibleIsNoop ()
 
V8_INLINE void SetMemoryInaccessible (void *address, size_t size)
 
void Fatal (const std::string &reason, const SourceLocation &loc)
 
FatalOutOfMemoryHandlerGetGlobalOOMHandler ()
 
PageAllocatorGetGlobalPageAllocator ()
 
 DISPATCH (true, true, EnsureGCInfoIndex(registered_index, TraceTrait< T >::Trace, FinalizerTrait< T >::kCallback, NameTrait< T >::GetName)) DISPATCH(true
 
 EnsureGCInfoIndex (registered_index, TraceTrait< T >::Trace, FinalizerTrait< T >::kCallback)) DISPATCH(false
 
 EnsureGCInfoIndex (registered_index, TraceTrait< T >::Trace, NameTrait< T >::GetName)) DISPATCH(false
 
 EnsureGCInfoIndex (registered_index, TraceTrait< T >::Trace)) template< typename T > struct GCInfoTrait final
 
template<WriteBarrier::Type type>
V8_INLINE WriteBarrier::Type SetAndReturnType (WriteBarrier::Params &params)
 
template<typename T1 , typename WeaknessTag1 , typename WriteBarrierPolicy1 , typename CheckingPolicy1 , typename T2 , typename WeaknessTag2 , typename WriteBarrierPolicy2 , typename CheckingPolicy2 , typename StorageType >
V8_INLINE bool operator== (const BasicMember< T1, WeaknessTag1, WriteBarrierPolicy1, CheckingPolicy1, StorageType > &member1, const BasicMember< T2, WeaknessTag2, WriteBarrierPolicy2, CheckingPolicy2, StorageType > &member2)
 
template<typename T1 , typename WeaknessTag1 , typename WriteBarrierPolicy1 , typename CheckingPolicy1 , typename T2 , typename WeaknessTag2 , typename WriteBarrierPolicy2 , typename CheckingPolicy2 , typename StorageType >
V8_INLINE bool operator!= (const BasicMember< T1, WeaknessTag1, WriteBarrierPolicy1, CheckingPolicy1, StorageType > &member1, const BasicMember< T2, WeaknessTag2, WriteBarrierPolicy2, CheckingPolicy2, StorageType > &member2)
 
template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType , typename U >
V8_INLINE bool operator== (const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > &member, U *raw)
 
template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType , typename U >
V8_INLINE bool operator!= (const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > &member, U *raw)
 
template<typename T , typename U , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType >
V8_INLINE bool operator== (T *raw, const BasicMember< U, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > &member)
 
template<typename T , typename U , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType >
V8_INLINE bool operator!= (T *raw, const BasicMember< U, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > &member)
 
template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType >
V8_INLINE bool operator== (const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > &member, SentinelPointer)
 
template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType >
V8_INLINE bool operator!= (const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > &member, SentinelPointer s)
 
template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType >
V8_INLINE bool operator== (SentinelPointer s, const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > &member)
 
template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType >
V8_INLINE bool operator!= (SentinelPointer s, const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > &member)
 
template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType >
V8_INLINE bool operator== (const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > &member, std::nullptr_t)
 
template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType >
V8_INLINE bool operator!= (const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > &member, std::nullptr_t n)
 
template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType >
V8_INLINE bool operator== (std::nullptr_t n, const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > &member)
 
template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType >
V8_INLINE bool operator!= (std::nullptr_t n, const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > &member)
 
template<typename T1 , typename WeaknessTag1 , typename WriteBarrierPolicy1 , typename CheckingPolicy1 , typename T2 , typename WeaknessTag2 , typename WriteBarrierPolicy2 , typename CheckingPolicy2 , typename StorageType >
V8_INLINE bool operator< (const BasicMember< T1, WeaknessTag1, WriteBarrierPolicy1, CheckingPolicy1, StorageType > &member1, const BasicMember< T2, WeaknessTag2, WriteBarrierPolicy2, CheckingPolicy2, StorageType > &member2)
 
template<typename T1 , typename WeaknessTag1 , typename WriteBarrierPolicy1 , typename CheckingPolicy1 , typename T2 , typename WeaknessTag2 , typename WriteBarrierPolicy2 , typename CheckingPolicy2 , typename StorageType >
V8_INLINE bool operator<= (const BasicMember< T1, WeaknessTag1, WriteBarrierPolicy1, CheckingPolicy1, StorageType > &member1, const BasicMember< T2, WeaknessTag2, WriteBarrierPolicy2, CheckingPolicy2, StorageType > &member2)
 
template<typename T1 , typename WeaknessTag1 , typename WriteBarrierPolicy1 , typename CheckingPolicy1 , typename T2 , typename WeaknessTag2 , typename WriteBarrierPolicy2 , typename CheckingPolicy2 , typename StorageType >
V8_INLINE bool operator> (const BasicMember< T1, WeaknessTag1, WriteBarrierPolicy1, CheckingPolicy1, StorageType > &member1, const BasicMember< T2, WeaknessTag2, WriteBarrierPolicy2, CheckingPolicy2, StorageType > &member2)
 
template<typename T1 , typename WeaknessTag1 , typename WriteBarrierPolicy1 , typename CheckingPolicy1 , typename T2 , typename WeaknessTag2 , typename WriteBarrierPolicy2 , typename CheckingPolicy2 , typename StorageType >
V8_INLINE bool operator>= (const BasicMember< T1, WeaknessTag1, WriteBarrierPolicy1, CheckingPolicy1, StorageType > &member1, const BasicMember< T2, WeaknessTag2, WriteBarrierPolicy2, CheckingPolicy2, StorageType > &member2)
 
template<typename T1 , typename WeaknessPolicy1 , typename LocationPolicy1 , typename CheckingPolicy1 , typename T2 , typename WeaknessPolicy2 , typename LocationPolicy2 , typename CheckingPolicy2 >
bool operator== (const BasicPersistent< T1, WeaknessPolicy1, LocationPolicy1, CheckingPolicy1 > &p1, const BasicPersistent< T2, WeaknessPolicy2, LocationPolicy2, CheckingPolicy2 > &p2)
 
template<typename T1 , typename WeaknessPolicy1 , typename LocationPolicy1 , typename CheckingPolicy1 , typename T2 , typename WeaknessPolicy2 , typename LocationPolicy2 , typename CheckingPolicy2 >
bool operator!= (const BasicPersistent< T1, WeaknessPolicy1, LocationPolicy1, CheckingPolicy1 > &p1, const BasicPersistent< T2, WeaknessPolicy2, LocationPolicy2, CheckingPolicy2 > &p2)
 
template<typename T1 , typename PersistentWeaknessPolicy , typename PersistentLocationPolicy , typename PersistentCheckingPolicy , typename T2 , typename MemberWriteBarrierPolicy , typename MemberWeaknessTag , typename MemberCheckingPolicy , typename MemberStorageType >
bool operator== (const BasicPersistent< T1, PersistentWeaknessPolicy, PersistentLocationPolicy, PersistentCheckingPolicy > &p, const BasicMember< T2, MemberWeaknessTag, MemberWriteBarrierPolicy, MemberCheckingPolicy, MemberStorageType > &m)
 
template<typename T1 , typename PersistentWeaknessPolicy , typename PersistentLocationPolicy , typename PersistentCheckingPolicy , typename T2 , typename MemberWriteBarrierPolicy , typename MemberWeaknessTag , typename MemberCheckingPolicy , typename MemberStorageType >
bool operator!= (const BasicPersistent< T1, PersistentWeaknessPolicy, PersistentLocationPolicy, PersistentCheckingPolicy > &p, const BasicMember< T2, MemberWeaknessTag, MemberWriteBarrierPolicy, MemberCheckingPolicy, MemberStorageType > &m)
 
template<typename T1 , typename MemberWriteBarrierPolicy , typename MemberWeaknessTag , typename MemberCheckingPolicy , typename MemberStorageType , typename T2 , typename PersistentWeaknessPolicy , typename PersistentLocationPolicy , typename PersistentCheckingPolicy >
bool operator== (const BasicMember< T2, MemberWeaknessTag, MemberWriteBarrierPolicy, MemberCheckingPolicy, MemberStorageType > &m, const BasicPersistent< T1, PersistentWeaknessPolicy, PersistentLocationPolicy, PersistentCheckingPolicy > &p)
 
template<typename T1 , typename MemberWriteBarrierPolicy , typename MemberWeaknessTag , typename MemberCheckingPolicy , typename MemberStorageType , typename T2 , typename PersistentWeaknessPolicy , typename PersistentLocationPolicy , typename PersistentCheckingPolicy >
bool operator!= (const BasicMember< T2, MemberWeaknessTag, MemberWriteBarrierPolicy, MemberCheckingPolicy, MemberStorageType > &m, const BasicPersistent< T1, PersistentWeaknessPolicy, PersistentLocationPolicy, PersistentCheckingPolicy > &p)
 

Variables

constexpr size_t kKB = 1024
 
constexpr size_t kMB = kKB * 1024
 
constexpr size_t kGB = kMB * 1024
 
constexpr size_t kAllocationGranularity = 4
 
constexpr size_t kAllocationMask = kAllocationGranularity - 1
 
constexpr size_t kPageSizeLog2 = 17
 
constexpr size_t kPageSize = 1 << kPageSizeLog2
 
constexpr size_t kPageOffsetMask = kPageSize - 1
 
constexpr size_t kPageBaseMask = ~kPageOffsetMask
 
constexpr size_t kLargeObjectSizeThreshold = kPageSize / 2
 
constexpr GCInfoIndex kFreeListGCInfoIndex = 0
 
constexpr size_t kFreeListEntrySize = 2 * sizeof(uintptr_t)
 
constexpr size_t kSlotSize = sizeof(uintptr_t)
 
static constexpr uint8_t kZappedValue = 0xdc
 
 false
 
 true
 
static constexpr size_t kSizeOfMember = sizeof(Member<Dummy>)
 
static constexpr size_t kSizeOfUncompressedMember
 
template<typename T >
constexpr bool IsTraceableV = IsTraceable<T>::value
 
template<typename T , typename U >
constexpr bool IsDecayedSameV
 
template<typename B , typename D >
constexpr bool IsStrictlyBaseOfV
 
template<typename T >
constexpr bool IsAnyMemberTypeV = false
 

Detailed Description

Implementation details of cppgc. Those details are considered internal and may change at any point in time without notice. Users should never rely on the contents of this namespace.

Typedef Documentation

◆ Address

using cppgc::internal::Address = uint8_t*

Definition at line 17 of file globals.h.

◆ AlignVal

using cppgc::internal::AlignVal = std::align_val_t

Definition at line 47 of file allocation.h.

◆ ConstAddress

using cppgc::internal::ConstAddress = const uint8_t*

Definition at line 18 of file globals.h.

◆ DefaultCrossThreadPersistentCheckingPolicy

◆ DefaultLocationPolicy

◆ DefaultMemberCheckingPolicy

◆ DefaultMemberStorage

◆ DefaultPersistentCheckingPolicy

◆ FinalizationCallback

using cppgc::internal::FinalizationCallback = void (*)(void*)

Definition at line 15 of file finalizer-trait.h.

◆ GCInfoIndex

using cppgc::internal::GCInfoIndex = uint16_t

Definition at line 21 of file gc-info.h.

◆ NameCallback

Initial value:
HeapObjectName (*)(const void*,

Definition at line 133 of file name-trait.h.

◆ PointerRepresentation

Definition at line 36 of file visitor.cc.

◆ StackState

◆ TraceRootCallback

using cppgc::internal::TraceRootCallback = void (*)(RootVisitor&, const void* object)

Definition at line 21 of file trace-trait.h.

Enumeration Type Documentation

◆ AccessMode

enum class cppgc::internal::AccessMode : uint8_t
strong
Enumerator
kNonAtomic 
kAtomic 

Definition at line 25 of file globals.h.

◆ CollectionType

enum class cppgc::internal::CollectionType : uint8_t
strong
Enumerator
kMinor 
kMajor 

Definition at line 15 of file heap-config.h.

◆ FreeMemoryHandling

enum class cppgc::internal::FreeMemoryHandling : uint8_t
strong
Enumerator
kDoNotDiscard 
kDiscardWherePossible 

Definition at line 27 of file heap-config.h.

◆ HeapObjectNameForUnnamedObject

Enumerator
kUseClassNameIfSupported 
kUseHiddenName 

Definition at line 62 of file name-trait.h.

◆ StickyBits

enum class cppgc::internal::StickyBits : uint8_t
strong
Enumerator
kDisabled 
kEnabled 

Definition at line 67 of file heap-base.h.

◆ WriteBarrierSlotType

Enumerator
kCompressed 
kUncompressed 

Definition at line 21 of file member-storage.h.

Function Documentation

◆ _cppgc_internal_Uncompress_Member()

V8_DEBUGGING_EXPORT C void * cppgc::internal::_cppgc_internal_Uncompress_Member ( void * m)
extern

Definition at line 36 of file member-storage.cc.

Here is the call graph for this function:

◆ CheckMemoryIsInaccessible()

V8_INLINE void cppgc::internal::CheckMemoryIsInaccessible ( const void * address,
size_t size )

Definition at line 73 of file memory.h.

Here is the caller graph for this function:

◆ CheckMemoryIsInaccessibleIsNoop()

bool cppgc::internal::CheckMemoryIsInaccessibleIsNoop ( )
constexpr

Definition at line 74 of file memory.h.

Here is the caller graph for this function:

◆ CheckMemoryIsZapped()

V8_INLINE void cppgc::internal::CheckMemoryIsZapped ( const void * address,
size_t size )

Definition at line 31 of file memory.h.

◆ CheckMemoryIsZero()

V8_INLINE void cppgc::internal::CheckMemoryIsZero ( const void * address,
size_t size )

Definition at line 37 of file memory.h.

Here is the caller graph for this function:

◆ DCheckImpl()

void V8_EXPORT cppgc::internal::DCheckImpl ( const char * message,
const SourceLocation & loc )

Definition at line 13 of file logging.cc.

Here is the call graph for this function:

◆ DISPATCH()

cppgc::internal::DISPATCH ( true ,
true ,
EnsureGCInfoIndex(registered_index, TraceTrait< T >::Trace, FinalizerTrait< T >::kCallback, NameTrait< T >::GetName)  )

◆ DrainWorklistWithPredicate()

template<size_t kDeadlineCheckInterval, typename Predicate , typename CreateStatsScopeCallback , typename WorklistLocal , typename ProcessWorklistItemCallback >
bool cppgc::internal::DrainWorklistWithPredicate ( Predicate ShouldYield,
CreateStatsScopeCallback CreateStatsScope,
WorklistLocal & worklist_local,
ProcessWorklistItemCallback ProcessWorklistItem )

Definition at line 494 of file marking-state.h.

◆ DynamicallyTraceMarkedObject()

template<AccessMode mode>
void cppgc::internal::DynamicallyTraceMarkedObject ( Visitor & visitor,
const HeapObjectHeader & header )

Definition at line 520 of file marking-state.h.

Here is the call graph for this function:

◆ EnsureGCInfoIndex() [1/3]

cppgc::internal::EnsureGCInfoIndex ( registered_index ,
TraceTrait< T >::Trace  )
final

Definition at line 75 of file gc-info.h.

◆ EnsureGCInfoIndex() [2/3]

cppgc::internal::EnsureGCInfoIndex ( registered_index ,
TraceTrait< T >::Trace ,
FinalizerTrait< T >::kCallback  )

◆ EnsureGCInfoIndex() [3/3]

cppgc::internal::EnsureGCInfoIndex ( registered_index ,
TraceTrait< T >::Trace ,
NameTrait< T >::GetName  )

◆ Fatal()

V8_EXPORT void cppgc::internal::Fatal ( const std::string & reason,
const SourceLocation & loc )

Definition at line 47 of file platform.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FatalImpl()

void V8_EXPORT cppgc::internal::FatalImpl ( const char * message,
const SourceLocation & loc )

Definition at line 17 of file logging.cc.

Here is the call graph for this function:

◆ GetGlobalOOMHandler()

FatalOutOfMemoryHandler & cppgc::internal::GetGlobalOOMHandler ( )

Definition at line 73 of file platform.cc.

Here is the caller graph for this function:

◆ GetGlobalPageAllocator()

PageAllocator & cppgc::internal::GetGlobalPageAllocator ( )

Definition at line 78 of file platform.cc.

◆ NoSanitizeMemset()

V8_NOINLINE DISABLE_ASAN void cppgc::internal::NoSanitizeMemset ( void * address,
char c,
size_t bytes )

Definition at line 14 of file memory.cc.

◆ ObjectHeaderFromInnerAddressImpl()

template<AccessMode mode = AccessMode::kNonAtomic>
const HeapObjectHeader * cppgc::internal::ObjectHeaderFromInnerAddressImpl ( const BasePage * page,
const void * address )

Definition at line 324 of file heap-page.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator!=() [1/10]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType >
V8_INLINE bool cppgc::internal::operator!= ( const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > & member,
SentinelPointer s )

Definition at line 432 of file member.h.

◆ operator!=() [2/10]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType >
V8_INLINE bool cppgc::internal::operator!= ( const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > & member,
std::nullptr_t n )

Definition at line 467 of file member.h.

◆ operator!=() [3/10]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType , typename U >
V8_INLINE bool cppgc::internal::operator!= ( const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > & member,
U * raw )

Definition at line 395 of file member.h.

◆ operator!=() [4/10]

template<typename T1 , typename WeaknessTag1 , typename WriteBarrierPolicy1 , typename CheckingPolicy1 , typename T2 , typename WeaknessTag2 , typename WriteBarrierPolicy2 , typename CheckingPolicy2 , typename StorageType >
V8_INLINE bool cppgc::internal::operator!= ( const BasicMember< T1, WeaknessTag1, WriteBarrierPolicy1, CheckingPolicy1, StorageType > & member1,
const BasicMember< T2, WeaknessTag2, WriteBarrierPolicy2, CheckingPolicy2, StorageType > & member2 )

Definition at line 363 of file member.h.

◆ operator!=() [5/10]

template<typename T1 , typename MemberWriteBarrierPolicy , typename MemberWeaknessTag , typename MemberCheckingPolicy , typename MemberStorageType , typename T2 , typename PersistentWeaknessPolicy , typename PersistentLocationPolicy , typename PersistentCheckingPolicy >
bool cppgc::internal::operator!= ( const BasicMember< T2, MemberWeaknessTag, MemberWriteBarrierPolicy, MemberCheckingPolicy, MemberStorageType > & m,
const BasicPersistent< T1, PersistentWeaknessPolicy, PersistentLocationPolicy, PersistentCheckingPolicy > & p )

Definition at line 340 of file persistent.h.

◆ operator!=() [6/10]

template<typename T1 , typename PersistentWeaknessPolicy , typename PersistentLocationPolicy , typename PersistentCheckingPolicy , typename T2 , typename MemberWriteBarrierPolicy , typename MemberWeaknessTag , typename MemberCheckingPolicy , typename MemberStorageType >
bool cppgc::internal::operator!= ( const BasicPersistent< T1, PersistentWeaknessPolicy, PersistentLocationPolicy, PersistentCheckingPolicy > & p,
const BasicMember< T2, MemberWeaknessTag, MemberWriteBarrierPolicy, MemberCheckingPolicy, MemberStorageType > & m )

Definition at line 312 of file persistent.h.

◆ operator!=() [7/10]

template<typename T1 , typename WeaknessPolicy1 , typename LocationPolicy1 , typename CheckingPolicy1 , typename T2 , typename WeaknessPolicy2 , typename LocationPolicy2 , typename CheckingPolicy2 >
bool cppgc::internal::operator!= ( const BasicPersistent< T1, WeaknessPolicy1, LocationPolicy1, CheckingPolicy1 > & p1,
const BasicPersistent< T2, WeaknessPolicy2, LocationPolicy2, CheckingPolicy2 > & p2 )

Definition at line 286 of file persistent.h.

◆ operator!=() [8/10]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType >
V8_INLINE bool cppgc::internal::operator!= ( SentinelPointer s,
const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > & member )

Definition at line 449 of file member.h.

◆ operator!=() [9/10]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType >
V8_INLINE bool cppgc::internal::operator!= ( std::nullptr_t n,
const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > & member )

Definition at line 484 of file member.h.

◆ operator!=() [10/10]

template<typename T , typename U , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType >
V8_INLINE bool cppgc::internal::operator!= ( T * raw,
const BasicMember< U, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > & member )

Definition at line 414 of file member.h.

◆ operator<()

template<typename T1 , typename WeaknessTag1 , typename WriteBarrierPolicy1 , typename CheckingPolicy1 , typename T2 , typename WeaknessTag2 , typename WriteBarrierPolicy2 , typename CheckingPolicy2 , typename StorageType >
V8_INLINE bool cppgc::internal::operator< ( const BasicMember< T1, WeaknessTag1, WriteBarrierPolicy1, CheckingPolicy1, StorageType > & member1,
const BasicMember< T2, WeaknessTag2, WriteBarrierPolicy2, CheckingPolicy2, StorageType > & member2 )

Definition at line 495 of file member.h.

◆ operator<=()

template<typename T1 , typename WeaknessTag1 , typename WriteBarrierPolicy1 , typename CheckingPolicy1 , typename T2 , typename WeaknessTag2 , typename WriteBarrierPolicy2 , typename CheckingPolicy2 , typename StorageType >
V8_INLINE bool cppgc::internal::operator<= ( const BasicMember< T1, WeaknessTag1, WriteBarrierPolicy1, CheckingPolicy1, StorageType > & member1,
const BasicMember< T2, WeaknessTag2, WriteBarrierPolicy2, CheckingPolicy2, StorageType > & member2 )

Definition at line 510 of file member.h.

◆ operator==() [1/10]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType >
V8_INLINE bool cppgc::internal::operator== ( const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > & member,
SentinelPointer  )

Definition at line 423 of file member.h.

◆ operator==() [2/10]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType >
V8_INLINE bool cppgc::internal::operator== ( const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > & member,
std::nullptr_t  )

Definition at line 458 of file member.h.

◆ operator==() [3/10]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType , typename U >
V8_INLINE bool cppgc::internal::operator== ( const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > & member,
U * raw )

Definition at line 374 of file member.h.

◆ operator==() [4/10]

template<typename T1 , typename WeaknessTag1 , typename WriteBarrierPolicy1 , typename CheckingPolicy1 , typename T2 , typename WeaknessTag2 , typename WriteBarrierPolicy2 , typename CheckingPolicy2 , typename StorageType >
V8_INLINE bool cppgc::internal::operator== ( const BasicMember< T1, WeaknessTag1, WriteBarrierPolicy1, CheckingPolicy1, StorageType > & member1,
const BasicMember< T2, WeaknessTag2, WriteBarrierPolicy2, CheckingPolicy2, StorageType > & member2 )

Definition at line 344 of file member.h.

◆ operator==() [5/10]

template<typename T1 , typename MemberWriteBarrierPolicy , typename MemberWeaknessTag , typename MemberCheckingPolicy , typename MemberStorageType , typename T2 , typename PersistentWeaknessPolicy , typename PersistentLocationPolicy , typename PersistentCheckingPolicy >
bool cppgc::internal::operator== ( const BasicMember< T2, MemberWeaknessTag, MemberWriteBarrierPolicy, MemberCheckingPolicy, MemberStorageType > & m,
const BasicPersistent< T1, PersistentWeaknessPolicy, PersistentLocationPolicy, PersistentCheckingPolicy > & p )

Definition at line 326 of file persistent.h.

◆ operator==() [6/10]

template<typename T1 , typename PersistentWeaknessPolicy , typename PersistentLocationPolicy , typename PersistentCheckingPolicy , typename T2 , typename MemberWriteBarrierPolicy , typename MemberWeaknessTag , typename MemberCheckingPolicy , typename MemberStorageType >
bool cppgc::internal::operator== ( const BasicPersistent< T1, PersistentWeaknessPolicy, PersistentLocationPolicy, PersistentCheckingPolicy > & p,
const BasicMember< T2, MemberWeaknessTag, MemberWriteBarrierPolicy, MemberCheckingPolicy, MemberStorageType > & m )

Definition at line 298 of file persistent.h.

◆ operator==() [7/10]

template<typename T1 , typename WeaknessPolicy1 , typename LocationPolicy1 , typename CheckingPolicy1 , typename T2 , typename WeaknessPolicy2 , typename LocationPolicy2 , typename CheckingPolicy2 >
bool cppgc::internal::operator== ( const BasicPersistent< T1, WeaknessPolicy1, LocationPolicy1, CheckingPolicy1 > & p1,
const BasicPersistent< T2, WeaknessPolicy2, LocationPolicy2, CheckingPolicy2 > & p2 )

Definition at line 276 of file persistent.h.

◆ operator==() [8/10]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType >
V8_INLINE bool cppgc::internal::operator== ( SentinelPointer s,
const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > & member )

Definition at line 441 of file member.h.

◆ operator==() [9/10]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType >
V8_INLINE bool cppgc::internal::operator== ( std::nullptr_t n,
const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > & member )

Definition at line 476 of file member.h.

◆ operator==() [10/10]

template<typename T , typename U , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy , typename StorageType >
V8_INLINE bool cppgc::internal::operator== ( T * raw,
const BasicMember< U, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType > & member )

Definition at line 405 of file member.h.

◆ operator>()

template<typename T1 , typename WeaknessTag1 , typename WriteBarrierPolicy1 , typename CheckingPolicy1 , typename T2 , typename WeaknessTag2 , typename WriteBarrierPolicy2 , typename CheckingPolicy2 , typename StorageType >
V8_INLINE bool cppgc::internal::operator> ( const BasicMember< T1, WeaknessTag1, WriteBarrierPolicy1, CheckingPolicy1, StorageType > & member1,
const BasicMember< T2, WeaknessTag2, WriteBarrierPolicy2, CheckingPolicy2, StorageType > & member2 )

Definition at line 525 of file member.h.

◆ operator>=()

template<typename T1 , typename WeaknessTag1 , typename WriteBarrierPolicy1 , typename CheckingPolicy1 , typename T2 , typename WeaknessTag2 , typename WriteBarrierPolicy2 , typename CheckingPolicy2 , typename StorageType >
V8_INLINE bool cppgc::internal::operator>= ( const BasicMember< T1, WeaknessTag1, WriteBarrierPolicy1, CheckingPolicy1, StorageType > & member1,
const BasicMember< T2, WeaknessTag2, WriteBarrierPolicy2, CheckingPolicy2, StorageType > & member2 )

Definition at line 540 of file member.h.

◆ SetAndReturnType()

template<WriteBarrier::Type type>
V8_INLINE WriteBarrier::Type cppgc::internal::SetAndReturnType ( WriteBarrier::Params & params)

Definition at line 157 of file write-barrier.h.

Here is the caller graph for this function:

◆ SetMemoryAccessible()

V8_INLINE void cppgc::internal::SetMemoryAccessible ( void * address,
size_t size )

Definition at line 72 of file memory.h.

Here is the caller graph for this function:

◆ SetMemoryInaccessible()

V8_INLINE void cppgc::internal::SetMemoryInaccessible ( void * address,
size_t size )

Definition at line 76 of file memory.h.

Here is the caller graph for this function:

◆ ZapMemory()

V8_INLINE void cppgc::internal::ZapMemory ( void * address,
size_t size )

Definition at line 25 of file memory.h.

Here is the caller graph for this function:

Variable Documentation

◆ false

cppgc::internal::false

Definition at line 66 of file gc-info.h.

◆ IsAnyMemberTypeV

template<typename T >
bool cppgc::internal::IsAnyMemberTypeV = false
constexpr

Definition at line 185 of file type-traits.h.

◆ IsDecayedSameV

template<typename T , typename U >
bool cppgc::internal::IsDecayedSameV
constexpr
Initial value:
=
std::is_same_v<std::decay_t<T>, std::decay_t<U>>

Definition at line 176 of file type-traits.h.

◆ IsStrictlyBaseOfV

template<typename B , typename D >
bool cppgc::internal::IsStrictlyBaseOfV
constexpr
Initial value:
=
std::is_base_of_v<std::decay_t<B>, std::decay_t<D>> &&
!IsDecayedSameV<B, D>

Definition at line 180 of file type-traits.h.

◆ IsTraceableV

template<typename T >
bool cppgc::internal::IsTraceableV = IsTraceable<T>::value
constexpr

Definition at line 59 of file type-traits.h.

◆ kAllocationGranularity

size_t cppgc::internal::kAllocationGranularity = 4
constexpr

Definition at line 37 of file globals.h.

◆ kAllocationMask

size_t cppgc::internal::kAllocationMask = kAllocationGranularity - 1
constexpr

Definition at line 39 of file globals.h.

◆ kFreeListEntrySize

size_t cppgc::internal::kFreeListEntrySize = 2 * sizeof(uintptr_t)
constexpr

Definition at line 49 of file globals.h.

◆ kFreeListGCInfoIndex

GCInfoIndex cppgc::internal::kFreeListGCInfoIndex = 0
constexpr

Definition at line 48 of file globals.h.

◆ kGB

size_t cppgc::internal::kGB = kMB * 1024
constexpr

Definition at line 22 of file globals.h.

◆ kKB

size_t cppgc::internal::kKB = 1024
constexpr

Definition at line 20 of file globals.h.

◆ kLargeObjectSizeThreshold

size_t cppgc::internal::kLargeObjectSizeThreshold = kPageSize / 2
constexpr

Definition at line 46 of file globals.h.

◆ kMB

size_t cppgc::internal::kMB = kKB * 1024
constexpr

Definition at line 21 of file globals.h.

◆ kPageBaseMask

size_t cppgc::internal::kPageBaseMask = ~kPageOffsetMask
constexpr

Definition at line 44 of file globals.h.

◆ kPageOffsetMask

size_t cppgc::internal::kPageOffsetMask = kPageSize - 1
constexpr

Definition at line 43 of file globals.h.

◆ kPageSize

size_t cppgc::internal::kPageSize = 1 << kPageSizeLog2
constexpr

Definition at line 42 of file globals.h.

◆ kPageSizeLog2

size_t cppgc::internal::kPageSizeLog2 = 17
constexpr

Definition at line 41 of file globals.h.

◆ kSizeOfMember

size_t cppgc::internal::kSizeOfMember = sizeof(Member<Dummy>)
staticconstexpr

Definition at line 620 of file member.h.

◆ kSizeOfUncompressedMember

size_t cppgc::internal::kSizeOfUncompressedMember
staticconstexpr
Initial value:
=
sizeof(subtle::UncompressedMember<Dummy>)

Definition at line 621 of file member.h.

◆ kSlotSize

size_t cppgc::internal::kSlotSize = sizeof(uintptr_t)
constexpr

Definition at line 54 of file globals.h.

◆ kZappedValue

uint8_t cppgc::internal::kZappedValue = 0xdc
staticconstexpr

Definition at line 23 of file memory.h.

◆ true

cppgc::internal::true

Definition at line 70 of file gc-info.h.