Those interested in this type of work can also visit https://cfallin.org/blog/2024/08/28/weval/. The difference is that they use this technique to derive an AOT compiler.
by fuhsnn
3 subcomments
Took me a while to figure out whether it's interpreters for C programs or if there's a particular class of interpreters called "C". Turns out it's about interpreters implemented in C that they use modified LLVM to do the retrofitting, but couldn't it be applicable for other languages with LLVM IR, or other switch-in-a-loop patterns in C?
by djwatson24
1 subcomments
It's quite impressive they're able to take nearly arbitrary C and do this! Very similar to what pypy is doing here, but for C, and not a python subset.
However not without downsides. It sounds like average code is only 2x faster than Lua, vs. LuaJit which is often 5-10x faster.
by pjmlp
0 subcomment
I find rather strange the complaint about compatibility across JIT implementations, there is exactly the same problem across any programming language with multiple implementations, interpreters, compilers, JIT, whatever.
by edmondx
0 subcomment
Sounds very promising. Although right now I’m working on a project together with MLIR.
by linzhangrun
0 subcomment
It's truly a good thing to see a project like this in the era of Vibe Coding taking flight :)
by sgbeal
1 subcomments
i tend to think of myself as a computing nerd, but posts like this one make me realize that i don't even rate on the computing nerd scale.
by measurablefunc
1 subcomments
Why do they need to change LLVM? Why can't they make this another LLVM IR pass?
by mwkaufma
1 subcomments
TL;DR compile with a fork of LLVM that enables runtime IR tracing. Very clever!