summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/platform/heap/heap_test_utilities.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/platform/heap/heap_test_utilities.cc')
-rw-r--r--chromium/third_party/blink/renderer/platform/heap/heap_test_utilities.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/chromium/third_party/blink/renderer/platform/heap/heap_test_utilities.cc b/chromium/third_party/blink/renderer/platform/heap/heap_test_utilities.cc
index 3292be44245..2efb5e40779 100644
--- a/chromium/third_party/blink/renderer/platform/heap/heap_test_utilities.cc
+++ b/chromium/third_party/blink/renderer/platform/heap/heap_test_utilities.cc
@@ -11,11 +11,14 @@
namespace blink {
+std::atomic_int IntegerObject::destructor_calls{0};
+
// static
void TestSupportingGC::PreciselyCollectGarbage(
BlinkGC::SweepingType sweeping_type) {
ThreadState::Current()->CollectGarbage(
- BlinkGC::kNoHeapPointersOnStack, BlinkGC::kAtomicMarking, sweeping_type,
+ BlinkGC::CollectionType::kMajor, BlinkGC::kNoHeapPointersOnStack,
+ BlinkGC::kAtomicMarking, sweeping_type,
BlinkGC::GCReason::kForcedGCForTesting);
}
@@ -23,10 +26,16 @@ void TestSupportingGC::PreciselyCollectGarbage(
void TestSupportingGC::ConservativelyCollectGarbage(
BlinkGC::SweepingType sweeping_type) {
ThreadState::Current()->CollectGarbage(
- BlinkGC::kHeapPointersOnStack, BlinkGC::kAtomicMarking, sweeping_type,
+ BlinkGC::CollectionType::kMajor, BlinkGC::kHeapPointersOnStack,
+ BlinkGC::kAtomicMarking, sweeping_type,
BlinkGC::GCReason::kForcedGCForTesting);
}
+TestSupportingGC::~TestSupportingGC() {
+ // Complete sweeping before |task_environment_| is destroyed.
+ CompleteSweepingIfNeeded();
+}
+
void TestSupportingGC::ClearOutOldGarbage() {
PreciselyCollectGarbage();
ThreadHeap& heap = ThreadState::Current()->Heap();