lua-users home
lua-l archive

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


Ravi ( is a dialect of Lua 5.3 with LLVM based JIT
compiler and limited optional static typing.

I am pleased to announce that the alpha 0.11 release of Ravi is now
available. In this release there are following changes:

- It is now possible to annotate local variables and function
parameters as 'table' type. This helps the compiler generate
specialized bytecodes when the key is known to be an integer or a
string literal. As a result the JIT code generator is able to generate
more efficient code. There are no benchmarks as yet to assess the
performance improvements.
- Locals that are declared as 'table', 'integer[]' or 'number[]' must
now be initialized; uninitialized locals were causing segmentation
faults in the JITed code as the JIT compiler does not generate null
- A bug related to type checking of assignments was fixed.
- A null JIT implementation was added - this is now the default build
option. That is, by default the JIT compiler is not built; to enable
the JIT compiler you have to explicitly supply -DLLVM_JIT=ON or
-DGCC_JIT=ON options to cmake.
- As LLVM generated code in 64-bit Windows still cannot handle
longjmps properly, fixes were implemented to allow generation of
32-bit binaries; performance of the 32-binary is degraded compared to

For full details please see: