chromium/v8/src/heap/marking.h

// Copyright 2016 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.

#ifndef V8_HEAP_MARKING_H_
#define V8_HEAP_MARKING_H_

#include <cstdint>

#include "src/base/atomic-utils.h"
#include "src/common/globals.h"
#include "src/heap/marking-worklist.h"
#include "src/objects/heap-object.h"
#include "src/objects/map.h"
#include "src/utils/utils.h"

namespace v8::internal {

class PageMetadata;

class MarkBit final {};

template <>
inline bool MarkBit::Set<AccessMode::NON_ATOMIC>() {}

template <>
inline bool MarkBit::Set<AccessMode::ATOMIC>() {}

template <>
inline bool MarkBit::Get<AccessMode::NON_ATOMIC>() const {}

template <>
inline bool MarkBit::Get<AccessMode::ATOMIC>() const {}

inline bool MarkBit::Clear() {}

// Bitmap is a sequence of cells each containing fixed number of bits.
class V8_EXPORT_PRIVATE MarkingBitmap final {};

class LiveObjectRange final {};

struct MarkingHelper final : public AllStatic {};

}  // namespace v8::internal

#endif  // V8_HEAP_MARKING_H_