@@ -152,9 +152,6 @@ class CompilationUnitQueues {
152
152
for (int task_id = 0 ; task_id < max_tasks; ++task_id) {
153
153
queues_[task_id].next_steal_task_id = next_task_id (task_id);
154
154
}
155
- for (auto & atomic_counter : num_units_) {
156
- std::atomic_init (&atomic_counter, size_t {0 });
157
- }
158
155
}
159
156
160
157
base::Optional<WasmCompilationUnit> GetNextUnit (
@@ -257,14 +254,15 @@ class CompilationUnitQueues {
257
254
};
258
255
259
256
struct BigUnitsQueue {
260
- BigUnitsQueue () {
261
- for (auto & atomic : has_units) std::atomic_init (&atomic, false );
262
- }
257
+ BigUnitsQueue () = default ;
263
258
264
259
base::Mutex mutex;
265
260
266
261
// Can be read concurrently to check whether any elements are in the queue.
267
- std::atomic<bool > has_units[kNumTiers ];
262
+ std::atomic_bool has_units[kNumTiers ] = {
263
+ ATOMIC_VAR_INIT (false ),
264
+ ATOMIC_VAR_INIT (false )
265
+ };
268
266
269
267
// Protected by {mutex}:
270
268
std::priority_queue<BigUnit> units[kNumTiers ];
@@ -273,8 +271,11 @@ class CompilationUnitQueues {
273
271
std::vector<Queue> queues_;
274
272
BigUnitsQueue big_units_queue_;
275
273
276
- std::atomic<size_t > num_units_[kNumTiers ];
277
- std::atomic<int > next_queue_to_add{0 };
274
+ std::atomic_size_t num_units_[kNumTiers ] = {
275
+ ATOMIC_VAR_INIT (0 ),
276
+ ATOMIC_VAR_INIT (0 )
277
+ };
278
+ std::atomic_int next_queue_to_add{0 };
278
279
279
280
int next_task_id (int task_id) const {
280
281
int next = task_id + 1 ;
@@ -470,7 +471,7 @@ class CompilationStateImpl {
470
471
471
472
// Compilation error, atomically updated. This flag can be updated and read
472
473
// using relaxed semantics.
473
- std::atomic< bool > compile_failed_{false };
474
+ std::atomic_bool compile_failed_{false };
474
475
475
476
const int max_background_tasks_ = 0 ;
476
477
0 commit comments