Skip to content

Ravi (a Lua 5.3 dialect) Alpha Release 0.18 with LLVM JIT compilation support

Pre-release
Pre-release
Compare
Choose a tag to compare
@dibyendumajumdar dibyendumajumdar released this 04 Dec 20:55
· 1279 commits to master since this release

The principal changes in this release are:

  • Lua 5.3.3 Bug fixes ( issues #111 )
  • Bug fixes ( issues #106 #107 #108 )
  • Refactored implementation of table / table sub types to improve performance ( issue #100 )
  • Enable JIT compilation for all byte codes ( issue #105 )
  • Ravi has been tested against LLVM 3.9, 3.8 and 3.7. LLVM versions 3.6 and 3.5 should still work but has not been tested.

Build Info

  • On Windows this release was tested against LLVM 3.9.0 in 32-bit mode. The Windows 64-bit builds have known issues as stated below.
  • On Linux the build was tested against LLVM 3.7.0, 3.9.0.
  • On Mac OSX the build was tested against LLVM 3.8.0.

Known Issues

Please refer to the logged issues for known problems. In particular on Windows platforms the 64-bit JIT code does not handle longjmp/setjmp reliably due to limitations in LLVM 64-bit code generation on Windows. For details please refer to issue #30. As a workaround I am supplying 32-bit binaries for the Windows platform until the issue is resolved.

The 32-bit build on Windows fails to correctly perform bitwise operations when statically typed local variables are used (issue #74).

Please also refer to the Ravi documentation for a list of known differences between JIT mode and interpreted mode, and compatibility with Lua 5.3.