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.