lua-users home
lua-l archive

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


Hi,

I have implemented JIT compilation of additional Lua opcodes. The
latest status can be found at:

https://github.com/dibyendumajumdar/ravi/blob/master/readthedocs/ravi-jit-status.rst

I think that I should be able to complete this phase by April.

Two areas that will need further work are:

+ coroutines - not supported in JIT code
+ tail calls - currently implemented as ordinary calls

Additionally I need to ensure that the C API works correctly with the
extended opcodes supported by Ravi.

My current thinking is that the JIT compilation will be an optional
step. It can be invoked by calling:

ravi.compile(f)
  where f is a Lua function

For debugging and testing I have an auto mode that tries to compile
every function encountered - this suffers from performance issues as
compilation itself takes time.

I intend to allow following modes in Ravi:

+ Lua - in this mode only Lua 5.3 bytecodes will be supported
+ Ravi - in this mode extended opcodes will be supported

The JIT compiler will be available in both modes.

I am hoping to start making binary releases starting in May/June.

Thanks and Regards
Dibyendu