[PATCH] D110018: [lld-macho] Speed up markLive()

Vy Nguyen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 22 10:37:01 PDT 2021


oontvoo planned changes to this revision.
oontvoo marked 3 inline comments as done.
oontvoo added a comment.

In D110018#3009702 <https://reviews.llvm.org/D110018#3009702>, @int3 wrote:

> I'm a bit ambivalent about this change. The typical way that parallel mark-sweep is implemented is via a work-stealing queue. That way we have one lock per thread, instead of all threads contending on one lock. Granted this diff is already an improvement, but perhaps it would be best to implement the optimal solution right off the bat...

I was hoping for a easy fix here rather than an overhaul. But yeah, I guess it doesn't make a lot of sense to leave it half-done ...

Taking this off review queue to implement a proper concurrent mark-sweep



================
Comment at: lld/MachO/InputFiles.cpp:278
         // Copying requires less memory than constructing a fresh InputSection.
-        auto *copy = make<ConcatInputSection>(*isec);
+        auto copy = make<ConcatInputSection>(
+            segname, name, this, data.slice(0, recordSize), align, flags);
----------------
int3 wrote:
> why this change?
ConcatInputSection is no longer trivially copy-able.



Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D110018/new/

https://reviews.llvm.org/D110018



More information about the llvm-commits mailing list