mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-17 01:00:20 +02:00
* 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].
This commit is contained in:
parent
c014a02eec
commit
6b1b030e4d
5 changed files with 125 additions and 11 deletions
|
@ -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[];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue