Reviewers: Kevin Millikin, Description: Never use the freelists when always compacting.
Please review this at http://codereview.chromium.org/113825 SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ Affected files: M src/spaces.cc Index: src/spaces.cc =================================================================== --- src/spaces.cc (revision 2045) +++ src/spaces.cc (working copy) @@ -1332,6 +1332,13 @@ FreeListNode* node = FreeListNode::FromAddress(start); node->set_size(size_in_bytes); + // We don't use the freelists in compacting mode. This makes it more like a + // GC that only has mark-sweep-compact and doesn't have a mark-sweep + // collector. + if (FLAG_always_compact) { + return size_in_bytes; + } + // Early return to drop too-small blocks on the floor (one or two word // blocks cannot hold a map pointer, a size field, and a pointer to the // next block in the free list). --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
