summaryrefslogtreecommitdiffhomepage
path: root/types.c
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2021-07-10 19:37:40 +0200
committerJo-Philipp Wich <jo@mein.io>2021-07-11 15:49:14 +0200
commit559eff22d201f0dfa16198ae7724f173f1ea948c (patch)
tree6431c46153a93b609052b72cd62971372fed980b /types.c
parente5e7e6277cc757475ad192f70a4b200778e1d8ee (diff)
types, vm: adjust GC api
Provide separate public ucv_gc() and ucv_freeall() functions to perform an incremental and complete GC run respectively. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'types.c')
-rw-r--r--types.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/types.c b/types.c
index e888687..777de00 100644
--- a/types.c
+++ b/types.c
@@ -1756,8 +1756,8 @@ ucv_equal(uc_value_t *uv1, uc_value_t *uv2)
}
}
-void
-ucv_gc(uc_vm_t *vm, bool final)
+static void
+ucv_gc_common(uc_vm_t *vm, bool final)
{
uc_weakref_t *ref, *tmp;
uc_value_t *val;
@@ -1798,3 +1798,15 @@ ucv_gc(uc_vm_t *vm, bool final)
}
}
}
+
+void
+ucv_gc(uc_vm_t *vm)
+{
+ ucv_gc_common(vm, false);
+}
+
+void
+ucv_freeall(uc_vm_t *vm)
+{
+ ucv_gc_common(vm, true);
+}