summaryrefslogtreecommitdiff
path: root/libguile/root.h
diff options
context:
space:
mode:
authorMichael Livshin <mlivshin@bigfoot.com>2001-05-26 22:10:58 +0000
committerMichael Livshin <mlivshin@bigfoot.com>2001-05-26 22:10:58 +0000
commit6b1b030e4de34568273e87176d3eb93eddf81c7f (patch)
tree8c5fd246c52cdc0f7f1af03975f6db1aac34f780 /libguile/root.h
parentc014a02eec7b99c54d8a156ce491ae8d1e341f97 (diff)
downloadguile-6b1b030e4de34568273e87176d3eb93eddf81c7f.tar.gz
* gc.c (scm_init_storage): init `scm_gc_registered_roots'.
(scm_igc): mark from them, too (precisely, not conservatively!). * root.h (scm_gc_registered_roots): new object in scm_sys_protects. * hooks.c (scm_create_hook): call `scm_gc_protect_object' instead `scm_protect_object'. shouldn't call it at all, though, it seems. * gc.c (scm_[un]protect_object): deprecated. (scm_gc_[un]protect_object): new names for scm_[un]protect_object. (scm_gc_[un]register_root[s]): new. * gc.h: add prototypes for scm_gc_[un]protect_object, scm_gc_[un]register_root[s].
Diffstat (limited to 'libguile/root.h')
-rw-r--r--libguile/root.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/libguile/root.h b/libguile/root.h
index 764052ce6..9963aa813 100644
--- a/libguile/root.h
+++ b/libguile/root.h
@@ -68,11 +68,12 @@
#define scm_asyncs scm_sys_protects[9]
#define scm_protects scm_sys_protects[10]
#define scm_properties_whash scm_sys_protects[11]
+#define scm_gc_registered_roots scm_sys_protects[12]
#ifdef DEBUG_EXTENSIONS
-#define scm_source_whash scm_sys_protects[12]
-#define SCM_NUM_PROTECTS 13
+#define scm_source_whash scm_sys_protects[13]
+#define SCM_NUM_PROTECTS 14
#else
-#define SCM_NUM_PROTECTS 12
+#define SCM_NUM_PROTECTS 13
#endif
extern SCM scm_sys_protects[];