Experimenting with dmrC as backend for Lua

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I have a JIT implementation for Lua that uses LLVM. Creating the LLVM
IR by hand is tedious and error prone, as well as makes it harder to
implement things because it is difficult to make changes.

I have started a new implementation that generates C "assembler" code
and then uses dmrC to translate to machine code. This has several
practical advantages:

1. Much easier to understand and maintain the intermediate C code.
2. Can re-target to LLVM or another JIT engine - in my experiments I
am using NanoJIT to start with - without having to change the layer
that compiles from Lua to JIT!

Of course the added translation from C to the IR used by the JIT
engine is an extra step, and I have not yet benchmarked this against
hand-written IR.

This is still work in progress, but it is looking promising already.

One interesting thing is that the generated C code only has gotos - no
higher level structured programming concepts!


Regards
Dibyendu
--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Newbies FAQ]     [LKML]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Trinity Fuzzer Tool]

  Powered by Linux