From 856fca7e70059aa87387a6cd76b2760d1f08fcae Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Thu, 27 Jan 2005 22:50:09 +0000 Subject: [PATCH] * gc-card.c (scm_i_card_statistics): map structs, closures and subrs to one tag. * gc-card.c (scm_i_tag_name): new function. (scm_i_card_statistics): new function. --- libguile/ChangeLog | 4 ++++ libguile/gc-card.c | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 6929c19e5..531033a13 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,6 +1,10 @@ 2005-01-27 Han-Wen Nienhuys + * gc-card.c (scm_i_card_statistics): map structs, closures and + subrs to one tag. + * gc.c (s_scm_gc_live_object_stats): return alist, not hashtable. + (tag_table_to_type_alist): ignore unknown types. * gc-segment.c (scm_i_all_segments_statistics): new function. (scm_i_heap_segment_statistics): new function diff --git a/libguile/gc-card.c b/libguile/gc-card.c index f14b54e64..421df620d 100644 --- a/libguile/gc-card.c +++ b/libguile/gc-card.c @@ -329,6 +329,16 @@ scm_i_card_statistics (scm_t_cell *p, SCM hashtab, scm_t_heap_segment *seg) case scm_tcs_cons_nimcar: tag = scm_tc3_cons; break; + + case scm_tcs_struct: + tag = scm_tc3_struct; + break; + case scm_tcs_closures: + tag = scm_tc3_closure; + break; + case scm_tcs_subrs: + tag = scm_tc7_asubr; + break; } SCM tag_as_scm = scm_from_int (tag);