16#if defined(CPPGC_CAGED_HEAP)
22#ifdef V8_ENABLE_CHECKS
23void Visitor::CheckObjectNotInConstruction(
const void* address) {
31#if defined(CPPGC_POINTER_COMPRESSION)
50 uintptr_t* word =
reinterpret_cast<uintptr_t*
>(object_view.Start());
51 for (
size_t i = 0;
i < (object_view.Size() /
sizeof(uintptr_t)); ++
i) {
52 uintptr_t maybe_full_ptr = word[
i];
62 reinterpret_cast<void*
>(maybe_full_ptr),
63 [
this](
const void* raw_pointer) {
77#if defined(CPPGC_CAGED_HEAP)
79 if (
V8_LIKELY(!CagedHeapBase::IsWithinCage(address)))
return;
89 page->TryObjectHeaderFromInnerAddress(address));
97 const void* address) {
104 address, [
this](
const void* raw_pointer) {
127 {header.ObjectStart(),
128 GlobalGCInfoTable::GCInfoFromIndex(header.GetGCInfoIndex()).trace});
virtual void Visit(const void *self, TraceDescriptor)
cppgc::Visitor & visitor_
void TryTracePointerConservatively(ConstAddress address)
void TraceConservatively(const HeapObjectHeader &)
ConservativeTracingVisitor(HeapBase &, PageBackend &, cppgc::Visitor &)
virtual void VisitInConstructionConservatively(HeapObjectHeader &, TraceConservativelyCallback)
virtual void VisitFullyConstructedConservatively(HeapObjectHeader &)
virtual void TraceConservativelyIfNeeded(const void *)
PageBackend & page_backend_
Address Lookup(ConstAddress) const
static V8_INLINE void VisitPossiblePointers(const void *address, Callback callback)
#define MSAN_MEMORY_IS_INITIALIZED(start, size)
RawPointer PointerRepresentation
const uint8_t * ConstAddress
#define DCHECK_EQ(v1, v2)
static constexpr intptr_t kSentinelValue
#define V8_LIKELY(condition)