This is a list of changes between the released versions of LuaJIT.
-The current stable version is LuaJIT 2.0.3.
+The current stable version is LuaJIT 2.0.4.
Please check the @@ -72,6 +72,56 @@
LuaJIT Change History
LuaJIT 2.0.4 — 2015-05-14
+-
+
- Fix stack check in narrowing optimization. +
- Fix Lua/C API typecheck error for special indexes. +
- Fix string to number conversion. +
- Fix lexer error for chunks without tokens. +
- Don't compile IR_RETF after CALLT to ff with-side effects. +
- Fix BC_UCLO/BC_JMP join optimization in Lua parser. +
- Fix corner case in string to number conversion. +
- Gracefully handle lua_error() for a suspended coroutine. +
- Avoid error messages when building with Clang. +
- Fix snapshot #0 handling for traces with a stack check on entry. +
- Fix fused constant loads under high register pressure. +
- Invalidate backpropagation cache after DCE. +
- Fix ABC elimination. +
- Fix debug info for main chunk of stripped bytecode. +
- Fix FOLD rule for string.sub(s, ...) == k. +
- Fix FOLD rule for STRREF of SNEW. +
- Fix frame traversal while searching for error function. +
- Prevent GC estimate miscalculation due to buffer growth. +
- Prevent adding side traces for stack checks. +
- Fix top slot calculation for snapshots with continuations. +
- Fix check for reuse of SCEV results in FORL. +
- Add PS Vita port. +
- Fix compatibility issues with Illumos. +
- Fix DragonFly build (unsupported). +
- OpenBSD/x86: Better executable memory allocation for W^X mode. +
- x86: Fix argument checks for ipairs() iterator. +
- x86: lj_math_random_step() clobbers XMM regs on OSX Clang. +
- x86: Fix code generation for unused result of math.random(). +
- x64: Allow building with LUAJIT_USE_SYSMALLOC and LUAJIT_USE_VALGRIND. +
- x86/x64: Fix argument check for bit shifts. +
- x86/x64: Fix code generation for fused test/arith ops. +
- ARM: Fix write barrier check in BC_USETS. +
- PPC: Fix red zone overflow in machine code generation. +
- PPC: Don't use mcrxr on PPE. +
- Various archs: Fix excess stack growth in interpreter. +
- FFI: Fix FOLD rule for TOBIT + CONV num.u32. +
- FFI: Prevent DSE across ffi.string(). +
- FFI: No meta fallback when indexing pointer to incomplete struct. +
- FFI: Fix initialization of unions of subtypes. +
- FFI: Fix cdata vs. non-cdata arithmetic and comparisons. +
- FFI: Fix __index/__newindex metamethod resolution for ctypes. +
- FFI: Fix compilation of reference field access. +
- FFI: Fix frame traversal for backtraces with FFI callbacks. +
- FFI: Fix recording of indexing a struct pointer ctype object itself. +
- FFI: Allow non-scalar cdata to be compared for equality by address. +
- FFI: Fix pseudo type conversions for type punning. +
LuaJIT 2.0.3 — 2014-03-12
- Add PS4 port. @@ -918,7 +968,7 @@
LuaJIT 1.0.0 — 2005-08-29
-Copyright © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall · Contact diff --git a/deps/luajit/doc/contact.html b/deps/luajit/doc/contact.html index 0483a829..0ef01a7c 100644 --- a/deps/luajit/doc/contact.html +++ b/deps/luajit/doc/contact.html @@ -4,7 +4,7 @@
Contact
Copyright
All documentation is -Copyright © 2005-2014 Mike Pall. +Copyright © 2005-2015 Mike Pall.
@@ -92,7 +92,7 @@Copyright
-Copyright © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall · Contact diff --git a/deps/luajit/doc/ext_c_api.html b/deps/luajit/doc/ext_c_api.html index 48503361..65981806 100644 --- a/deps/luajit/doc/ext_c_api.html +++ b/deps/luajit/doc/ext_c_api.html @@ -4,7 +4,7 @@
luaJIT_setmode(L, idx, LUAJIT_MODE_WRAPCFUNC|flag)
-Copyright © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall · Contact diff --git a/deps/luajit/doc/ext_ffi.html b/deps/luajit/doc/ext_ffi.html index fa9ca971..77b8e26c 100644 --- a/deps/luajit/doc/ext_ffi.html +++ b/deps/luajit/doc/ext_ffi.html @@ -4,7 +4,7 @@
Motivating Example: Using C Data Structures
-Copyright © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall · Contact diff --git a/deps/luajit/doc/ext_ffi_api.html b/deps/luajit/doc/ext_ffi_api.html index dcffcfa3..8f577e9f 100644 --- a/deps/luajit/doc/ext_ffi_api.html +++ b/deps/luajit/doc/ext_ffi_api.html @@ -4,7 +4,7 @@
Extensions to the Lua Parser
-Copyright © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall · Contact diff --git a/deps/luajit/doc/ext_ffi_semantics.html b/deps/luajit/doc/ext_ffi_semantics.html index 7e5f7035..c267b555 100644 --- a/deps/luajit/doc/ext_ffi_semantics.html +++ b/deps/luajit/doc/ext_ffi_semantics.html @@ -4,7 +4,7 @@
Current Status
-Copyright © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall · Contact diff --git a/deps/luajit/doc/ext_ffi_tutorial.html b/deps/luajit/doc/ext_ffi_tutorial.html index 01fb8992..8f99bfb1 100644 --- a/deps/luajit/doc/ext_ffi_tutorial.html +++ b/deps/luajit/doc/ext_ffi_tutorial.html @@ -4,7 +4,7 @@
To Cache or Not to Cache
individual C functions like this:-local funca, funcb = ffi.C.funcb, ffi.C.funcb -- Not helpful! +local funca, funcb = ffi.C.funca, ffi.C.funcb -- Not helpful! local function foo(x, n) for i=1,n do funcb(funca(x, i), 1) end end @@ -591,7 +591,7 @@To Cache or Not to Cache
-Copyright © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall · Contact diff --git a/deps/luajit/doc/ext_jit.html b/deps/luajit/doc/ext_jit.html index 098be5e0..27351dd6 100644 --- a/deps/luajit/doc/ext_jit.html +++ b/deps/luajit/doc/ext_jit.html @@ -4,7 +4,7 @@
jit.os
jit.arch
Contains the target architecture name: -"x86", "x64" or "ppcspe". +"x86", "x64", "arm", "ppc", "ppcspe", or "mips".
jit.opt.* — JIT compiler optimization control
@@ -189,7 +189,7 @@jit.util.* — JIT compiler introspection
-Copyright © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall · Contact diff --git a/deps/luajit/doc/extensions.html b/deps/luajit/doc/extensions.html index 20b597f1..e9cd136c 100644 --- a/deps/luajit/doc/extensions.html +++ b/deps/luajit/doc/extensions.html @@ -4,7 +4,7 @@
C++ Exception Interoperability
-Copyright © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall · Contact diff --git a/deps/luajit/doc/faq.html b/deps/luajit/doc/faq.html index ffc2ae89..9902f090 100644 --- a/deps/luajit/doc/faq.html +++ b/deps/luajit/doc/faq.html @@ -4,7 +4,7 @@
Frequently Asked Questions (FAQ)
-Copyright © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall · Contact diff --git a/deps/luajit/doc/install.html b/deps/luajit/doc/install.html index 2388ff33..7a878b1c 100644 --- a/deps/luajit/doc/install.html +++ b/deps/luajit/doc/install.html @@ -4,7 +4,7 @@
Installation
ARM9E+
PSP2 (PS VITA)
Prerequisites
and change to the newly created directory:-tar zxf LuaJIT-2.0.3.tar.gz -cd LuaJIT-2.0.3+tar zxf LuaJIT-2.0.4.tar.gz +cd LuaJIT-2.0.4
Building LuaJIT
The supplied Makefiles try to auto-detect the settings needed for your @@ -458,41 +458,56 @@
Cross-compiling LuaJIT
make HOST_CC="gcc -m32 -arch i386" CROSS=$ISDKP TARGET_FLAGS="$ISDKF" \ TARGET_SYS=iOS + +Cross-compiling for consoles
-You can cross-compile for PS3 using the PS3 SDK from -a Linux host or a Windows host (requires 32 bit MinGW (GCC) on the host, -too). Due to restrictions on consoles, the JIT compiler is disabled and -only the fast interpreter is built: +Building LuaJIT for consoles requires both a supported host compiler +(x86 or x64) and a cross-compiler (to PPC or ARM) from the official +console SDK.
--make HOST_CC="gcc -m32" CROSS=ppu-lv2- -
-You can cross-compile for PS4 from a Windows host using -the PS4 SDK (ORBIS) plus 64 bit MSVC. Due to restrictions on -consoles, the JIT compiler is disabled and only the fast interpreter -is built. +Due to restrictions on consoles, the JIT compiler is disabled and only +the fast interpreter is built. This is still faster than plain Lua, +but much slower than the JIT compiler. The FFI is disabled, too, since +it's not very useful in such an environment.
-Open a "Visual Studio .NET Command Prompt" (64 bit host compiler), -cd to the directory where you've unpacked the sources and run -the following commands. This builds a static library libluajit.a, +The following commands build a static library libluajit.a, which can be linked against your game, just like the Lua library.
++To cross-compile for PS3 from a Linux host (requires +32 bit GCC, i.e. multilib Linux/x64) or a Windows host (requires +32 bit MinGW), run this command: +
++make HOST_CC="gcc -m32" CROSS=ppu-lv2- ++
+To cross-compile for PS4 from a Windows host, +open a "Visual Studio .NET Command Prompt" (64 bit host compiler), +cd to the directory where you've unpacked the sources and +run the following commands: +
cd src ps4build
-You can cross-compile for Xbox 360 using the -Xbox 360 SDK (MSVC + XEDK). Due to restrictions on consoles, the -JIT compiler is disabled and only the fast interpreter is built. +To cross-compile for PS Vita from a Windows host, +open a "Visual Studio .NET Command Prompt" (32 bit host compiler), +cd to the directory where you've unpacked the sources and +run the following commands:
++cd src +psvitabuild +
-Open a "Visual Studio .NET Command Prompt" (32 bit host compiler), +To cross-compile for Xbox 360 from a Windows host, +open a "Visual Studio .NET Command Prompt" (32 bit host compiler), cd to the directory where you've unpacked the sources and run -the following commands. This builds a static library luajit20.lib, -which can be linked against your game, just like the Lua library. +the following commands:
cd src @@ -621,7 +636,7 @@Hints for Distribution Maintainers
-Copyright © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall · Contact diff --git a/deps/luajit/doc/luajit.html b/deps/luajit/doc/luajit.html index 43af69c9..45507c12 100644 --- a/deps/luajit/doc/luajit.html +++ b/deps/luajit/doc/luajit.html @@ -4,7 +4,7 @@
LuaJIT
It may be embedded or used as a general-purpose, stand-alone language.-LuaJIT is Copyright © 2005-2014 Mike Pall, released under the +LuaJIT is Copyright © 2005-2015 Mike Pall, released under the » MIT open source license.
@@ -158,7 +161,10 @@
Compatibility
Embedded | Android | iOS | PS3 | PS4 | Xbox 360 |
Embedded | Android | iOS |
PS3 | PS4 | PS Vita | Xbox 360 |
GCC | CLANG LLVM | MSVC |