From: Nikodemus Siivola Date: Fri, 30 Mar 2012 21:56:44 +0000 (+0300) Subject: gencgc: reclaim space more aggressively X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;ds=sidebyside;h=6b1b11a6c51e1c29aee947f1fde7f91651ca3763;hp=6b1b11a6c51e1c29aee947f1fde7f91651ca3763;p=sbcl.git gencgc: reclaim space more aggressively * When considering auto_gc_trigger, take the number of bytes about to be allocated into account. * If bytes_consed_between_gcs is more than the amount of free heap, set next GC to occur when half of the remaining free heap has been consumed. * Keep track of the size of the largest object allocated between two GCs. When collecting garbage, if there isn't enough space to allocate at least two such objects before collecting the last generation due a collection, extend the collection by one extra generation. This works around our tendency to immediately promote large objects to generation 1, due to auto_gc_trigger causing a GC _after_ the allocation. Fixes lp#936304. ---