summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-10-25 11:33:22 -0700
committerKaz Kylheku <kaz@kylheku.com>2015-10-25 11:33:22 -0700
commitddd9073c71ea80702a0c3d67ebd644b5f93ce07e (patch)
tree15d57880d53145ae494d4d60db179421eac47af7
parent09f172c98f79f52a6e5c0e4ec87918a6e74aaccf (diff)
downloadtxr-ddd9073c71ea80702a0c3d67ebd644b5f93ce07e.tar.gz
txr-ddd9073c71ea80702a0c3d67ebd644b5f93ce07e.tar.bz2
txr-ddd9073c71ea80702a0c3d67ebd644b5f93ce07e.zip
Expose memory region marking function.
* gc.c (gc_mark_mem): New function. * gc.h (gc_mark_mem): Declared.
-rw-r--r--gc.c5
-rw-r--r--gc.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/gc.c b/gc.c
index 7762a3a2..4892f133 100644
--- a/gc.c
+++ b/gc.c
@@ -735,6 +735,11 @@ void gc_conservative_mark(val maybe_obj)
mark_obj_maybe(maybe_obj);
}
+void gc_mark_mem(val *low, val *high)
+{
+ mark_mem_region(low, high);
+}
+
int gc_is_reachable(val obj)
{
return is_ptr(obj) ? is_reachable(obj) : 1;
diff --git a/gc.h b/gc.h
index 183348f8..d3f3ba86 100644
--- a/gc.h
+++ b/gc.h
@@ -34,6 +34,7 @@ void gc(void);
int gc_state(int);
void gc_mark(val);
void gc_conservative_mark(val);
+void gc_mark_mem(val *low, val *high);
int gc_is_reachable(val);
val gc_finalize(val obj, val fun, val rev_order_p);
val gc_call_finalizers(val obj);