jit: A header-only, cross-platform JIT compiler library in C. Targets x86-32, x86-64, ARM32 and ARM64

12 points by linkdd


thasso

I just took a second look at this project and it smells like LLM slop. The red flags are:

This is really sad to me. I don't want to have to investigate every project that's posted here to check if it's slop before engaging with it. I don't fundamentally object to (partially) vibe-coded projects, but this stuff is clearly so low-effort that it's insulting. At least put in some thought ...

EDIT: Another red flag is that the project claims to be things it it's, as was pointed out by ~olliej (it say it's cross-platform, but it's apparently not working on macOS and it says it's a JIT compiler, but it's more of a JIT assembler). This is something that would likely not happen to a human who engaged deeply with the technical details of the implementation.

pervognsen

As a C or C++ programmer, please never write code like this: https://c.godbolt.org/z/PbcnqjK5f. This isn't Rust where you have pervasive noalias guarantees. The type-based aliasing rules for char pointers in C and C++ are maximally permissive. You should default to being completely explicitly about where you want your loads and stores when writing C code. It's only for non-escaping local variables where you can safely assume the compiler will do an adequate job due to the provenance rules (the only legal way to read or write an object is through a derived pointer).

This particular example I noticed in the code base is especially sad because it's trying to do a host-neutral little-endian store to memory, which should turn into a nop on a little-endian host, but (in addition to the repeated reloads of j->buf and j->len) it ends up blocking that optimization opportunity as well.