diff options
author | Michael Livshin <mlivshin@bigfoot.com> | 2001-05-26 22:10:58 +0000 |
---|---|---|
committer | Michael Livshin <mlivshin@bigfoot.com> | 2001-05-26 22:10:58 +0000 |
commit | 6b1b030e4de34568273e87176d3eb93eddf81c7f (patch) | |
tree | 8c5fd246c52cdc0f7f1af03975f6db1aac34f780 /libguile/root.h | |
parent | c014a02eec7b99c54d8a156ce491ae8d1e341f97 (diff) | |
download | guile-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.h | 7 |
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[]; |