chromium/v8/src/heap/page-metadata.cc

// Copyright 2023 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "src/heap/page-metadata-inl.h"

#include "src/heap/heap-inl.h"
#include "src/heap/incremental-marking.h"
#include "src/heap/paged-spaces.h"

namespace v8 {
namespace internal {

// These checks are here to ensure that the lower 32 bits of any real heap
// object can't overlap with the lower 32 bits of cleared weak reference value
// and therefore it's enough to compare only the lower 32 bits of a
// Tagged<MaybeObject> in order to figure out if it's a cleared weak reference
// or not.
static_assert;
static_assert;

PageMetadata::PageMetadata(Heap* heap, BaseSpace* space, size_t size,
                           Address area_start, Address area_end,
                           VirtualMemory reservation)
    :{}

void PageMetadata::AllocateFreeListCategories() {}

void PageMetadata::InitializeFreeListCategories() {}

void PageMetadata::ReleaseFreeListCategories() {}

PageMetadata* PageMetadata::ConvertNewToOld(PageMetadata* old_page) {}

size_t PageMetadata::AvailableInFreeList() {}

void PageMetadata::MarkNeverAllocateForTesting() {}

#ifdef DEBUG
namespace {
// Skips filler starting from the given filler until the end address.
// Returns the first address after the skipped fillers.
Address SkipFillers(PtrComprCageBase cage_base, Tagged<HeapObject> filler,
                    Address end) {}
}  // anonymous namespace
#endif  // DEBUG

size_t PageMetadata::ShrinkToHighWaterMark() {}

void PageMetadata::CreateBlackArea(Address start, Address end) {}

void PageMetadata::DestroyBlackArea(Address start, Address end) {}

}  // namespace internal
}  // namespace v8