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