[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MIT-Scheme-devel] Cleaning weak hash tables in secondary GC daemon?

From: Taylor R Campbell
Subject: Re: [MIT-Scheme-devel] Cleaning weak hash tables in secondary GC daemon?
Date: Tue, 20 Sep 2011 21:47:50 +0000
User-agent: IMAIL/1.21; Edwin/3.116; MIT-Scheme/9.1

   Date: Tue, 20 Sep 2011 14:21:22 -0700
   From: Matt Birkholz <address@hidden>

   I find trigger-secondary-gc-daemons! is called only in gc-clean,
   which is called only in runtime/make.scm and disk-save.

GC-FINISH also calls GC-CLEAN when there are fewer than 4096 words
remaining in the heap after garbage collection.  When this happens,
Scheme will abort to the nearest REPL and exclaim `out of memory!'.

Ideally, in this case, Scheme would instead expand the heap, rather
than aborting; and, independently, the OS could tell Scheme when
physical memory is scarce, in which case Scheme could try to shrink
the heap by running secondary GC daemons, aborting to the nearest
REPL, &c.  But no OS does this, and we don't have a scalable GC, so
this strategy doesn't work and would perform badly anyway.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]