[gambit-list] scheme on llvm

Arnaud Bergeron abergeron at gmail.com
Sun Feb 15 17:12:29 EST 2009


2009/2/15 Marc Feeley <feeley at iro.umontreal.ca>:
>
> On 15-Feb-09, at 12:47 AM, lowly coder wrote:
>
>> this is kinda off topic, -- but people here seem really smart, so I'll
>> risk the occasional flames for good criticism + insight
>>
>> i think the llvm/jvm projects are really cool, since so much work is put
>> into jitting; and for one reason or another, I like llvm more than jvm
>>
>> i'm curious about the possiblity of a high performance scheme (and perhaps
>> gambit in particular) running on llvm; where the 'initial implementation'
>> may not be all that fast ... but letting llvm jit it away
>>
>> how does this sound? feasible for a scheme (but not gambit)? down the
>> pipes planned for gambit? or totally stupid/crazy?
>>
>> the 'main' advantage of this approach is that I _assume_ that the llvm
>> guys are pretty good at hacking up interpreters / jit's ... so why not
>> benefit from their constant progress :-D
>
> I had a group of students implement a LLVM backend for Gambit in one of the
> courses I teach (compilers).  I'm CCing them.  Perhaps they can give you
> more information and add their code to the dumping grounds.  I also had a
> student write a Scheme to CLR compiler which can bootstrap itself.
>
> Marc

We did a partial back-end for Gambit using LLVM and were just a little
bit faster for the benchmarks I tried.  Although, in all cases the
speed difference could well be credited to some part not being
implemented properly and thus requiring less work.

I have some plans to take the implementation in another direction, to
ease the expression of the various gambit back-end statements.  I have
not done any work on this yet.  As for the code we did, it is
incomplete, but I have no objection to it being posted on the dumping
grounds, but I have no place to host it.  I can send you the code if
you are interested.

Also, the back-end we did was only for static compiling.  Although
once I get back in it and maybe get it to work solidly, it could be
used for gsi too.  Don't hold your breath for now though.

Arnaud



More information about the Gambit-list mailing list