logoalt Hacker News

Retrofitting JIT Compilers into C Interpreters

25 pointsby ltrattyesterday at 12:00 PM6 commentsview on HN

Comments

djwatson24today at 12:09 AM

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.

fuhsnnyesterday at 11:35 PM

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?

show 1 reply
sgbealyesterday at 12:36 PM

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.

show 1 reply
mwkaufmayesterday at 11:35 PM

TL;DR compile with a fork of LLVM that enables runtime IR tracing. Very clever!