summaryrefslogtreecommitdiff
path: root/misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'misc.c')
-rw-r--r--misc.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/misc.c b/misc.c
index 10bf1c97..c29d2097 100644
--- a/misc.c
+++ b/misc.c
@@ -15,6 +15,10 @@
#include "private/gc_pmark.h"
+#ifdef ENABLE_DISCLAIM
+# include "gc_disclaim.h"
+#endif
+
#include <stdio.h>
#include <limits.h>
#include <stdarg.h>
@@ -1514,6 +1518,17 @@ GC_API unsigned GC_CALL GC_new_proc(GC_mark_proc proc)
return result;
}
+#ifdef ENABLE_DISCLAIM
+GC_API void GC_CALL GC_register_disclaim_proc(int kind,
+ GC_disclaim_proc proc, void *cd,
+ int mark_unconditionally)
+{
+ GC_obj_kinds[kind].ok_disclaim_proc = proc;
+ GC_obj_kinds[kind].ok_disclaim_cd = cd;
+ GC_obj_kinds[kind].ok_mark_unconditionally = mark_unconditionally;
+}
+#endif
+
GC_API void * GC_CALL GC_call_with_stack_base(GC_stack_base_func fn, void *arg)
{
int dummy;