summaryrefslogtreecommitdiff
path: root/deps/v8/src/heap/cppgc/garbage-collector.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/heap/cppgc/garbage-collector.h')
-rw-r--r--deps/v8/src/heap/cppgc/garbage-collector.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/deps/v8/src/heap/cppgc/garbage-collector.h b/deps/v8/src/heap/cppgc/garbage-collector.h
index b8e52452ee..a49a7a1bad 100644
--- a/deps/v8/src/heap/cppgc/garbage-collector.h
+++ b/deps/v8/src/heap/cppgc/garbage-collector.h
@@ -5,6 +5,7 @@
#ifndef V8_HEAP_CPPGC_GARBAGE_COLLECTOR_H_
#define V8_HEAP_CPPGC_GARBAGE_COLLECTOR_H_
+#include "include/cppgc/common.h"
#include "src/heap/cppgc/marker.h"
#include "src/heap/cppgc/sweeper.h"
@@ -55,6 +56,11 @@ class GarbageCollector {
MarkingType::kAtomic, SweepingType::kAtomic};
}
+ static constexpr Config MinorConservativeAtomicConfig() {
+ return {CollectionType::kMinor, StackState::kMayContainHeapPointers,
+ MarkingType::kAtomic, SweepingType::kAtomic};
+ }
+
CollectionType collection_type = CollectionType::kMajor;
StackState stack_state = StackState::kMayContainHeapPointers;
MarkingType marking_type = MarkingType::kAtomic;
@@ -70,6 +76,9 @@ class GarbageCollector {
// The current epoch that the GC maintains. The epoch is increased on every
// GC invocation.
virtual size_t epoch() const = 0;
+
+ // Returns a non-null state if the stack state if overriden.
+ virtual const EmbedderStackState* override_stack_state() const = 0;
};
} // namespace internal