5#ifndef V8_HEAP_PAGED_SPACES_INL_H_ 
    6#define V8_HEAP_PAGED_SPACES_INL_H_ 
   23    : cage_base_(page->
heap()->isolate()),
 
 
   32  AdvanceToNextObject();
 
 
   49    if (IsFreeSpaceOrFiller(obj, cage_base())) {
 
   52      if (IsInstructionStream(obj, cage_base())) {
 
 
   74  } 
while (AdvanceToNextPage());
 
 
   87template <
bool during_sweep>
 
   89  if (size_in_bytes == 0) 
return 0;
 
   94    heap()->CreateFillerObjectAtBackground(free_space);
 
  100    heap()->CreateFillerObjectAtBackground(free_space);
 
  105  if constexpr (!during_sweep) {
 
  107    accounting_stats_.DecreaseAllocatedBytes(size_in_bytes, page);
 
  108    free_list()->increase_wasted_bytes(wasted);
 
  112  return size_in_bytes - wasted;
 
 
  116  return FreeInternal<
false>(
start, size_in_bytes);
 
 
  120  return FreeInternal<
true>(
start, size_in_bytes);
 
 
void AdvanceToNextObject()
const PageMetadata *const page_
static Tagged< HeapObject > FromAddress(Address address)
static V8_INLINE PageMetadata * FromHeapObject(Tagged< HeapObject > o)
static V8_INLINE PageMetadata * FromAddress(Address addr)
V8_INLINE size_t Free(Address start, size_t size_in_bytes)
V8_INLINE size_t FreeInternal(Address start, size_t size_in_bytes)
bool Contains(Address a) const
V8_INLINE size_t FreeDuringSweep(Address start, size_t size_in_bytes)
Tagged< HeapObject > Next() override
V8_INLINE constexpr StorageType ptr() const
static V8_INLINE WritableFreeSpace ForNonExecutableMemory(base::Address addr, size_t size)
V8_INLINE WritableFreeSpace FreeRange(Address addr, size_t size)
#define ALIGN_TO_ALLOCATION_ALIGNMENT(value)
const v8::base::TimeTicks end_
kInterpreterTrampolineOffset Tagged< HeapObject >
V8_INLINE constexpr bool IsHeapObject(TaggedImpl< kRefType, StorageType > obj)
static constexpr Address kNullAddress
#define DCHECK_CODEOBJECT_SIZE(size)
#define DCHECK_OBJECT_SIZE(size)
#define DCHECK_LE(v1, v2)
#define DCHECK_NE(v1, v2)
#define DCHECK_GE(v1, v2)
#define DCHECK_LT(v1, v2)
#define DCHECK_EQ(v1, v2)
#define DCHECK_GT(v1, v2)