[svn:parrot] r45805 - branches/compact_pool_revamp/src/gc
bacek at svn.parrot.org
bacek at svn.parrot.org
Mon Apr 19 14:12:05 UTC 2010
Author: bacek
Date: Mon Apr 19 14:12:04 2010
New Revision: 45805
URL: https://trac.parrot.org/parrot/changeset/45805
Log:
Don't skip blocks with a lot of _free_ memory.
Modified:
branches/compact_pool_revamp/src/gc/alloc_resources.c
Modified: branches/compact_pool_revamp/src/gc/alloc_resources.c
==============================================================================
--- branches/compact_pool_revamp/src/gc/alloc_resources.c Mon Apr 19 14:00:14 2010 (r45804)
+++ branches/compact_pool_revamp/src/gc/alloc_resources.c Mon Apr 19 14:12:04 2010 (r45805)
@@ -600,7 +600,8 @@
size_t skip_pos = 0;
while (cur_block) {
- if (cur_block->size * 0.2 > cur_block->freed) {
+ if ((cur_block->size * 0.2 > cur_block->freed)
+ && (cur_block->free < cur_block->size * 0.2)) {
/* Don't reclaim almost filled blocks */
/* TODO Keep blocks ordered by block->start to use binary search */
skip_blocks[skip_pos++] = cur_block;
More information about the parrot-commits
mailing list