Pass new flags to cppgc heap initialization.
Ensure the marking phase is only run when PDFium is not
actively mutating memory.
REQUIRES V8 Roll past d46c94d before landing.
Bug: chromium:1156170
Change-Id: If401c0f0ac3cf5a1fa010a892b9bc6de1e7dd025
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/76910
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Hui Yingst <nigi@chromium.org>
diff --git a/fxjs/gc/heap.cpp b/fxjs/gc/heap.cpp
index 2c02752..45e3df7 100644
--- a/fxjs/gc/heap.cpp
+++ b/fxjs/gc/heap.cpp
@@ -73,8 +73,14 @@
++g_platform_ref_count;
auto heap = cppgc::Heap::Create(
std::make_shared<CFXGC_Platform>(),
- {{}, cppgc::Heap::StackSupport::kNoConservativeStackScan, {}});
-
+ cppgc::Heap::HeapOptions{
+ {},
+ cppgc::Heap::StackSupport::kNoConservativeStackScan,
+ cppgc::Heap::MarkingType::kAtomic,
+ // TODO(tsepez): switch to incremental sweeping when the issue
+ // in https://crbug.com/1156170 is resolved.
+ cppgc::Heap::SweepingType::kAtomic,
+ {}});
return FXGCScopedHeap(heap.release());
}