[cmucl-cvs] [git] CMU Common Lisp tag unicode-snapshot-2009-05 created. b7939fec84e0fd2e2484bc8bdff6c07d285cd9d3
Raymond Toy
rtoy at common-lisp.net
Tue Oct 11 17:31:24 UTC 2011
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMU Common Lisp".
The tag, unicode-snapshot-2009-05 has been created
at b7939fec84e0fd2e2484bc8bdff6c07d285cd9d3 (commit)
- Log -----------------------------------------------------------------
commit b7939fec84e0fd2e2484bc8bdff6c07d285cd9d3
Author: rtoy <rtoy>
Date: Fri May 1 16:09:10 2009 +0000
Add some heuristics to gc_alloc (and gc_alloc_unboxed), based on
some suggestions from Douglas.
Currently, if there's not enough free space left in the region, a
large alloc is done. Douglahs suggested increasing the threshold,
which we have increased from 32 to PAGE_SIZE/64.
Also, he mentioned it's a bug that we abandon the region if we have a
large object allocate. We now also do a large alloc if the object is
large enough. (The object won't get copied in the next GC, so that's
a win.)
Finally, we add a simple heuristic where we keep track of how many
consecutive large allocs have been done. If the threshold is
exceeded, we abandon the region (wasting space) and allocate a new
region. This prevents spectacularly bad performance (10 times slower
or more) on sparc when the object is small, and there's some room in
the region but not enough for the object. The boxed region would
never get updated so the allocation would never be inline.
For debugging, the consecutive alloc limit is a variable. We also
keep track of how many times we abandon a region.
-----------------------------------------------------------------------
hooks/post-receive
--
CMU Common Lisp
More information about the cmucl-cvs
mailing list