Revision: 18707
Author:   [email protected]
Date:     Tue Jan 21 11:48:51 2014 UTC
Log:      Move the temporary private freelist closer to where it's used

BUG=v8:3104
[email protected]
LOG=n

Review URL: https://codereview.chromium.org/143193002
http://code.google.com/p/v8/source/detail?r=18707

Modified:
 /branches/bleeding_edge/src/mark-compact.cc
 /branches/bleeding_edge/src/mark-compact.h
 /branches/bleeding_edge/src/sweeper-thread.cc
 /branches/bleeding_edge/src/sweeper-thread.h

=======================================
--- /branches/bleeding_edge/src/mark-compact.cc Tue Jan 21 11:41:18 2014 UTC
+++ /branches/bleeding_edge/src/mark-compact.cc Tue Jan 21 11:48:51 2014 UTC
@@ -3976,18 +3976,18 @@
 }


-void MarkCompactCollector::SweepInParallel(PagedSpace* space,
-                                           FreeList* private_free_list) {
+void MarkCompactCollector::SweepInParallel(PagedSpace* space) {
   PageIterator it(space);
   FreeList* free_list = space == heap()->old_pointer_space()
                             ? free_list_old_pointer_space_.get()
                             : free_list_old_data_space_.get();
+  FreeList private_free_list(space);
   while (it.has_next()) {
     Page* p = it.next();

     if (p->TryParallelSweeping()) {
-      SweepConservatively<SWEEP_IN_PARALLEL>(space, private_free_list, p);
-      free_list->Concatenate(private_free_list);
+      SweepConservatively<SWEEP_IN_PARALLEL>(space, &private_free_list, p);
+      free_list->Concatenate(&private_free_list);
     }
   }
 }
=======================================
--- /branches/bleeding_edge/src/mark-compact.h  Tue Jan 21 11:41:18 2014 UTC
+++ /branches/bleeding_edge/src/mark-compact.h  Tue Jan 21 11:48:51 2014 UTC
@@ -717,8 +717,7 @@
   MarkingParity marking_parity() { return marking_parity_; }

   // Concurrent and parallel sweeping support.
-  void SweepInParallel(PagedSpace* space,
-                       FreeList* private_free_list);
+  void SweepInParallel(PagedSpace* space);

   void WaitUntilSweepingCompleted();

=======================================
--- /branches/bleeding_edge/src/sweeper-thread.cc Tue Jan 21 11:41:18 2014 UTC +++ /branches/bleeding_edge/src/sweeper-thread.cc Tue Jan 21 11:48:51 2014 UTC
@@ -44,10 +44,7 @@
        collector_(heap_->mark_compact_collector()),
        start_sweeping_semaphore_(0),
        end_sweeping_semaphore_(0),
-       stop_semaphore_(0),
- private_free_list_old_data_space_(heap_->paged_space(OLD_DATA_SPACE)),
-       private_free_list_old_pointer_space_(
-           heap_->paged_space(OLD_POINTER_SPACE)) {
+       stop_semaphore_(0) {
   NoBarrier_Store(&stop_thread_, static_cast<AtomicWord>(false));
 }

@@ -66,10 +63,8 @@
       return;
     }

-    collector_->SweepInParallel(heap_->old_data_space(),
-                                &private_free_list_old_data_space_);
-    collector_->SweepInParallel(heap_->old_pointer_space(),
-                                &private_free_list_old_pointer_space_);
+    collector_->SweepInParallel(heap_->old_data_space());
+    collector_->SweepInParallel(heap_->old_pointer_space());
     end_sweeping_semaphore_.Signal();
   }
 }
=======================================
--- /branches/bleeding_edge/src/sweeper-thread.h Tue Jan 21 11:41:18 2014 UTC +++ /branches/bleeding_edge/src/sweeper-thread.h Tue Jan 21 11:48:51 2014 UTC
@@ -59,8 +59,6 @@
   Semaphore start_sweeping_semaphore_;
   Semaphore end_sweeping_semaphore_;
   Semaphore stop_semaphore_;
-  FreeList private_free_list_old_data_space_;
-  FreeList private_free_list_old_pointer_space_;
   volatile AtomicWord stop_thread_;
 };

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to