diff options
author | Han-Wen Nienhuys <hanwen@lilypond.org> | 2008-08-16 15:03:48 -0300 |
---|---|---|
committer | Han-Wen Nienhuys <hanwen@lilypond.org> | 2008-08-16 15:03:48 -0300 |
commit | 40945e5e9f5b1ecbd9a5d9f8713e25898e056198 (patch) | |
tree | f15646f68c6fb75f8acd0cb05c960f2d0de8d83e /libguile/gc-segment-table.c | |
parent | 82ae1b8eb3413e6be6bd2aa032986fc7782e85ac (diff) | |
download | guile-40945e5e9f5b1ecbd9a5d9f8713e25898e056198.tar.gz |
Add a statistic for tracking how many cells are marked conservatively.
This allows an informed choice for deciding how many segments to
create. After startup, ~2% of the cells are scanned conservatively.
Diffstat (limited to 'libguile/gc-segment-table.c')
-rw-r--r-- | libguile/gc-segment-table.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libguile/gc-segment-table.c b/libguile/gc-segment-table.c index d627e9c1f..4b809ae4b 100644 --- a/libguile/gc-segment-table.c +++ b/libguile/gc-segment-table.c @@ -115,12 +115,14 @@ scm_i_insert_segment (scm_t_heap_segment *seg) I think this function is too long to be inlined. --hwn */ + int scm_i_find_heap_segment_containing_object (SCM obj) { if (!CELL_P (obj)) return -1; + scm_i_find_heap_calls ++; if ((scm_t_cell *) obj < lowest_cell || (scm_t_cell *) obj >= highest_cell) return -1; |