[gambit-list] gambit + llvm

Christian Jaeger christian at pflanze.mine.nu
Mon Sep 22 11:29:30 EDT 2008


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.




More information about the Gambit-list mailing list