Revision: 10273
Author:   [email protected]
Date:     Mon Dec 19 03:33:54 2011
Log:      Do not delay sweeping of pages that are completely free.

[email protected]

Review URL: http://codereview.chromium.org/8997004
http://code.google.com/p/v8/source/detail?r=10273

Modified:
 /branches/bleeding_edge/src/mark-compact.cc
 /branches/bleeding_edge/src/spaces.cc

=======================================
--- /branches/bleeding_edge/src/mark-compact.cc Fri Dec  9 01:26:14 2011
+++ /branches/bleeding_edge/src/mark-compact.cc Mon Dec 19 03:33:54 2011
@@ -3622,14 +3622,6 @@
       // Will be processed in EvacuateNewSpaceAndCandidates.
       continue;
     }
-
-    if (lazy_sweeping_active) {
-      if (FLAG_gc_verbose) {
-        PrintF("Sweeping 0x%" V8PRIxPTR " lazily postponed.\n",
-               reinterpret_cast<intptr_t>(p));
-      }
-      continue;
-    }

// One unused page is kept, all further are released before sweeping them.
     if (p->LiveBytes() == 0) {
@@ -3643,6 +3635,14 @@
       }
       unused_page_present = true;
     }
+
+    if (lazy_sweeping_active) {
+      if (FLAG_gc_verbose) {
+        PrintF("Sweeping 0x%" V8PRIxPTR " lazily postponed.\n",
+               reinterpret_cast<intptr_t>(p));
+      }
+      continue;
+    }

     switch (sweeper) {
       case CONSERVATIVE: {
=======================================
--- /branches/bleeding_edge/src/spaces.cc       Wed Dec  7 00:43:18 2011
+++ /branches/bleeding_edge/src/spaces.cc       Mon Dec 19 03:33:54 2011
@@ -752,7 +752,7 @@
 void PagedSpace::ReleasePage(Page* page) {
   ASSERT(page->LiveBytes() == 0);

-  // Adjust list of unswept pages if the page is it's head or tail.
+  // Adjust list of unswept pages if the page is the head of the list.
   if (first_unswept_page_ == page) {
     first_unswept_page_ = page->next_page();
     if (first_unswept_page_ == anchor()) {

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to