summaryrefslogtreecommitdiff
path: root/libguile/gc-mark.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-mark.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-mark.c')
-rw-r--r--libguile/gc-mark.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libguile/gc-mark.c b/libguile/gc-mark.c
index d8f1ecec2..50cd844c9 100644
--- a/libguile/gc-mark.c
+++ b/libguile/gc-mark.c
@@ -78,7 +78,7 @@ scm_mark_all (void)
scm_i_init_guardians_for_gc ();
scm_i_clear_mark_space ();
-
+ scm_i_find_heap_calls = 0;
/* Mark every thread's stack and registers */
scm_threads_mark_stacks ();
@@ -404,7 +404,7 @@ scm_gc_mark_dependencies (SCM p)
{
/* We are in debug mode. Check the ptr exhaustively. */
- valid_cell = valid_cell && (scm_i_find_heap_segment_containing_object (ptr) >= 0);
+ valid_cell = valid_cell && scm_in_heap_p (ptr);
}
#endif