chromium/v8/src/heap/mark-sweep-utilities.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/mark-sweep-utilities.h"

#include "src/common/globals.h"
#include "src/heap/cppgc-js/cpp-heap.h"
#include "src/heap/large-spaces.h"
#include "src/heap/marking-worklist.h"
#include "src/heap/memory-chunk-layout.h"
#include "src/heap/new-spaces.h"
#include "src/objects/objects-inl.h"
#include "src/objects/string-forwarding-table-inl.h"
#include "src/objects/visitors-inl.h"

namespace v8 {
namespace internal {

// The following has to hold in order for {MarkingState::MarkBitFrom} to not
// produce invalid {kImpossibleBitPattern} in the marking bitmap by overlapping.
static_assert;

#ifdef VERIFY_HEAP
MarkingVerifierBase::MarkingVerifierBase(Heap* heap)
    :{}

void MarkingVerifierBase::VisitMapPointer(Tagged<HeapObject> object) {}

void MarkingVerifierBase::VerifyRoots() {}

void MarkingVerifierBase::VerifyMarkingOnPage(const PageMetadata* page,
                                              Address start, Address end) {}

void MarkingVerifierBase::VerifyMarking(NewSpace* space) {}

void MarkingVerifierBase::VerifyMarking(PagedSpaceBase* space) {}

void MarkingVerifierBase::VerifyMarking(LargeObjectSpace* lo_space) {}
#endif  // VERIFY_HEAP

template <ExternalStringTableCleaningMode mode>
void ExternalStringTableCleanerVisitor<mode>::VisitRootPointers(
    Root root, const char* description, FullObjectSlot start,
    FullObjectSlot end) {}

StringForwardingTableCleanerBase::StringForwardingTableCleanerBase(Heap* heap)
    :{}

void StringForwardingTableCleanerBase::DisposeExternalResource(
    StringForwardingTable::Record* record) {}

bool IsCppHeapMarkingFinished(
    Heap* heap, MarkingWorklists::Local* local_marking_worklists) {}

#if DEBUG
void VerifyRememberedSetsAfterEvacuation(Heap* heap,
                                         GarbageCollector garbage_collector) {}
#endif  // DEBUG

}  // namespace internal
}  // namespace v8