We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 6f5f7cb commit e3e0369Copy full SHA for e3e0369
lld/MachO/Driver.cpp
@@ -303,10 +303,12 @@ void multiThreadedPageInBackground(const DeferredFiles &deferred) {
303
std::atomic_int index = 0;
304
305
parallelFor(0, config->readThreads, [&](size_t I) {
306
- while (index < (int)deferred.size()) {
307
- const StringRef &buff = deferred[index].buffer.getBuffer();
+ while (true) {
+ int localIndex = index.fetch_add(1);
308
+ if (localIndex >= (int)deferred.size())
309
+ break;
310
+ const StringRef &buff = deferred[localIndex].buffer.getBuffer();
311
totalBytes += buff.size();
- index += 1;
312
313
// Reference all file's mmap'd pages to load them into memory.
314
for (const char *page = buff.data(), *end = page + buff.size();
0 commit comments