aboutsummaryrefslogtreecommitdiff
path: root/gc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gc.cpp')
-rw-r--r--gc.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/gc.cpp b/gc.cpp
index 775463f..ee3eb6f 100644
--- a/gc.cpp
+++ b/gc.cpp
@@ -151,6 +151,13 @@ void GarbageCollector::cycle_resolve() {
#ifdef GC_INFO
fprintf(stderr, "GC: cycle resolved.\n");
#endif
+}
+
+void GarbageCollector::collect() {
+ force();
+ if (mapping.size() < resolve_threshold)
+ return;
+ cycle_resolve();
force();
}