News for hackers. Stuff that matters.
Re:Copy-and-Patch Compilation: fast compilation algorithm fo... by thrtythreeforty on Sunday June 02, 2024 @11:14AM (#40554824)
I love this approach. Has any independent toolkit evolved to help do this? Or have all projects rolled their own?
Re:Copy-and-Patch Compilation: fast compilation algorithm fo... by fiddlerwoaroof on Sunday June 02, 2024 @12:28PM (#40555340)
I think libgccjit uses this technique or can use it: it reminds me of things I read about the elisp JIT in newer versions of emacs
Re:Copy-and-Patch Compilation: fast compilation algorithm fo... by samatman on Sunday June 02, 2024 @11:46AM (#40555054)
There's Deegen, which is being used to build a LuaJIT successor. https://github.com/luajit-remake/luajit-remake

From what I gather, Deegen is independent of the VM in that repo, but lives there afaik.

Re:Copy-and-Patch Compilation: fast compilation algorithm fo... by mrugiero on Sunday June 02, 2024 @12:04PM (#40555165)
I mailed the authors a few months ago and indeed, it lives there but is independent-ish. They don't consider it ready to use for anything else other than experiments, though.
Re:Copy-and-Patch Compilation: fast compilation algorithm fo... by samatman on Sunday June 02, 2024 @04:35PM (#40557047)
It is utterly baffling that people are downvoting this comment.

The repo I link to here is by Haoran Xu, one of the authors of the paper.

Y'all need to chill out.

Re:Copy-and-Patch Compilation: fast compilation algorithm fo... by ec109685 on Sunday June 02, 2024 @10:26PM (#40558846)
Blog post about the approach here: https://sillycross.github.io/2023/05/12/2023-05-12/
Re:Copy-and-Patch Compilation: fast compilation algorithm fo... by Iwan-Zotow on Sunday June 02, 2024 @11:23AM (#40554886)
Cpython in beta
Re:Copy-and-Patch Compilation: fast compilation algorithm fo... by thrtythreeforty on Sunday June 02, 2024 @11:35AM (#40554976)
Sure but from looking at the patches, it seems like theirs is tied into the CPython build and infrastructure. I am talking about a dedicated library which can be dropped into a variety of superprojects to help them implement a JIT.