Version 3.17.6

Fixed materialization of arguments objects with unknown values. (Chromium issue 163530)

Set default number of sweeper threads to at most four.

Performance and stability improvements on all platforms.

git-svn-id: http://v8.googlecode.com/svn/trunk@13779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/spaces.h b/src/spaces.h
index ed68000..02982cf 100644
--- a/src/spaces.h
+++ b/src/spaces.h
@@ -1630,6 +1630,11 @@
     accounting_stats_.ClearSizeWaste();
   }
 
+  // Increases the number of available bytes of that space.
+  void AddToAccountingStats(intptr_t bytes) {
+    accounting_stats_.DeallocateBytes(bytes);
+  }
+
   // Available bytes without growing.  These are the bytes on the free list.
   // The bytes in the linear allocation area are not included in this total
   // because updating the stats would slow down allocation.  New pages are
@@ -1698,9 +1703,6 @@
   // Releases an unused page and shrinks the space.
   void ReleasePage(Page* page);
 
-  // Releases all of the unused pages.
-  void ReleaseAllUnusedPages();
-
   // The dummy page that anchors the linked list of pages.
   Page* anchor() { return &anchor_; }
 
@@ -1752,11 +1754,19 @@
     unswept_free_bytes_ += (p->area_size() - p->LiveBytes());
   }
 
+  void DecrementUnsweptFreeBytes(int by) {
+    unswept_free_bytes_ -= by;
+  }
+
   void DecreaseUnsweptFreeBytes(Page* p) {
     ASSERT(ShouldBeSweptLazily(p));
     unswept_free_bytes_ -= (p->area_size() - p->LiveBytes());
   }
 
+  void ResetUnsweptFreeBytes() {
+    unswept_free_bytes_ = 0;
+  }
+
   bool AdvanceSweeper(intptr_t bytes_to_sweep);
 
   // When parallel sweeper threads are active this function waits
@@ -1790,10 +1800,6 @@
  protected:
   FreeList* free_list() { return &free_list_; }
 
-  void AddToAccountingStats(intptr_t bytes) {
-    accounting_stats_.DeallocateBytes(bytes);
-  }
-
   int area_size_;
 
   // Maximum capacity of this space.