Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(182)

Side by Side Diff: src/heap/page-parallel-job.h

Issue 2798333002: [heap] Fix page promotions tests (Closed)
Patch Set: Address comment Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/heap/mark-compact.h ('k') | test/cctest/heap/test-page-promotion.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_HEAP_PAGE_PARALLEL_JOB_ 5 #ifndef V8_HEAP_PAGE_PARALLEL_JOB_
6 #define V8_HEAP_PAGE_PARALLEL_JOB_ 6 #define V8_HEAP_PAGE_PARALLEL_JOB_
7 7
8 #include "src/allocation.h" 8 #include "src/allocation.h"
9 #include "src/cancelable-task.h" 9 #include "src/cancelable-task.h"
10 #include "src/utils.h" 10 #include "src/utils.h"
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 item = next; 56 item = next;
57 } 57 }
58 } 58 }
59 59
60 void AddPage(MemoryChunk* chunk, typename JobTraits::PerPageData data) { 60 void AddPage(MemoryChunk* chunk, typename JobTraits::PerPageData data) {
61 Item* item = new Item(chunk, data, items_); 61 Item* item = new Item(chunk, data, items_);
62 items_ = item; 62 items_ = item;
63 ++num_items_; 63 ++num_items_;
64 } 64 }
65 65
66 int NumberOfPages() { return num_items_; } 66 int NumberOfPages() const { return num_items_; }
67 67
68 // Returns the number of tasks that were spawned when running the job. 68 // Returns the number of tasks that were spawned when running the job.
69 int NumberOfTasks() { return num_tasks_; } 69 int NumberOfTasks() const { return num_tasks_; }
70 70
71 // Runs the given number of tasks in parallel and processes the previously 71 // Runs the given number of tasks in parallel and processes the previously
72 // added pages. This function blocks until all tasks finish. 72 // added pages. This function blocks until all tasks finish.
73 // The callback takes the index of a task and returns data for that task. 73 // The callback takes the index of a task and returns data for that task.
74 template <typename Callback> 74 template <typename Callback>
75 void Run(int num_tasks, Callback per_task_data_callback) { 75 void Run(int num_tasks, Callback per_task_data_callback) {
76 if (num_items_ == 0) return; 76 if (num_items_ == 0) return;
77 DCHECK_GE(num_tasks, 1); 77 DCHECK_GE(num_tasks, 1);
78 uint32_t task_ids[kMaxNumberOfTasks]; 78 uint32_t task_ids[kMaxNumberOfTasks];
79 const int max_num_tasks = Min( 79 const int max_num_tasks = Min(
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 int num_items_; 186 int num_items_;
187 int num_tasks_; 187 int num_tasks_;
188 base::Semaphore* pending_tasks_; 188 base::Semaphore* pending_tasks_;
189 DISALLOW_COPY_AND_ASSIGN(PageParallelJob); 189 DISALLOW_COPY_AND_ASSIGN(PageParallelJob);
190 }; 190 };
191 191
192 } // namespace internal 192 } // namespace internal
193 } // namespace v8 193 } // namespace v8
194 194
195 #endif // V8_HEAP_PAGE_PARALLEL_JOB_ 195 #endif // V8_HEAP_PAGE_PARALLEL_JOB_
OLDNEW
« no previous file with comments | « src/heap/mark-compact.h ('k') | test/cctest/heap/test-page-promotion.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698