Skip to content

Conversation

@KristofferC
Copy link
Member

(cherry picked from commit 6fa0e75)

@xal-0 do you think it makes sense to put this into 1.12.

Ports our RTDyLD memory manager to JITLink in order to avoid memory use
regressions after switching to JITLink everywhere (#60031). This is a
direct port: finalization must happen all at once, because it
invalidates all allocation `wr_ptr`s. I decided it wasn't worth it to
associate `OnFinalizedFunction` callbacks with each block, since they
are large enough to make it extremely likely that all in-flight
allocations land in the same block; everything must be relocated before
finalization can happen.

(cherry picked from commit 6fa0e75)
@xal-0
Copy link
Member

xal-0 commented Nov 19, 2025

Without #60117, the only benefit is to non-macOS platforms where we use JITLink (aarch64 linux, riscv32/64 linux). I suppose that could be reason enough, since they are often very memory constrained.

@KristofferC KristofferC marked this pull request as draft November 20, 2025 20:02
@KristofferC KristofferC added the DO NOT MERGE Do not merge this PR! label Nov 20, 2025
@KristofferC KristofferC changed the title release-1.12: Add JLJITLinkMemoryManager (ports memory manager to JITLink) (#60105) release-1.12: backport memory improvements Nov 20, 2025
@giordano
Copy link
Member

Note that #60105 was reverted in #60196 because it caused troubles on some aarch64-darwin systems, most notably GitHub Actions, making Julia hang at startup. I believe @xal-0 is looking into the issue, but this should really wait for a re-land of #60105.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DO NOT MERGE Do not merge this PR!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants