Running Compiled Guile Objects

Maxime Devos maximedevos@telenet.be
Sat Dec 14 23:43:10 GMT 2024


>> Those willing to contribute a proper ahead-of-time compiler to GNU
>> guile could use the GNU CC libgccjit library which is part of the GCC
>> compiler.
>> https://gcc.gnu.org/onlinedocs/jit/
>
>...and https://gcc.gnu.org/wiki/JIT
>
>Indeed, it turns out that everyone using libgccjit is using it for
>ahead-of-time compilation, rather than jit-compilation.  Sorry about
>picking a bad name :)

Are we talking about implementing a ‘to machine code’ compiler for Guile, or about implementing an ‘AOT to machine code’? Guile already has the former – it has a JIT (bytecode -> machine code) for some systems.

For what it’s worth -- I never worked with libgccjit or with the JIT code of Guile:

I imagine a basic (POC) AOT approach for Guile would be to let it compile AOT – with the JIT implementation, except adjusted to be relocatable and to add relocation information. As far as I can tell, libgccjit does not seem to support relocations and doesn’t say anything about whether the results are position-independent or not (so not suitable fo AOT), though presumably there are ways around that given the existence of gccemacs.

Best regards,
Maxime Devos
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://gcc.gnu.org/pipermail/jit/attachments/20241215/ff60c933/attachment.htm>


More information about the Jit mailing list