[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: An update on Ravi JIT compilation
- From: Dibyendu Majumdar <mobile@...>
- Date: Thu, 26 Mar 2015 23:33:53 +0000
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