summaryrefslogtreecommitdiff
path: root/libguile/gc-segment-table.c
diff options
context:
space:
mode:
authorHan-Wen Nienhuys <hanwen@lilypond.org>2008-08-16 15:03:48 -0300
committerHan-Wen Nienhuys <hanwen@lilypond.org>2008-08-16 15:03:48 -0300
commit40945e5e9f5b1ecbd9a5d9f8713e25898e056198 (patch)
treef15646f68c6fb75f8acd0cb05c960f2d0de8d83e /libguile/gc-segment-table.c
parent82ae1b8eb3413e6be6bd2aa032986fc7782e85ac (diff)
downloadguile-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.c2
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;