#include "src/api/api-inl.h"
#include "src/common/globals.h"
#include "src/execution/isolate.h"
#include "src/flags/flags.h"
#include "src/heap/array-buffer-sweeper.h"
#include "src/heap/heap-inl.h"
#include "src/heap/spaces.h"
#include "src/objects/js-array-buffer-inl.h"
#include "src/objects/objects-inl.h"
#include "test/cctest/cctest.h"
#include "test/cctest/heap/heap-utils.h"
namespace {
bool IsTrackedYoung(i::Heap* heap, i::ArrayBufferExtension* extension) { … }
bool IsTrackedOld(i::Heap* heap, i::ArrayBufferExtension* extension) { … }
bool IsTracked(i::Heap* heap, i::ArrayBufferExtension* extension) { … }
bool IsTracked(i::Heap* heap, i::Tagged<i::JSArrayBuffer> buffer) { … }
}
namespace v8 {
namespace internal {
namespace heap {
TEST(ArrayBuffer_OnlyMC) { … }
TEST(ArrayBuffer_OnlyScavenge) { … }
TEST(ArrayBuffer_ScavengeAndMC) { … }
TEST(ArrayBuffer_Compaction) { … }
TEST(ArrayBuffer_UnregisterDuringSweep) { … }
TEST(ArrayBuffer_NonLivePromotion) { … }
TEST(ArrayBuffer_LivePromotion) { … }
TEST(ArrayBuffer_SemiSpaceCopyThenPagePromotion) { … }
TEST(ArrayBuffer_PagePromotion) { … }
UNINITIALIZED_TEST(ArrayBuffer_SemiSpaceCopyMultipleTasks) { … }
TEST(ArrayBuffer_ExternalBackingStoreSizeIncreases) { … }
TEST(ArrayBuffer_ExternalBackingStoreSizeDecreases) { … }
TEST(ArrayBuffer_ExternalBackingStoreSizeIncreasesMarkCompact) { … }
}
}
}