From 0068984be5fea71da7a625974a63f6b5b94768e5 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Thu, 15 May 2003 22:48:20 +0000 Subject: [PATCH] (scm_finish_srcprop): use scm_gc_register_collectable_memory() (scm_make_srcprops): idem. --- libguile/ChangeLog | 6 ++++++ libguile/srcprop.c | 8 +++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 4974246d9..209973286 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,9 @@ +2003-05-16 Han-Wen Nienhuys + + * srcprop.c (scm_finish_srcprop): use + scm_gc_register_collectable_memory() + (scm_make_srcprops): idem. + 2003-05-14 Han-Wen Nienhuys * gc-malloc.c (scm_gc_register_collectable_memory): avoid diff --git a/libguile/srcprop.c b/libguile/srcprop.c index 87407f294..019e8ba35 100644 --- a/libguile/srcprop.c +++ b/libguile/srcprop.c @@ -114,7 +114,8 @@ scm_make_srcprops (long line, int col, SCM filename, SCM copy, SCM plist) SCM_SYSCALL (mem = (scm_t_srcprops_chunk *) scm_malloc (n)); if (mem == NULL) scm_memory_error ("srcprops"); - scm_mallocated += n; + scm_gc_register_collectable_memory (mem, n, "srcprops"); + mem->next = srcprops_chunklist; srcprops_chunklist = mem; ptr = &mem->srcprops[0]; @@ -319,12 +320,13 @@ void scm_finish_srcprop () { register scm_t_srcprops_chunk *ptr = srcprops_chunklist, *next; + size_t n= sizeof (scm_t_srcprops_chunk) + + sizeof (scm_t_srcprops) * (SRCPROPS_CHUNKSIZE - 1); while (ptr) { next = ptr->next; + scm_gc_unregister_collectable_memory (ptr, n, "srcprops"); free ((char *) ptr); - scm_mallocated -= sizeof (scm_t_srcprops_chunk) - + sizeof (scm_t_srcprops) * (SRCPROPS_CHUNKSIZE - 1); ptr = next; } } -- 2.20.1