summaryrefslogtreecommitdiff
path: root/libguile/gc.c
diff options
context:
space:
mode:
authorHan-Wen Nienhuys <hanwen@lilypond.org>2002-09-05 21:12:21 +0000
committerHan-Wen Nienhuys <hanwen@lilypond.org>2002-09-05 21:12:21 +0000
commitffd724008bab4ee230af0a9210b19166b2c04f71 (patch)
tree1c76aa2025f57bd02b222271f07dfc9f174470b3 /libguile/gc.c
parent5bd4a949e87dce0abf8d140e2d9f2ca4ce808727 (diff)
downloadguile-ffd724008bab4ee230af0a9210b19166b2c04f71.tar.gz
* struct.h: change scm_structs_to_free to scm_i_structs_to_free
* gc-malloc.c (scm_gc_register_collectable_memory): use floats; these won't ever wrap around with high memory usage. * gc-malloc.c: add DEBUGINFO for mtrigger GCs.
Diffstat (limited to 'libguile/gc.c')
-rw-r--r--libguile/gc.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/libguile/gc.c b/libguile/gc.c
index fdc390e79..d5baf3cca 100644
--- a/libguile/gc.c
+++ b/libguile/gc.c
@@ -120,8 +120,6 @@ int scm_i_cell_validation_already_running ;
periods.
*/
-
-
void
scm_i_expensive_validation_check (SCM cell)
{
@@ -277,10 +275,6 @@ int scm_block_gc = 1;
*/
SCM scm_weak_vectors;
-/* During collection, this accumulates structures which are to be freed.
- */
-SCM scm_structs_to_free;
-
/* GC Statistics Keeping
*/
unsigned long scm_cells_allocated = 0;
@@ -608,10 +602,19 @@ scm_igc (const char *what)
scm_gc_sweep ();
+
+ /*
+ TODO: this hook should probably be moved to just before the mark,
+ since that's where the sweep is finished in lazy sweeping.
+ */
scm_c_hook_run (&scm_after_sweep_c_hook, 0);
gc_end_stats ();
SCM_CRITICAL_SECTION_END;
+
+ /*
+ See above.
+ */
scm_c_hook_run (&scm_after_gc_c_hook, 0);
--scm_gc_running_p;