chromium/v8/test/cctest/heap/test-array-buffer-tracker.cc

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

#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

namespace v8 {
namespace internal {
namespace heap {

// The following tests make sure that JSArrayBuffer tracking works expected when
// moving the objects through various spaces during GC phases.

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) {}

}  // namespace heap
}  // namespace internal
}  // namespace v8