Re-enable parallel pointer updates.
BUG=chromium:578883 LOG=NO Review URL: https://codereview.chromium.org/1811653002 Cr-Commit-Position: refs/heads/master@{#34838}
This commit is contained in:
parent
dddb12c4d6
commit
85ce1056fa
@ -94,8 +94,7 @@ Semaphore::~Semaphore() {
|
||||
|
||||
void Semaphore::Signal() {
|
||||
int result = sem_post(&native_handle_);
|
||||
DCHECK_EQ(0, result);
|
||||
USE(result);
|
||||
CHECK_EQ(0, result);
|
||||
}
|
||||
|
||||
|
||||
|
@ -693,7 +693,7 @@ DEFINE_INT(max_incremental_marking_finalization_rounds, 3,
|
||||
DEFINE_BOOL(black_allocation, false, "use black allocation")
|
||||
DEFINE_BOOL(concurrent_sweeping, true, "use concurrent sweeping")
|
||||
DEFINE_BOOL(parallel_compaction, true, "use parallel compaction")
|
||||
DEFINE_BOOL(parallel_pointer_update, false,
|
||||
DEFINE_BOOL(parallel_pointer_update, true,
|
||||
"use parallel pointer update during compaction")
|
||||
DEFINE_BOOL(trace_incremental_marking, false,
|
||||
"trace progress of the incremental marking")
|
||||
|
@ -3585,14 +3585,16 @@ int NumberOfPointerUpdateTasks(int pages) {
|
||||
|
||||
template <PointerDirection direction>
|
||||
void UpdatePointersInParallel(Heap* heap) {
|
||||
PageParallelJob<PointerUpdateJobTraits<direction> > job(
|
||||
heap, heap->isolate()->cancelable_task_manager());
|
||||
PageParallelJob<PointerUpdateJobTraits<direction> >* job =
|
||||
new PageParallelJob<PointerUpdateJobTraits<direction> >(
|
||||
heap, heap->isolate()->cancelable_task_manager());
|
||||
RememberedSet<direction>::IterateMemoryChunks(
|
||||
heap, [&job](MemoryChunk* chunk) { job.AddPage(chunk, 0); });
|
||||
heap, [job](MemoryChunk* chunk) { job->AddPage(chunk, 0); });
|
||||
PointersUpdatingVisitor visitor(heap);
|
||||
int num_pages = job.NumberOfPages();
|
||||
int num_pages = job->NumberOfPages();
|
||||
int num_tasks = NumberOfPointerUpdateTasks(num_pages);
|
||||
job.Run(num_tasks, [&visitor](int i) { return &visitor; });
|
||||
job->Run(num_tasks, [&visitor](int i) { return &visitor; });
|
||||
delete job;
|
||||
}
|
||||
|
||||
void MarkCompactCollector::UpdatePointersAfterEvacuation() {
|
||||
|
Loading…
Reference in New Issue
Block a user