Status
LuaJIT
Status
LuaJIT
Download »
Installation
Running
Extensions
FFI Library
FFI Tutorial
ffi.* API
FFI Semantics
jit.* Library
Lua/C API
Profiler
Status
Changes
FAQ
Performance »
Wiki »
Mailing List »
LuaJIT 2.0 is the current
stable branch. This branch is in
feature-freeze — new features will only be added to LuaJIT 2.1.
Current Status
LuaJIT ought to run all Lua 5.1-compatible source code just fine.
It's considered a serious bug if the VM crashes or produces unexpected
results — please report this.
Known incompatibilities and issues in LuaJIT 2.0:
There are some differences in implementation-defined behavior.
These either have a good reason, are arbitrary design choices
or are due to quirks in the VM. The latter cases may get fixed if a
demonstrable need is shown.
The Lua debug API is missing a couple of features (return
hooks for non-Lua functions) and shows slightly different behavior
in LuaJIT (no per-coroutine hooks, no tail call counting).
Currently some out-of-memory errors from on-trace code are not
handled correctly. The error may fall through an on-trace
pcall or it may be passed on to the function set with
lua_atpanic on x64. This issue will be fixed with the new
garbage collector.
LuaJIT on 64 bit systems provides a limited range of 47 bits for the
legacy lightuserdata data type.
This is only relevant on x64 systems which use the negative part of the
virtual address space in user mode, e.g. Solaris/x64, and on ARM64 systems
configured with a 48 bit or 52 bit VA.
Avoid using lightuserdata to hold pointers that may point outside
of that range, e.g. variables on the stack. In general, avoid this data
type for new code and replace it with (much more performant) FFI bindings.
FFI cdata pointers can address the full 64 bit range.
Copyright © 2005-2018
·
Contact