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
-~----------~----~----~----~------~----~------~--~---

Reply via email to