[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: [ANN] Ravi (a Lua 5.3 dialect) with LLVM JIT Compilation technology - Alpha Release 0.11
- From: Dibyendu Majumdar <mobile@...>
- Date: Sun, 15 Nov 2015 01:20:55 +0000
Hi,
Ravi (http://ravilang.org) 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
checks.
- 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
64-bit.
For full details please see:
https://github.com/dibyendumajumdar/ravi/releases
Regards