Revision: 9406
Author:   [email protected]
Date:     Thu Sep 22 10:10:40 2011
Log: GC Cleanup + Set max old generation size to 700MB on ia32 and max executable size to 128 MB (on ia32)
Review URL: http://codereview.chromium.org/7993003
http://code.google.com/p/v8/source/detail?r=9406

Modified:
 /branches/bleeding_edge/src/heap.cc
 /branches/bleeding_edge/src/spaces-inl.h
 /branches/bleeding_edge/src/spaces.cc
 /branches/bleeding_edge/src/spaces.h
 /branches/bleeding_edge/test/mjsunit/mjsunit.status

=======================================
--- /branches/bleeding_edge/src/heap.cc Thu Sep 22 06:54:53 2011
+++ /branches/bleeding_edge/src/heap.cc Thu Sep 22 10:10:40 2011
@@ -81,8 +81,8 @@
       reserved_semispace_size_(8 * Max(LUMP_OF_MEMORY, Page::kPageSize)),
       max_semispace_size_(8 * Max(LUMP_OF_MEMORY, Page::kPageSize)),
       initial_semispace_size_(Max(LUMP_OF_MEMORY, Page::kPageSize)),
-      max_old_generation_size_(1400ul * LUMP_OF_MEMORY),
-      max_executable_size_(256l * LUMP_OF_MEMORY),
+      max_old_generation_size_(700ul * LUMP_OF_MEMORY),
+      max_executable_size_(128l * LUMP_OF_MEMORY),

 // Variables set based on semispace_size_ and old_generation_size_ in
// ConfigureHeap (survived_since_last_expansion_, external_allocation_limit_)
=======================================
--- /branches/bleeding_edge/src/spaces-inl.h    Mon Sep 19 11:36:47 2011
+++ /branches/bleeding_edge/src/spaces-inl.h    Thu Sep 22 10:10:40 2011
@@ -251,14 +251,13 @@
 // not contain slow case logic (eg, move to the next page or try free list
// allocation) so it can be used by all the allocation functions and for all
 // the paged spaces.
-HeapObject* PagedSpace::AllocateLinearly(AllocationInfo* alloc_info,
-                                         int size_in_bytes) {
-  Address current_top = alloc_info->top;
+HeapObject* PagedSpace::AllocateLinearly(int size_in_bytes) {
+  Address current_top = allocation_info_.top;
   Address new_top = current_top + size_in_bytes;
-  if (new_top > alloc_info->limit) return NULL;
-
-  alloc_info->top = new_top;
-  ASSERT(alloc_info->VerifyPagedAllocation());
+  if (new_top > allocation_info_.limit) return NULL;
+
+  allocation_info_.top = new_top;
+  ASSERT(allocation_info_.VerifyPagedAllocation());
   ASSERT(current_top != NULL);
   return HeapObject::FromAddress(current_top);
 }
@@ -268,7 +267,7 @@
 MaybeObject* PagedSpace::AllocateRaw(int size_in_bytes) {
   ASSERT(HasBeenSetup());
   ASSERT_OBJECT_SIZE(size_in_bytes);
-  HeapObject* object = AllocateLinearly(&allocation_info_, size_in_bytes);
+  HeapObject* object = AllocateLinearly(size_in_bytes);
   if (object != NULL) {
     if (identity() == CODE_SPACE) {
       SkipList::Update(object->address(), size_in_bytes);
=======================================
--- /branches/bleeding_edge/src/spaces.cc       Thu Sep 22 09:01:35 2011
+++ /branches/bleeding_edge/src/spaces.cc       Thu Sep 22 10:10:40 2011
@@ -764,15 +764,6 @@
 void PagedSpace::Shrink() {
   // TODO(1614) Not implemented.
 }
-
-
-bool PagedSpace::EnsureCapacity(int capacity) {
-  while (Capacity() < capacity) {
- // Expand the space until it has the required capacity or expansion fails.
-    if (!Expand()) return false;
-  }
-  return true;
-}


 #ifdef DEBUG
=======================================
--- /branches/bleeding_edge/src/spaces.h        Thu Sep 22 09:01:35 2011
+++ /branches/bleeding_edge/src/spaces.h        Thu Sep 22 10:10:40 2011
@@ -1505,9 +1505,6 @@
   // Releases half of unused pages.
   void Shrink();

- // Ensures that the capacity is at least 'capacity'. Returns false on failure.
-  bool EnsureCapacity(int capacity);
-
   // The dummy page that anchors the linked list of pages.
   Page* anchor() { return &anchor_; }

@@ -1626,8 +1623,7 @@

// Generic fast case allocation function that tries linear allocation at the
   // address denoted by top in allocation_info_.
-  inline HeapObject* AllocateLinearly(AllocationInfo* alloc_info,
-                                      int size_in_bytes);
+  inline HeapObject* AllocateLinearly(int size_in_bytes);

   // Slow path of AllocateRaw.  This function is space-dependent.
   MUST_USE_RESULT virtual HeapObject* SlowAllocateRaw(int size_in_bytes);
=======================================
--- /branches/bleeding_edge/test/mjsunit/mjsunit.status Wed Sep 21 02:58:40 2011 +++ /branches/bleeding_edge/test/mjsunit/mjsunit.status Thu Sep 22 10:10:40 2011
@@ -38,6 +38,9 @@
 # NewGC: http://code.google.com/p/v8/issues/detail?id=1701
 array-join: SKIP

+# NewGC: BUG(1719) slow to collect arrays over several contexts.
+regress/regress-524: SKIP
+
##############################################################################
 # Too slow in debug mode with --stress-opt
 compiler/regress-stacktrace-methods: PASS, SKIP if $mode == debug

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

Reply via email to