-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Switch to using
orc::ObjectLinkingLayer
and a smaller code model on…
… Darwin This change is inspired by this comment [0], switching our linking layer to the newer one as recommended by [1]. With these changes, I can pass the `Distributions` test suite on aarch64 darwin, and so it appears it fixes at least one of the segfault issues noted on apple silicon. [0] #41440 (comment) [1] https://llvm.org/docs/JITLink.html#jitlink-and-objectlinkinglayer
- Loading branch information
1 parent
55ad2f0
commit 4d6ebfb
Showing
2 changed files
with
9 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4d6ebfb
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apologies for the drive-by comment – just saw this linked from #41440 –, but isn't the conditional in jitlayers.h backwards?
4d6ebfb
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, you're completely right. :)
This commit is completely wrong; the segfault was not fixed by this, and indeed if you fix the conditional, it reveals a bunch of other pieces of code that need to change to properly integrate
ObjectLinkingLayer
. I'm not the best person to work on this, as I'm not super familiar with the LLVM code, but I have an M1 machine, so I have a vested interest. :)4d6ebfb
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm similarly not an expert, but have an interest in getting native M1 builds usable – while I'm reasonably familiar with LLVM, I haven't worked with the JIT code much at all. At first glance, it seems like the sticking point will be the custom memory manager implementation. I might have a few hours to spare on this during the Christmas break – What would be the best point to coordinate efforts on this?
4d6ebfb
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably the #internals channel on the JuliaLang public slack