[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