summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHan-Wen Nienhuys <hanwen@lilypond.org>2005-01-27 22:50:09 +0000
committerHan-Wen Nienhuys <hanwen@lilypond.org>2005-01-27 22:50:09 +0000
commit856fca7e70059aa87387a6cd76b2760d1f08fcae (patch)
tree3ff009f513e5e94453e8d69580b89bd6c17958ef
parent73a4c24e417fad800b99decea5b27b57cdb1e76d (diff)
downloadguile-856fca7e70059aa87387a6cd76b2760d1f08fcae.tar.gz
* 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.
-rw-r--r--libguile/ChangeLog4
-rw-r--r--libguile/gc-card.c10
2 files changed, 14 insertions, 0 deletions
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 <hanwen@xs4all.nl>
+ * 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);