Alex Sandro Queiroz e Silva wrote:
There is also generation of machine code at runtime for several
architectures.
Well, to be picky, Gambit's C backend also allows generation of machine code at runtime (you have tried |compile-file| and |load|, haven't you?); I guess what you mean to say is that LLVM would allow to avoid writing machine code to a file before loading it into the process memory.
That alone wouldn't buy you anything really, right? Writing to a file isn't a performance bottleneck and you usually want to cache, and equally importantly, share between multiple processes, the generated code anyway.
Only if you were wanting to create new assembly code *very* quickly on demand, i.e. JVM hotspot alike technology, a write-to-file-and-map-it approach would become a hindrance (and you couldn't mutate the files if they are being in use by multiple processes concurrently without taking adequate precautions). But one reason for the JVM to need fast generation of assembly is because it doesn't cache it on disk.
Christian.