summaryrefslogtreecommitdiff
path: root/libguile/gc-malloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/gc-malloc.c')
-rw-r--r--libguile/gc-malloc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libguile/gc-malloc.c b/libguile/gc-malloc.c
index 7bf366b0d..2f39db0da 100644
--- a/libguile/gc-malloc.c
+++ b/libguile/gc-malloc.c
@@ -200,13 +200,15 @@ scm_gc_register_collectable_memory (void *mem, size_t size, const char *what)
*/
if (scm_mallocated > scm_mtrigger)
{
- long prev_alloced = scm_mallocated;
+ unsigned long prev_alloced = scm_mallocated;
float yield;
scm_igc (what);
scm_i_sweep_all_segments("mtrigger");
- yield = (prev_alloced - scm_mallocated) / (float) prev_alloced;
+ yield = ((float)prev_alloced - (float) scm_mallocated)
+ / (float) prev_alloced;
+
scm_gc_malloc_yield_percentage = (int) (100 * yield);
#ifdef DEBUGINFO