#include "src/common/globals.h"
#include "src/heap/marking-inl.h"
#include "src/heap/spaces.h"
#include "test/unittests/heap/bitmap-test-utils.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace v8::internal {
constexpr MarkBit::CellType kMarkedCell = …;
constexpr MarkBit::CellType kLowerHalfMarkedCell = …;
constexpr MarkBit::CellType kHigherHalfMarkedCell = …;
constexpr MarkBit::CellType kWhiteCell = …;
constexpr uint8_t kMarkedByte = …;
constexpr uint8_t kUnmarkedByte = …;
NonAtomicBitmapTest;
AtomicBitmapTest;
TEST_F(NonAtomicBitmapTest, IsZeroInitialized) { … }
TEST_F(NonAtomicBitmapTest, Cells) { … }
TEST_F(NonAtomicBitmapTest, CellsCount) { … }
TEST_F(NonAtomicBitmapTest, IsClean) { … }
namespace {
template <AccessMode access_mode>
void ClearTest(uint8_t* raw_bitmap, MarkingBitmap* bm) { … }
template <AccessMode access_mode>
void ClearRange1Test(uint8_t* raw_bitmap, MarkingBitmap* bm) { … }
template <AccessMode access_mode>
void ClearRange2Test(uint8_t* raw_bitmap, MarkingBitmap* bm) { … }
template <AccessMode access_mode>
void SetAndClearRangeTest(uint8_t* raw_bitmap, MarkingBitmap* bm) { … }
}
TEST_F(AtomicBitmapTest, Clear) { … }
TEST_F(NonAtomicBitmapTest, Clear) { … }
TEST_F(AtomicBitmapTest, ClearRange1) { … }
TEST_F(NonAtomicBitmapTest, ClearRange1) { … }
TEST_F(AtomicBitmapTest, ClearRange2) { … }
TEST_F(NonAtomicBitmapTest, ClearRange2) { … }
TEST_F(AtomicBitmapTest, SetAndClearRange) { … }
TEST_F(NonAtomicBitmapTest, SetAndClearRange) { … }
TEST_F(NonAtomicBitmapTest, ClearMultipleRanges) { … }
}