diff --git a/libguile/ChangeLog b/libguile/ChangeLog index dccf59600..7006dc570 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,8 @@ +2002-08-22 Han-Wen Nienhuys + + * gc.h, gc.c: make scm_cells_allocated unsigned again. Thanks to + Bill Schottstaedt for the bug report + 2002-08-20 Marius Vollmer * print.c (scm_iprin1): Print primitives generics always as diff --git a/libguile/gc-freelist.c b/libguile/gc-freelist.c index 21720534a..c885ceaf1 100644 --- a/libguile/gc-freelist.c +++ b/libguile/gc-freelist.c @@ -123,7 +123,7 @@ scm_i_adjust_min_yield (scm_t_cell_type_statistics *freelist) - (long) SCM_MAX (scm_gc_cells_collected_1, scm_gc_cells_collected)); #ifdef DEBUGINFO fprintf (stderr, " after GC = %lu, delta = %ld\n", - (long) scm_cells_allocated, + (unsigned long) scm_cells_allocated, (long) delta); #endif if (delta > 0) diff --git a/libguile/gc-segment.c b/libguile/gc-segment.c index 46054fc53..e459291d3 100644 --- a/libguile/gc-segment.c +++ b/libguile/gc-segment.c @@ -228,7 +228,7 @@ scm_i_sweep_segment (scm_t_heap_segment * seg) scm_t_cell * p = seg->next_free_card; int yield = scm_gc_cells_collected; int coll = seg->freelist->collected; - int alloc = scm_cells_allocated ; + unsigned long alloc = scm_cells_allocated ; while (scm_i_sweep_some_cards (seg) != SCM_EOL) ; diff --git a/libguile/gc.c b/libguile/gc.c index 97ae62c45..fdc390e79 100644 --- a/libguile/gc.c +++ b/libguile/gc.c @@ -283,7 +283,7 @@ SCM scm_structs_to_free; /* GC Statistics Keeping */ -long scm_cells_allocated = 0; +unsigned long scm_cells_allocated = 0; unsigned long scm_mallocated = 0; unsigned long scm_gc_cells_collected; unsigned long scm_gc_cells_collected_1 = 0; /* previous GC yield */ @@ -337,7 +337,7 @@ SCM_DEFINE (scm_gc_stats, "gc-stats", 0, 0, 0, unsigned long int local_scm_heap_size; int local_scm_gc_cell_yield_percentage; int local_scm_gc_malloc_yield_percentage; - long int local_scm_cells_allocated; + unsigned long int local_scm_cells_allocated; unsigned long int local_scm_gc_time_taken; unsigned long int local_scm_gc_times; unsigned long int local_scm_gc_mark_time_taken; @@ -392,7 +392,7 @@ SCM_DEFINE (scm_gc_stats, "gc-stats", 0, 0, 0, } answer = scm_list_n (scm_cons (sym_gc_time_taken, scm_ulong2num (local_scm_gc_time_taken)), - scm_cons (sym_cells_allocated, scm_long2num (local_scm_cells_allocated)), + scm_cons (sym_cells_allocated, scm_ulong2num (local_scm_cells_allocated)), scm_cons (sym_heap_size, scm_ulong2num (local_scm_heap_size)), scm_cons (sym_mallocated, scm_ulong2num (local_scm_mallocated)), scm_cons (sym_mtrigger, scm_ulong2num (local_scm_mtrigger)), diff --git a/libguile/gc.h b/libguile/gc.h index f0f89b7f7..7388d5e42 100644 --- a/libguile/gc.h +++ b/libguile/gc.h @@ -290,7 +290,7 @@ SCM_API unsigned long scm_gc_cells_collected; SCM_API unsigned long scm_gc_cells_collected; SCM_API unsigned long scm_gc_malloc_collected; SCM_API unsigned long scm_gc_ports_collected; -SCM_API long scm_cells_allocated; +SCM_API unsigned long scm_cells_allocated; SCM_API int scm_gc_cell_yield_percentage; SCM_API int scm_gc_malloc_yield_percentage; SCM_API unsigned long scm_mallocated;