summaryrefslogtreecommitdiff
path: root/Build/source/libs
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2014-03-14 09:24:13 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2014-03-14 09:24:13 +0000
commit9ecf4ee700006d8c49fce341a54ca743476d608c (patch)
tree967048a5271aad2903674fa327d1ca79587a49d9 /Build/source/libs
parent32097e31a3f812496f1e6a77aec9442f0e1b8138 (diff)
LuaJIT 2.0.3
git-svn-id: svn://tug.org/texlive/trunk@33172 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs')
-rw-r--r--Build/source/libs/README4
-rw-r--r--Build/source/libs/luajit/ChangeLog5
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/TL-Changes6
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/patch-02-unwind12
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/patch-03-OSX-build32
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/patch-04-NetBSD64-build13
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/ChangeLog (renamed from Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/ChangeLog)10
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/TL-Changes6
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/patch-01-LuaJITTeX (renamed from Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/patch-01-LuaJITTeX)48
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/patch-05-LuaJITTeX99
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/COPYRIGHT (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/COPYRIGHT)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/Makefile (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/Makefile)10
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/README (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/README)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/doc/bluequad-print.css (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/doc/bluequad-print.css)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/doc/bluequad.css (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/doc/bluequad.css)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/doc/changes.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/doc/changes.html)42
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/doc/contact.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/doc/contact.html)6
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_c_api.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/doc/ext_c_api.html)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/doc/ext_ffi.html)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi_api.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/doc/ext_ffi_api.html)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi_semantics.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/doc/ext_ffi_semantics.html)8
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi_tutorial.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/doc/ext_ffi_tutorial.html)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_jit.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/doc/ext_jit.html)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/doc/extensions.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/doc/extensions.html)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/doc/faq.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/doc/faq.html)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/doc/img/contact.png (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/doc/img/contact.png)bin1340 -> 1340 bytes
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/doc/install.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/doc/install.html)32
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/doc/luajit.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/doc/luajit.html)8
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/doc/running.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/doc/running.html)6
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/doc/status.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/doc/status.html)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_arm.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_arm.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_arm.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_arm.lua)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_mips.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_mips.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_mips.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_mips.lua)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_ppc.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_ppc.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_ppc.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_ppc.lua)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_proto.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_proto.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_x64.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_x64.lua)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_x86.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_x86.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_x86.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_x86.lua)14
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dynasm.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dynasm.lua)15
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/etc/luajit.1 (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/etc/luajit.1)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/etc/luajit.pc (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/etc/luajit.pc)7
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/Makefile (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/Makefile)17
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/Makefile.dep (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/Makefile.dep)8
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/host/README (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/host/README)0
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/host/buildvm.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/host/buildvm.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_asm.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/host/buildvm_asm.c)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_fold.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/host/buildvm_fold.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_lib.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/host/buildvm_lib.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_peobj.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/host/buildvm_peobj.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/host/genminilua.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/host/genminilua.lua)3
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/host/minilua.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/host/minilua.c)1
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/bc.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/bc.lua)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/bcsave.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/bcsave.lua)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_arm.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/dis_arm.lua)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_mips.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/dis_mips.lua)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_mipsel.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/dis_mipsel.lua)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_ppc.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/dis_ppc.lua)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_x64.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/dis_x64.lua)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_x86.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/dis_x86.lua)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dump.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/dump.lua)7
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/v.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/v.lua)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lauxlib.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lauxlib.h)0
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lbitlib.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lbitlib.c)0
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_aux.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_aux.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_base.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_base.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_bit.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_bit.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_debug.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_debug.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_ffi.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_ffi.c)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_init.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_init.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_io.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_io.c)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_jit.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_jit.c)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_math.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_math.c)14
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_os.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_os.c)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_package.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_package.c)5
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_string.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_string.c)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_table.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_table.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj.supp (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj.supp)0
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_alloc.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_alloc.c)11
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_alloc.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_alloc.h)0
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_api.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_api.c)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_arch.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_arch.h)13
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_asm.c)22
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_asm.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_arm.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_asm_arm.h)23
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_mips.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_asm_mips.h)7
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_ppc.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_asm_ppc.h)7
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_x86.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_asm_x86.h)7
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bc.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_bc.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bc.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_bc.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bcdump.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_bcdump.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bcread.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_bcread.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bcwrite.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_bcwrite.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_carith.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_carith.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_carith.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_carith.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccall.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ccall.c)7
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccall.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ccall.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccallback.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ccallback.c)7
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccallback.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ccallback.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cconv.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_cconv.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cconv.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_cconv.h)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cdata.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_cdata.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cdata.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_cdata.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_char.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_char.c)0
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_char.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_char.h)0
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_clib.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_clib.c)7
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_clib.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_clib.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cparse.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_cparse.c)24
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cparse.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_cparse.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_crecord.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_crecord.c)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_crecord.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_crecord.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ctype.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ctype.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ctype.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ctype.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_debug.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_debug.c)19
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_debug.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_debug.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_def.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_def.h)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_dispatch.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_dispatch.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_dispatch.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_dispatch.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_arm.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_emit_arm.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_mips.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_emit_mips.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_ppc.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_emit_ppc.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_x86.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_emit_x86.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_err.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_err.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_err.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_err.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_errmsg.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_errmsg.h)3
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ff.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ff.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ffrecord.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ffrecord.c)23
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ffrecord.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ffrecord.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_frame.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_frame.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_func.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_func.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_func.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_func.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gc.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_gc.c)18
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gc.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_gc.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gdbjit.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_gdbjit.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gdbjit.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_gdbjit.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ir.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ir.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ir.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ir.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ircall.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ircall.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_iropt.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_iropt.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_jit.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_jit.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lex.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_lex.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lex.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_lex.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lib.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_lib.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lib.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_lib.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_load.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_load.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_mcode.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_mcode.c)37
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_mcode.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_mcode.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_meta.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_meta.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_meta.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_meta.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_obj.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_obj.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_obj.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_obj.h)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_dce.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_opt_dce.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_fold.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_opt_fold.c)6
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_loop.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_opt_loop.c)33
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_mem.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_opt_mem.c)26
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_narrow.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_opt_narrow.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_sink.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_opt_sink.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_split.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_opt_split.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_parse.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_parse.c)6
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_parse.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_parse.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_record.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_record.c)15
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_record.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_record.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_snap.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_snap.c)13
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_snap.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_snap.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_state.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_state.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_state.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_state.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_str.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_str.c)55
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_str.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_str.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_strscan.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_strscan.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_strscan.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_strscan.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_tab.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_tab.c)9
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_tab.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_tab.h)5
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_target.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_arm.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_target_arm.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_mips.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_target_mips.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_ppc.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_target_ppc.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_x86.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_target_x86.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_trace.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_trace.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_trace.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_trace.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_traceerr.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_traceerr.h)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_udata.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_udata.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_udata.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_udata.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vm.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_vm.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vmevent.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_vmevent.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vmevent.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_vmevent.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vmmath.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_vmmath.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/ljamalg.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/ljamalg.c)6
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lua.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lua.h)3
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lua.hpp (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lua.hpp)0
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/luaconf.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/luaconf.h)51
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/luajit.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/luajit.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/luajit.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/luajit.h)10
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/lualib.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/lualib.h)2
-rwxr-xr-xBuild/source/libs/luajit/LuaJIT-2.0.3/src/msvcbuild.bat (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/msvcbuild.bat)12
-rwxr-xr-xBuild/source/libs/luajit/LuaJIT-2.0.3/src/ps4build.bat103
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_arm.dasc (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/vm_arm.dasc)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_mips.dasc (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/vm_mips.dasc)8
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_ppc.dasc (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/vm_ppc.dasc)6
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_ppcspe.dasc (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/vm_ppcspe.dasc)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_x86.dasc (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/vm_x86.dasc)4
-rwxr-xr-xBuild/source/libs/luajit/LuaJIT-2.0.3/src/xedkbuild.bat (renamed from Build/source/libs/luajit/LuaJIT-2.0.2/src/xedkbuild.bat)4
-rwxr-xr-xBuild/source/libs/luajit/configure26
-rwxr-xr-xBuild/source/libs/luajit/native/configure24
-rw-r--r--Build/source/libs/luajit/version.ac2
206 files changed, 878 insertions, 536 deletions
diff --git a/Build/source/libs/README b/Build/source/libs/README
index eded439165f..b0f7d5b9a11 100644
--- a/Build/source/libs/README
+++ b/Build/source/libs/README
@@ -37,8 +37,8 @@ libpng 1.6.9 - checked 7feb14
lua 5.2.3 - checked 7dec13
http://www.lua.org/ftp/
-luajit 2.0.2 - checked 6feb14
- http://luajit.org/download/LuaJIT-2.0.2.tar.gz
+luajit 2.0.3 - checked 14mar14
+ http://luajit.org/download/LuaJIT-2.0.3.tar.gz
pixman 0.32.4 - checked 18nov13
http://cairographics.org/releases/
diff --git a/Build/source/libs/luajit/ChangeLog b/Build/source/libs/luajit/ChangeLog
index 44648397ff0..5151bca4d32 100644
--- a/Build/source/libs/luajit/ChangeLog
+++ b/Build/source/libs/luajit/ChangeLog
@@ -1,3 +1,8 @@
+2014-03-14 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Import LuaJIT-2.0.3.
+ * version.ac: Adjust.
+
2014-03-13 Peter Breitenlohner <peb@mppmu.mpg.de>
* Makefile.am: Use LUAJIT_LDEXTRA when linking the test program.
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/TL-Changes b/Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/TL-Changes
deleted file mode 100644
index ca8323beeb0..00000000000
--- a/Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/TL-Changes
+++ /dev/null
@@ -1,6 +0,0 @@
-Changes applied to the LuaJIT-2.0.2/ tree as obtained from:
- ://luajit.org/download/LuaJIT-2.0.2.tar.gz
-
-Added:
- src/lbitlib.c
-
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/patch-02-unwind b/Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/patch-02-unwind
deleted file mode 100644
index 1251941fc63..00000000000
--- a/Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/patch-02-unwind
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur -x lbitlib.c LuaJIT-2.0.2.orig/src/lj_err.c LuaJIT-2.0.2/src/lj_err.c
---- LuaJIT-2.0.2.orig/src/lj_err.c 2013-06-03 21:00:00.000000000 +0200
-+++ LuaJIT-2.0.2/src/lj_err.c 2014-02-06 14:01:09.000000000 +0100
-@@ -196,7 +196,7 @@
- typedef struct _Unwind_Exception
- {
- uint64_t exclass;
-- void (*excleanup)(int, struct _Unwind_Exception);
-+ void (*excleanup)(int, struct _Unwind_Exception *);
- uintptr_t p1, p2;
- } __attribute__((__aligned__)) _Unwind_Exception;
-
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/patch-03-OSX-build b/Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/patch-03-OSX-build
deleted file mode 100644
index f7b437ee78d..00000000000
--- a/Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/patch-03-OSX-build
+++ /dev/null
@@ -1,32 +0,0 @@
-diff -ur -x lbitlib.c LuaJIT-2.0.2.orig/src/Makefile LuaJIT-2.0.2/src/Makefile
---- LuaJIT-2.0.2.orig/src/Makefile 2014-02-05 10:09:02.000000000 +0100
-+++ LuaJIT-2.0.2/src/Makefile 2014-02-07 09:53:10.000000000 +0100
-@@ -287,7 +287,9 @@
- endif
- TARGET_STRIP+= -x
- TARGET_AR+= 2>/dev/null
-- TARGET_XCFLAGS+= -fno-stack-protector
-+ ifeq (,$(shell $(TARGET_CC) -o /dev/null -c -x c /dev/null -fno-stack-protector 2>/dev/null || echo 1))
-+ TARGET_XCFLAGS+= -fno-stack-protector
-+ endif
- TARGET_XSHLDFLAGS= -dynamiclib -single_module -undefined dynamic_lookup -fPIC
- TARGET_DYNXLDOPTS=
- TARGET_XSHLDFLAGS+= -install_name $(TARGET_DYLIBPATH) -compatibility_version $(MAJVER).$(MINVER) -current_version $(MAJVER).$(MINVER).$(RELVER)
-diff -ur -x lbitlib.c LuaJIT-2.0.2.orig/src/vm_x86.dasc LuaJIT-2.0.2/src/vm_x86.dasc
---- LuaJIT-2.0.2.orig/src/vm_x86.dasc 2013-06-03 21:00:00.000000000 +0200
-+++ LuaJIT-2.0.2/src/vm_x86.dasc 2014-02-07 09:53:19.000000000 +0100
-@@ -6344,12 +6344,12 @@
- #if LJ_64
- "\t.byte 0xe\n\t.byte 16\n" /* def_cfa_offset */
- "\t.byte 0x86\n\t.byte 0x2\n" /* offset rbp */
-- "\t.byte 0xd\n\t.uleb128 0x6\n" /* def_cfa_register rbp */
-+ "\t.byte 0xd\n\t.byte 0x6\n" /* def_cfa_register rbp */
- "\t.byte 0x83\n\t.byte 0x3\n" /* offset rbx */
- #else
- "\t.byte 0xe\n\t.byte 8\n" /* def_cfa_offset */
- "\t.byte 0x84\n\t.byte 0x2\n" /* offset ebp (4 for MACH-O)*/
-- "\t.byte 0xd\n\t.uleb128 0x4\n" /* def_cfa_register ebp */
-+ "\t.byte 0xd\n\t.byte 0x4\n" /* def_cfa_register ebp */
- "\t.byte 0x83\n\t.byte 0x3\n" /* offset ebx */
- #endif
- "\t.align " BSZPTR "\n"
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/patch-04-NetBSD64-build b/Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/patch-04-NetBSD64-build
deleted file mode 100644
index 6fef9eaa22f..00000000000
--- a/Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/patch-04-NetBSD64-build
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ur -x lbitlib.c LuaJIT-2.0.2.orig/src/lj_alloc.c LuaJIT-2.0.2/src/lj_alloc.c
---- LuaJIT-2.0.2.orig/src/lj_alloc.c 2013-06-03 21:00:00.000000000 +0200
-+++ LuaJIT-2.0.2/src/lj_alloc.c 2014-02-23 14:10:01.000000000 +0100
-@@ -188,7 +188,8 @@
- return ptr;
- }
-
--#elif LJ_TARGET_OSX || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || defined(__sun__)
-+#elif LJ_TARGET_OSX || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || \
-+ defined(__NetBSD__) || defined(__OpenBSD__) || defined(__sun__)
-
- /* OSX and FreeBSD mmap() use a naive first-fit linear search.
- ** That's perfect for us. Except that -pagezero_size must be set for OSX,
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/ChangeLog b/Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/ChangeLog
index 32074fa2ab6..f57e15b4b73 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/ChangeLog
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/ChangeLog
@@ -1,3 +1,13 @@
+2014-03-14 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Import LuaJIT-2.0.3.
+
+ * patch-01-LuaJITTeX: Adapted.
+ * patch-05-LuaJITTeX (new): More changes from Luigi and Taco.
+
+ * patch-02-unwind, patch-03-OSX-build, patch-04-NetBSD64-build
+ (removed): Now in distribution.
+
2014-02-23 Peter Breitenlohner <peb@mppmu.mpg.de>
* patch-04-NetBSD64-build (new): Fix NetBSD/amd64 build from
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/TL-Changes b/Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/TL-Changes
new file mode 100644
index 00000000000..5dc36ee546f
--- /dev/null
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/TL-Changes
@@ -0,0 +1,6 @@
+Changes applied to the LuaJIT-2.0.3/ tree as obtained from:
+ http://luajit.org/download/LuaJIT-2.0.3.tar.gz
+
+Added:
+ src/lbitlib.c
+
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/patch-01-LuaJITTeX b/Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/patch-01-LuaJITTeX
index dd84fff1619..351a00f3c11 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2-PATCHES/patch-01-LuaJITTeX
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/patch-01-LuaJITTeX
@@ -1,6 +1,6 @@
-diff -ur LuaJIT-2.0.2.orig/src/Makefile LuaJIT-2.0.2/src/Makefile
---- LuaJIT-2.0.2.orig/src/Makefile 2013-06-03 21:00:00.000000000 +0200
-+++ LuaJIT-2.0.2/src/Makefile 2014-02-05 10:09:02.000000000 +0100
+diff -ur -x lbitlib.c LuaJIT-2.0.3.orig/src/Makefile LuaJIT-2.0.3/src/Makefile
+--- LuaJIT-2.0.3.orig/src/Makefile 2014-03-12 13:10:00.000000000 +0100
++++ LuaJIT-2.0.3/src/Makefile 2014-03-14 09:15:50.000000000 +0100
@@ -100,7 +100,7 @@
# enabled by default. Some other features that *might* break some existing
# code (e.g. __pairs or os.execute() return values) can be enabled here.
@@ -10,7 +10,7 @@ diff -ur LuaJIT-2.0.2.orig/src/Makefile LuaJIT-2.0.2/src/Makefile
#
# Disable the JIT compiler, i.e. turn LuaJIT into a pure interpreter.
#XCFLAGS+= -DLUAJIT_DISABLE_JIT
-@@ -441,7 +441,7 @@
+@@ -450,7 +450,7 @@
LJVM_BOUT= $(LJVM_S)
LJVM_MODE= elfasm
@@ -19,9 +19,9 @@ diff -ur LuaJIT-2.0.2.orig/src/Makefile LuaJIT-2.0.2/src/Makefile
lib_io.o lib_os.o lib_package.o lib_debug.o lib_jit.o lib_ffi.o
LJLIB_C= $(LJLIB_O:.o=.c)
-diff -ur LuaJIT-2.0.2.orig/src/Makefile.dep LuaJIT-2.0.2/src/Makefile.dep
---- LuaJIT-2.0.2.orig/src/Makefile.dep 2013-06-03 21:00:00.000000000 +0200
-+++ LuaJIT-2.0.2/src/Makefile.dep 2014-02-05 10:09:02.000000000 +0100
+diff -ur -x lbitlib.c LuaJIT-2.0.3.orig/src/Makefile.dep LuaJIT-2.0.3/src/Makefile.dep
+--- LuaJIT-2.0.3.orig/src/Makefile.dep 2014-03-12 13:10:00.000000000 +0100
++++ LuaJIT-2.0.3/src/Makefile.dep 2014-03-14 09:15:50.000000000 +0100
@@ -6,6 +6,7 @@
lj_tab.h lj_meta.h lj_state.h lj_ctype.h lj_cconv.h lj_bc.h lj_ff.h \
lj_ffdef.h lj_dispatch.h lj_jit.h lj_ir.h lj_char.h lj_strscan.h \
@@ -30,9 +30,9 @@ diff -ur LuaJIT-2.0.2.orig/src/Makefile.dep LuaJIT-2.0.2/src/Makefile.dep
lib_bit.o: lib_bit.c lua.h luaconf.h lauxlib.h lualib.h lj_obj.h lj_def.h \
lj_arch.h lj_err.h lj_errmsg.h lj_str.h lj_lib.h lj_libdef.h
lib_debug.o: lib_debug.c lua.h luaconf.h lauxlib.h lualib.h lj_obj.h \
-diff -ur LuaJIT-2.0.2.orig/src/lauxlib.h LuaJIT-2.0.2/src/lauxlib.h
---- LuaJIT-2.0.2.orig/src/lauxlib.h 2013-06-03 21:00:00.000000000 +0200
-+++ LuaJIT-2.0.2/src/lauxlib.h 2014-02-05 10:09:02.000000000 +0100
+diff -ur -x lbitlib.c LuaJIT-2.0.3.orig/src/lauxlib.h LuaJIT-2.0.3/src/lauxlib.h
+--- LuaJIT-2.0.3.orig/src/lauxlib.h 2014-03-12 13:10:00.000000000 +0100
++++ LuaJIT-2.0.3/src/lauxlib.h 2014-03-14 09:15:50.000000000 +0100
@@ -86,6 +86,32 @@
int level);
@@ -66,9 +66,9 @@ diff -ur LuaJIT-2.0.2.orig/src/lauxlib.h LuaJIT-2.0.2/src/lauxlib.h
/*
** ===============================================================
** some useful macros
-diff -ur LuaJIT-2.0.2.orig/src/lib_init.c LuaJIT-2.0.2/src/lib_init.c
---- LuaJIT-2.0.2.orig/src/lib_init.c 2013-06-03 21:00:00.000000000 +0200
-+++ LuaJIT-2.0.2/src/lib_init.c 2014-02-05 10:09:02.000000000 +0100
+diff -ur -x lbitlib.c LuaJIT-2.0.3.orig/src/lib_init.c LuaJIT-2.0.3/src/lib_init.c
+--- LuaJIT-2.0.3.orig/src/lib_init.c 2014-03-12 13:10:00.000000000 +0100
++++ LuaJIT-2.0.3/src/lib_init.c 2014-03-14 09:15:50.000000000 +0100
@@ -26,6 +26,7 @@
{ LUA_DBLIBNAME, luaopen_debug },
{ LUA_BITLIBNAME, luaopen_bit },
@@ -77,10 +77,10 @@ diff -ur LuaJIT-2.0.2.orig/src/lib_init.c LuaJIT-2.0.2/src/lib_init.c
{ NULL, NULL }
};
-diff -ur LuaJIT-2.0.2.orig/src/lib_package.c LuaJIT-2.0.2/src/lib_package.c
---- LuaJIT-2.0.2.orig/src/lib_package.c 2013-06-03 21:00:00.000000000 +0200
-+++ LuaJIT-2.0.2/src/lib_package.c 2014-02-05 10:09:02.000000000 +0100
-@@ -357,6 +357,29 @@
+diff -ur -x lbitlib.c LuaJIT-2.0.3.orig/src/lib_package.c LuaJIT-2.0.3/src/lib_package.c
+--- LuaJIT-2.0.3.orig/src/lib_package.c 2014-03-12 13:10:00.000000000 +0100
++++ LuaJIT-2.0.3/src/lib_package.c 2014-03-14 09:15:50.000000000 +0100
+@@ -354,6 +354,29 @@
return 1; /* library loaded successfully */
}
@@ -110,7 +110,7 @@ diff -ur LuaJIT-2.0.2.orig/src/lib_package.c LuaJIT-2.0.2/src/lib_package.c
static int lj_cf_package_loader_croot(lua_State *L)
{
const char *filename;
-@@ -376,6 +399,21 @@
+@@ -373,6 +396,21 @@
return 1;
}
@@ -132,9 +132,9 @@ diff -ur LuaJIT-2.0.2.orig/src/lib_package.c LuaJIT-2.0.2/src/lib_package.c
static int lj_cf_package_loader_preload(lua_State *L)
{
const char *name = luaL_checkstring(L, 1);
-diff -ur LuaJIT-2.0.2.orig/src/lua.h LuaJIT-2.0.2/src/lua.h
---- LuaJIT-2.0.2.orig/src/lua.h 2013-06-03 21:00:00.000000000 +0200
-+++ LuaJIT-2.0.2/src/lua.h 2014-02-05 10:09:02.000000000 +0100
+diff -ur -x lbitlib.c LuaJIT-2.0.3.orig/src/lua.h LuaJIT-2.0.3/src/lua.h
+--- LuaJIT-2.0.3.orig/src/lua.h 2014-03-12 13:10:00.000000000 +0100
++++ LuaJIT-2.0.3/src/lua.h 2014-03-14 09:15:50.000000000 +0100
@@ -348,6 +348,16 @@
const char *chunkname, const char *mode);
@@ -152,9 +152,9 @@ diff -ur LuaJIT-2.0.2.orig/src/lua.h LuaJIT-2.0.2/src/lua.h
struct lua_Debug {
int event;
const char *name; /* (n) */
-diff -ur LuaJIT-2.0.2.orig/src/lualib.h LuaJIT-2.0.2/src/lualib.h
---- LuaJIT-2.0.2.orig/src/lualib.h 2013-06-03 21:00:00.000000000 +0200
-+++ LuaJIT-2.0.2/src/lualib.h 2014-02-05 10:09:02.301703093 +0100
+diff -ur -x lbitlib.c LuaJIT-2.0.3.orig/src/lualib.h LuaJIT-2.0.3/src/lualib.h
+--- LuaJIT-2.0.3.orig/src/lualib.h 2014-03-12 13:10:00.000000000 +0100
++++ LuaJIT-2.0.3/src/lualib.h 2014-03-14 09:15:50.000000000 +0100
@@ -22,6 +22,8 @@
#define LUA_JITLIBNAME "jit"
#define LUA_FFILIBNAME "ffi"
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/patch-05-LuaJITTeX b/Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/patch-05-LuaJITTeX
new file mode 100644
index 00000000000..d1e95b59f06
--- /dev/null
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/patch-05-LuaJITTeX
@@ -0,0 +1,99 @@
+diff -ur -x lbitlib.c LuaJIT-2.0.3.orig/src/lj_def.h LuaJIT-2.0.3/src/lj_def.h
+--- LuaJIT-2.0.3.orig/src/lj_def.h 2014-03-12 13:10:00.000000000 +0100
++++ LuaJIT-2.0.3/src/lj_def.h 2014-03-14 09:30:30.000000000 +0100
+@@ -62,7 +62,7 @@
+ #define LJ_MAX_BCINS (1<<26) /* Max. # of bytecode instructions. */
+ #define LJ_MAX_SLOTS 250 /* Max. # of slots in a Lua func. */
+ #define LJ_MAX_LOCVAR 200 /* Max. # of local variables. */
+-#define LJ_MAX_UPVAL 60 /* Max. # of upvalues. */
++#define LJ_MAX_UPVAL 249 /* Max. # of upvalues. */
+
+ #define LJ_MAX_IDXCHAIN 100 /* __index/__newindex chain limit. */
+ #define LJ_STACK_EXTRA 5 /* Extra stack space (metamethods). */
+diff -ur -x lbitlib.c LuaJIT-2.0.3.orig/src/lj_str.c LuaJIT-2.0.3/src/lj_str.c
+--- LuaJIT-2.0.3.orig/src/lj_str.c 2014-03-12 13:10:00.000000000 +0100
++++ LuaJIT-2.0.3/src/lj_str.c 2014-03-14 10:04:14.540946490 +0100
+@@ -90,6 +90,8 @@
+ g->strhash = newhash;
+ }
+
++#define cast(t, exp) ((t)(exp))
++int luajittex_choose_hash_function = 0 ;
+ /* Intern a string and return string object. */
+ GCstr *lj_str_new(lua_State *L, const char *str, size_t lenx)
+ {
+@@ -98,27 +100,44 @@
+ GCobj *o;
+ MSize len = (MSize)lenx;
+ MSize a, b, h = len;
++ size_t step ;
++ size_t l1 ;
+ if (lenx >= LJ_MAX_STR)
+ lj_err_msg(L, LJ_ERR_STROV);
+ g = G(L);
++
++ if (len==0)
++ return &g->strempty;
++ if (luajittex_choose_hash_function==0) {
++ /* Lua 5.1.5 hash function */
++ /* for 5.2 max methods we also need to patch the vm eq */
++ step = (len>>6)+1; /* if string is too long, don't hash all its chars Was 5, we try 6*/
++ for (l1=len; l1>=step; l1-=step) /* compute hash */
++ h = h ^ ((h<<5)+(h>>2)+cast(unsigned char, str[l1-1]));
++ } else {
++ /* LuaJIT 2.0.2 hash function */
+ /* Compute string hash. Constants taken from lookup3 hash by Bob Jenkins. */
+- if (len >= 4) { /* Caveat: unaligned access! */
+- a = lj_getu32(str);
+- h ^= lj_getu32(str+len-4);
+- b = lj_getu32(str+(len>>1)-2);
+- h ^= b; h -= lj_rol(b, 14);
+- b += lj_getu32(str+(len>>2)-1);
+- } else if (len > 0) {
+- a = *(const uint8_t *)str;
+- h ^= *(const uint8_t *)(str+len-1);
+- b = *(const uint8_t *)(str+(len>>1));
+- h ^= b; h -= lj_rol(b, 14);
+- } else {
+- return &g->strempty;
+- }
+- a ^= h; a -= lj_rol(h, 11);
+- b ^= a; b -= lj_rol(a, 25);
+- h ^= b; h -= lj_rol(b, 16);
++ if (len >= 4) { /* Caveat: unaligned access! */
++ a = lj_getu32(str);
++ h ^= lj_getu32(str+len-4);
++ b = lj_getu32(str+(len>>1)-2);
++ h ^= b; h -= lj_rol(b, 14);
++ b += lj_getu32(str+(len>>2)-1);
++ } else if (len > 0) {
++ a = *(const uint8_t *)str;
++ h ^= *(const uint8_t *)(str+len-1);
++ b = *(const uint8_t *)(str+(len>>1));
++ h ^= b; h -= lj_rol(b, 14);
++ } else {
++ /* Already done, kept for reference */
++ return &g->strempty;
++ }
++ a ^= h; a -= lj_rol(h, 11);
++ b ^= a; b -= lj_rol(a, 25);
++ h ^= b; h -= lj_rol(b, 16);
++ }
++
++
+ /* Check if the string has already been interned. */
+ o = gcref(g->strhash[h & g->strmask]);
+ if (LJ_LIKELY((((uintptr_t)str+len-1) & (LJ_PAGESIZE-1)) <= LJ_PAGESIZE-4)) {
+diff -ur -x lbitlib.c LuaJIT-2.0.3.orig/src/lua.h LuaJIT-2.0.3/src/lua.h
+--- LuaJIT-2.0.3.orig/src/lua.h 2014-03-14 09:15:50.000000000 +0100
++++ LuaJIT-2.0.3/src/lua.h 2014-03-14 10:08:51.000000000 +0100
+@@ -103,6 +103,9 @@
+ typedef LUA_INTEGER lua_Integer;
+
+
++/* communication with LuaJiTTeX */
++LUA_API int luajittex_choose_hash_function;
++
+
+ /*
+ ** state manipulation
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/COPYRIGHT b/Build/source/libs/luajit/LuaJIT-2.0.3/COPYRIGHT
index 83ce94daee9..08936dfb911 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/COPYRIGHT
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/COPYRIGHT
@@ -1,7 +1,7 @@
===============================================================================
LuaJIT -- a Just-In-Time Compiler for Lua. http://luajit.org/
-Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+Copyright (C) 2005-2014 Mike Pall. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/Makefile b/Build/source/libs/luajit/LuaJIT-2.0.3/Makefile
index 8883503f66c..b23b64816d2 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/Makefile
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/Makefile
@@ -10,12 +10,12 @@
# For MSVC, please follow the instructions given in src/msvcbuild.bat.
# For MinGW and Cygwin, cd to src and run make with the Makefile there.
#
-# Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+# Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
##############################################################################
MAJVER= 2
MINVER= 0
-RELVER= 2
+RELVER= 3
VERSION= $(MAJVER).$(MINVER).$(RELVER)
ABIVER= 5.1
@@ -25,11 +25,12 @@ ABIVER= 5.1
# the paths in src/luaconf.h, too. Note: PREFIX must be an absolute path!
#
export PREFIX= /usr/local
+export MULTILIB= lib
##############################################################################
DPREFIX= $(DESTDIR)$(PREFIX)
INSTALL_BIN= $(DPREFIX)/bin
-INSTALL_LIB= $(DPREFIX)/lib
+INSTALL_LIB= $(DPREFIX)/$(MULTILIB)
INSTALL_SHARE= $(DPREFIX)/share
INSTALL_INC= $(DPREFIX)/include/luajit-$(MAJVER).$(MINVER)
@@ -73,7 +74,8 @@ INSTALL_X= install -m 0755
INSTALL_F= install -m 0644
UNINSTALL= $(RM)
LDCONFIG= ldconfig -n
-SED_PC= sed -e "s|^prefix=.*|prefix=$(PREFIX)|"
+SED_PC= sed -e "s|^prefix=.*|prefix=$(PREFIX)|" \
+ -e "s|^multilib=.*|multilib=$(MULTILIB)|"
FILE_T= luajit
FILE_A= libluajit.a
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/README b/Build/source/libs/luajit/LuaJIT-2.0.3/README
index d837fd2ff6d..902a6d2e40d 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/README
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/README
@@ -1,11 +1,11 @@
-README for LuaJIT 2.0.2
+README for LuaJIT 2.0.3
-----------------------
LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language.
Project Homepage: http://luajit.org/
-LuaJIT is Copyright (C) 2005-2013 Mike Pall.
+LuaJIT is Copyright (C) 2005-2014 Mike Pall.
LuaJIT is free software, released under the MIT license.
See full Copyright Notice in the COPYRIGHT file or in luajit.h.
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/bluequad-print.css b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/bluequad-print.css
index 41ae7575b6c..21da8688af0 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/bluequad-print.css
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/bluequad-print.css
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2013 Mike Pall.
+/* Copyright (C) 2004-2014 Mike Pall.
*
* You are welcome to use the general ideas of this design for your own sites.
* But please do not steal the stylesheet, the layout or the color scheme.
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/bluequad.css b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/bluequad.css
index 5e8d5ce7729..05b092e4df6 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/bluequad.css
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/bluequad.css
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2013 Mike Pall.
+/* Copyright (C) 2004-2014 Mike Pall.
*
* You are welcome to use the general ideas of this design for your own sites.
* But please do not steal the stylesheet, the layout or the color scheme.
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/changes.html b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/changes.html
index b3deeaf2e37..98412293973 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/changes.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/changes.html
@@ -4,7 +4,7 @@
<title>LuaJIT Change History</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Mike Pall">
-<meta name="Copyright" content="Copyright (C) 2005-2013, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2014, Mike Pall">
<meta name="Language" content="en">
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
@@ -63,7 +63,7 @@ div.major { max-width: 600px; padding: 1em; margin: 1em 0 1em 0; }
<div id="main">
<p>
This is a list of changes between the released versions of LuaJIT.<br>
-The current <span style="color: #0000c0;">stable version</span> is <strong>LuaJIT&nbsp;2.0.2</strong>.<br>
+The current <span style="color: #0000c0;">stable version</span> is <strong>LuaJIT&nbsp;2.0.3</strong>.<br>
</p>
<p>
Please check the
@@ -72,6 +72,42 @@ to see whether newer versions are available.
</p>
<div class="major" style="background: #d0d0ff;">
+<h2 id="LuaJIT-2.0.3">LuaJIT 2.0.3 &mdash; 2014-03-12</h2>
+<ul>
+<li>Add PS4 port.</li>
+<li>Add support for multilib distro builds.</li>
+<li>Fix OSX build.</li>
+<li>Fix MinGW build.</li>
+<li>Fix Xbox 360 build.</li>
+<li>Improve ULOAD forwarding for open upvalues.</li>
+<li>Fix GC steps threshold handling when called by JIT-compiled code.</li>
+<li>Fix argument checks for <tt>math.deg()</tt> and <tt>math.rad()</tt>.</li>
+<li>Fix <tt>jit.flush(func|true)</tt>.</li>
+<li>Respect <tt>jit.off(func)</tt> when returning to a function, too.</li>
+<li>Fix compilation of <tt>string.byte(s, nil, n)</tt>.</li>
+<li>Fix line number for relocated bytecode after closure fixup</li>
+<li>Fix frame traversal for backtraces.</li>
+<li>Fix ABC elimination.</li>
+<li>Fix handling of redundant PHIs.</li>
+<li>Fix snapshot restore for exit to function header.</li>
+<li>Fix type punning alias analysis for constified pointers</li>
+<li>Fix call unroll checks in the presence of metamethod frames.</li>
+<li>Fix initial maxslot for down-recursive traces.</li>
+<li>Prevent BASE register coalescing if parent uses <tt>IR_RETF</tt>.</li>
+<li>Don't purge modified function from stack slots in <tt>BC_RET</tt>.</li>
+<li>Fix recording of <tt>BC_VARG</tt>.</li>
+<li>Don't access dangling reference to reallocated IR.</li>
+<li>Fix frame depth display for bytecode dump in <tt>-jdump</tt>.</li>
+<li>ARM: Fix register allocation when rematerializing FPRs.</li>
+<li>x64: Fix store to upvalue for lightuserdata values.</li>
+<li>FFI: Add missing GC steps for callback argument conversions.</li>
+<li>FFI: Properly unload loaded DLLs.</li>
+<li>FFI: Fix argument checks for <tt>ffi.string()</tt>.</li>
+<li>FFI/x64: Fix passing of vector arguments to calls.</li>
+<li>FFI: Rehash finalizer table after GC cycle, if needed.</li>
+<li>FFI: Fix <tt>cts-&gt;L</tt> for cdata unsinking in snapshot restore.</li>
+</ul>
+
<h2 id="LuaJIT-2.0.2">LuaJIT 2.0.2 &mdash; 2013-06-03</h2>
<ul>
<li>Fix memory access check for fast string interning.</li>
@@ -882,7 +918,7 @@ This is the initial non-public release of LuaJIT.
</div>
<div id="foot">
<hr class="hide">
-Copyright &copy; 2005-2013 Mike Pall
+Copyright &copy; 2005-2014 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/contact.html b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/contact.html
index 4735faf440d..0483a829bdf 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/contact.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/contact.html
@@ -4,7 +4,7 @@
<title>Contact</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Mike Pall">
-<meta name="Copyright" content="Copyright (C) 2005-2013, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2014, Mike Pall">
<meta name="Language" content="en">
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
@@ -84,7 +84,7 @@ xD("fyZKB8xv\"FJytmz8.KAB0u52D")
<h2>Copyright</h2>
<p>
All documentation is
-Copyright &copy; 2005-2013 Mike Pall.
+Copyright &copy; 2005-2014 Mike Pall.
</p>
@@ -92,7 +92,7 @@ Copyright &copy; 2005-2013 Mike Pall.
</div>
<div id="foot">
<hr class="hide">
-Copyright &copy; 2005-2013 Mike Pall
+Copyright &copy; 2005-2014 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/ext_c_api.html b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_c_api.html
index c6feb8e16c5..48503361331 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/ext_c_api.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_c_api.html
@@ -4,7 +4,7 @@
<title>Lua/C API Extensions</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Mike Pall">
-<meta name="Copyright" content="Copyright (C) 2005-2013, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2014, Mike Pall">
<meta name="Language" content="en">
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
@@ -177,7 +177,7 @@ Also note that this mechanism is not without overhead.
</div>
<div id="foot">
<hr class="hide">
-Copyright &copy; 2005-2013 Mike Pall
+Copyright &copy; 2005-2014 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/ext_ffi.html b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi.html
index a146b055d8e..fa9ca971c1f 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/ext_ffi.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi.html
@@ -4,7 +4,7 @@
<title>FFI Library</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Mike Pall">
-<meta name="Copyright" content="Copyright (C) 2005-2013, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2014, Mike Pall">
<meta name="Language" content="en">
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
@@ -320,7 +320,7 @@ without undue conversion penalties.
</div>
<div id="foot">
<hr class="hide">
-Copyright &copy; 2005-2013 Mike Pall
+Copyright &copy; 2005-2014 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/ext_ffi_api.html b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi_api.html
index 8b2555b568c..dcffcfa387f 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/ext_ffi_api.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi_api.html
@@ -4,7 +4,7 @@
<title>ffi.* API Functions</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Mike Pall">
-<meta name="Copyright" content="Copyright (C) 2005-2013, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2014, Mike Pall">
<meta name="Language" content="en">
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
@@ -556,7 +556,7 @@ named <tt>i</tt>.
</div>
<div id="foot">
<hr class="hide">
-Copyright &copy; 2005-2013 Mike Pall
+Copyright &copy; 2005-2014 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/ext_ffi_semantics.html b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi_semantics.html
index 03229012ed5..7e5f70357de 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/ext_ffi_semantics.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi_semantics.html
@@ -4,7 +4,7 @@
<title>FFI Semantics</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Mike Pall">
-<meta name="Copyright" content="Copyright (C) 2005-2013, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2014, Mike Pall">
<meta name="Language" content="en">
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
@@ -1188,7 +1188,9 @@ storing and initializing them are supported, yet.</li>
<li>The <tt>volatile</tt> type qualifier is currently ignored by
compiled code.</li>
<li><a href="ext_ffi_api.html#ffi_cdef"><tt>ffi.cdef</tt></a> silently
-ignores all re-declarations.</li>
+ignores most re-declarations. Note: avoid re-declarations which do not
+conform to C99. The implementation will eventually be changed to
+perform strict checks.</li>
</ul>
<p>
The JIT compiler already handles a large subset of all FFI operations.
@@ -1233,7 +1235,7 @@ compiled.</li>
</div>
<div id="foot">
<hr class="hide">
-Copyright &copy; 2005-2013 Mike Pall
+Copyright &copy; 2005-2014 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/ext_ffi_tutorial.html b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi_tutorial.html
index 30213b31b08..01fb89929c4 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/ext_ffi_tutorial.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi_tutorial.html
@@ -4,7 +4,7 @@
<title>FFI Tutorial</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Mike Pall">
-<meta name="Copyright" content="Copyright (C) 2005-2013, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2014, Mike Pall">
<meta name="Language" content="en">
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
@@ -591,7 +591,7 @@ it to a local variable in the function scope is unnecessary.
</div>
<div id="foot">
<hr class="hide">
-Copyright &copy; 2005-2013 Mike Pall
+Copyright &copy; 2005-2014 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/ext_jit.html b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_jit.html
index cc00e72b1b0..098be5e06a5 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/ext_jit.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_jit.html
@@ -4,7 +4,7 @@
<title>jit.* Library</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Mike Pall">
-<meta name="Copyright" content="Copyright (C) 2005-2013, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2014, Mike Pall">
<meta name="Language" content="en">
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
@@ -189,7 +189,7 @@ if you want to know more.
</div>
<div id="foot">
<hr class="hide">
-Copyright &copy; 2005-2013 Mike Pall
+Copyright &copy; 2005-2014 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/extensions.html b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/extensions.html
index 8684dc32a06..20b597f132e 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/extensions.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/extensions.html
@@ -4,7 +4,7 @@
<title>Extensions</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Mike Pall">
-<meta name="Copyright" content="Copyright (C) 2005-2013, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2014, Mike Pall">
<meta name="Language" content="en">
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
@@ -398,7 +398,7 @@ lead to the termination of the process.</li>
</div>
<div id="foot">
<hr class="hide">
-Copyright &copy; 2005-2013 Mike Pall
+Copyright &copy; 2005-2014 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/faq.html b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/faq.html
index c61b8dcf1fd..ffc2ae89973 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/faq.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/faq.html
@@ -4,7 +4,7 @@
<title>Frequently Asked Questions (FAQ)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Mike Pall">
-<meta name="Copyright" content="Copyright (C) 2005-2013, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2014, Mike Pall">
<meta name="Language" content="en">
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
@@ -174,7 +174,7 @@ the development of certain features, if they are important to you.
</div>
<div id="foot">
<hr class="hide">
-Copyright &copy; 2005-2013 Mike Pall
+Copyright &copy; 2005-2014 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/img/contact.png b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/img/contact.png
index 9c73dc594ef..9c73dc594ef 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/img/contact.png
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/img/contact.png
Binary files differ
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/install.html b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/install.html
index faf19c431b8..2388ff338e5 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/install.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/install.html
@@ -4,7 +4,7 @@
<title>Installation</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Mike Pall">
-<meta name="Copyright" content="Copyright (C) 2005-2013, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2014, Mike Pall">
<meta name="Language" content="en">
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
@@ -120,7 +120,7 @@ operating systems, CPUs and compilers:
<tr class="even">
<td class="compatcpu">x64 (64 bit)</td>
<td class="compatos">GCC 4.x</td>
-<td class="compatos compatno">&nbsp;</td>
+<td class="compatos">ORBIS (<a href="#ps4">PS4</a>)</td>
<td class="compatos">GCC 4.x</td>
<td class="compatos">MSVC + SDK v7.0<br>WinSDK v7.0</td>
</tr>
@@ -188,8 +188,8 @@ open a terminal window and change to this directory. Now unpack the archive
and change to the newly created directory:
</p>
<pre class="code">
-tar zxf LuaJIT-2.0.2.tar.gz
-cd LuaJIT-2.0.2</pre>
+tar zxf LuaJIT-2.0.3.tar.gz
+cd LuaJIT-2.0.3</pre>
<h3>Building LuaJIT</h3>
<p>
The supplied Makefiles try to auto-detect the settings needed for your
@@ -460,7 +460,7 @@ make HOST_CC="gcc -m32 -arch i386" CROSS=$ISDKP TARGET_FLAGS="$ISDKF" \
</pre>
<p>
You can cross-compile for <b id="ps3">PS3</b> using the PS3&nbsp;SDK from
-a Linux host or a Windows host (requires 32 bit MinGW (GCC) on the host,
+a Linux host or a Windows host (requires 32&nbsp;bit MinGW (GCC) on the host,
too). Due to restrictions on consoles, the JIT compiler is disabled and
only the fast interpreter is built:
</p>
@@ -468,6 +468,22 @@ only the fast interpreter is built:
make HOST_CC="gcc -m32" CROSS=ppu-lv2-
</pre>
<p>
+You can cross-compile for <b id="ps4">PS4</b> from a Windows host using
+the PS4&nbsp;SDK (ORBIS) plus 64&nbsp;bit MSVC. Due to restrictions on
+consoles, the JIT compiler is disabled and only the fast interpreter
+is built.
+</p>
+<p>
+Open a "Visual Studio .NET Command Prompt" (64&nbsp;bit host compiler),
+<tt>cd</tt> to the directory where you've unpacked the sources and run
+the following commands. This builds a static library <tt>libluajit.a</tt>,
+which can be linked against your game, just like the Lua library.
+</p>
+<pre class="code">
+cd src
+ps4build
+</pre>
+<p>
You can cross-compile for <b id="xbox360">Xbox 360</b> using the
Xbox&nbsp;360 SDK (MSVC + XEDK). Due to restrictions on consoles, the
JIT compiler is disabled and only the fast interpreter is built.
@@ -565,9 +581,11 @@ for a regular distribution build:
<ul>
<li><tt>PREFIX</tt> overrides the installation path and should usually
be set to <tt>/usr</tt>. Setting this also changes the module paths and
-the <tt>-rpath</tt> of the shared library.</li>
+the paths needed to locate the shared library.</li>
<li><tt>DESTDIR</tt> is an absolute path which allows you to install
to a shadow tree instead of the root tree of the build system.</li>
+<li><tt>MULTILIB</tt> sets the architecture-specific library path component
+for multilib systems. The default is <tt>lib</tt>.</li>
<li>Have a look at the top-level <tt>Makefile</tt> and <tt>src/Makefile</tt>
for additional variables to tweak. The following variables <em>may</em> be
overridden, but it's <em>not</em> recommended, except for special needs
@@ -603,7 +621,7 @@ to me (the upstream) and not you (the package maintainer), anyway.
</div>
<div id="foot">
<hr class="hide">
-Copyright &copy; 2005-2013 Mike Pall
+Copyright &copy; 2005-2014 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/luajit.html b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/luajit.html
index e8581d3a030..43af69c9202 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/luajit.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/luajit.html
@@ -4,7 +4,7 @@
<title>LuaJIT</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Mike Pall">
-<meta name="Copyright" content="Copyright (C) 2005-2013, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2014, Mike Pall">
<meta name="Language" content="en">
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
@@ -147,7 +147,7 @@ Lua is a powerful, dynamic and light-weight programming language.
It may be embedded or used as a general-purpose, stand-alone language.
</p>
<p>
-LuaJIT is Copyright &copy; 2005-2013 Mike Pall, released under the
+LuaJIT is Copyright &copy; 2005-2014 Mike Pall, released under the
<a href="http://www.opensource.org/licenses/mit-license.php"><span class="ext">&raquo;</span>&nbsp;MIT open source license</a>.
</p>
<p>
@@ -158,7 +158,7 @@ LuaJIT is Copyright &copy; 2005-2013 Mike Pall, released under the
<tr><td>Windows</td><td>Linux</td><td>BSD</td><td>OSX</td><td>POSIX</td></tr>
</table>
<table class="feature os os2">
-<tr><td><span style="font-size:90%;">Embedded</span></td><td>Android</td><td>iOS</td><td>PS3</td><td>Xbox 360</td></tr>
+<tr><td><span style="font-size:90%;">Embedded</span></td><td>Android</td><td>iOS</td><td>PS3</td><td>PS4</td><td>Xbox 360</td></tr>
</table>
<table class="feature compiler">
<tr><td>GCC</td><td>CLANG<br>LLVM</td><td>MSVC</td></tr>
@@ -218,7 +218,7 @@ Please select a sub-topic in the navigation bar to learn more about LuaJIT.
</div>
<div id="foot">
<hr class="hide">
-Copyright &copy; 2005-2013 Mike Pall
+Copyright &copy; 2005-2014 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/running.html b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/running.html
index 3149b3818c6..c01c52d5ad0 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/running.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/running.html
@@ -4,7 +4,7 @@
<title>Running LuaJIT</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Mike Pall">
-<meta name="Copyright" content="Copyright (C) 2005-2013, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2014, Mike Pall">
<meta name="Language" content="en">
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
@@ -186,7 +186,7 @@ itself. For a description of their options and output format, please
read the comment block at the start of their source.
They can be found in the <tt>lib</tt> directory of the source
distribution or installed under the <tt>jit</tt> directory. By default
-this is <tt>/usr/local/share/luajit-2.0.2/jit</tt> on POSIX
+this is <tt>/usr/local/share/luajit-2.0.3/jit</tt> on POSIX
systems.
</p>
@@ -296,7 +296,7 @@ Here are the parameters and their default settings:
</div>
<div id="foot">
<hr class="hide">
-Copyright &copy; 2005-2013 Mike Pall
+Copyright &copy; 2005-2014 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/status.html b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/status.html
index 3d148b0a86f..ddcaed33261 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/doc/status.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/doc/status.html
@@ -4,7 +4,7 @@
<title>Status &amp; Roadmap</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Mike Pall">
-<meta name="Copyright" content="Copyright (C) 2005-2013, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2014, Mike Pall">
<meta name="Language" content="en">
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
@@ -115,7 +115,7 @@ Please refer to the
</div>
<div id="foot">
<hr class="hide">
-Copyright &copy; 2005-2013 Mike Pall
+Copyright &copy; 2005-2014 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_arm.h b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_arm.h
index d83cbbb3391..435bbf5e17d 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_arm.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_arm.h
@@ -1,6 +1,6 @@
/*
** DynASM ARM encoding engine.
-** Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+** Copyright (C) 2005-2014 Mike Pall. All rights reserved.
** Released under the MIT license. See dynasm.lua for full copyright notice.
*/
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_arm.lua b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_arm.lua
index 9720e57cd31..b3a8827e399 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_arm.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_arm.lua
@@ -1,7 +1,7 @@
------------------------------------------------------------------------------
-- DynASM ARM module.
--
--- Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
-- See dynasm.lua for full copyright notice.
------------------------------------------------------------------------------
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_mips.h b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_mips.h
index 0866beb8bf6..435958899f1 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_mips.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_mips.h
@@ -1,6 +1,6 @@
/*
** DynASM MIPS encoding engine.
-** Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+** Copyright (C) 2005-2014 Mike Pall. All rights reserved.
** Released under the MIT license. See dynasm.lua for full copyright notice.
*/
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_mips.lua b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_mips.lua
index 02ab9d5fe77..82942cbb591 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_mips.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_mips.lua
@@ -1,7 +1,7 @@
------------------------------------------------------------------------------
-- DynASM MIPS module.
--
--- Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
-- See dynasm.lua for full copyright notice.
------------------------------------------------------------------------------
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_ppc.h b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_ppc.h
index 13c446110c6..5ccff250ffb 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_ppc.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_ppc.h
@@ -1,6 +1,6 @@
/*
** DynASM PPC encoding engine.
-** Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+** Copyright (C) 2005-2014 Mike Pall. All rights reserved.
** Released under the MIT license. See dynasm.lua for full copyright notice.
*/
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_ppc.lua b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_ppc.lua
index 65da317b8bd..61da50efbcf 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_ppc.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_ppc.lua
@@ -1,7 +1,7 @@
------------------------------------------------------------------------------
-- DynASM PPC module.
--
--- Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
-- See dynasm.lua for full copyright notice.
------------------------------------------------------------------------------
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_proto.h b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_proto.h
index 960ddb72ec1..e77bb844557 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_proto.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_proto.h
@@ -1,6 +1,6 @@
/*
** DynASM encoding engine prototypes.
-** Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+** Copyright (C) 2005-2014 Mike Pall. All rights reserved.
** Released under the MIT license. See dynasm.lua for full copyright notice.
*/
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_x64.lua b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_x64.lua
index ca25823c0d1..91d676d1765 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_x64.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_x64.lua
@@ -1,7 +1,7 @@
------------------------------------------------------------------------------
-- DynASM x64 module.
--
--- Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
-- See dynasm.lua for full copyright notice.
------------------------------------------------------------------------------
-- This module just sets 64 bit mode for the combined x86/x64 module.
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_x86.h b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_x86.h
index c91bfdd53fa..97cbbea8934 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_x86.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_x86.h
@@ -1,6 +1,6 @@
/*
** DynASM x86 encoding engine.
-** Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+** Copyright (C) 2005-2014 Mike Pall. All rights reserved.
** Released under the MIT license. See dynasm.lua for full copyright notice.
*/
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_x86.lua b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_x86.lua
index 1f0981f3261..f3859e3e1da 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dasm_x86.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_x86.lua
@@ -1,7 +1,7 @@
------------------------------------------------------------------------------
-- DynASM x86/x64 module.
--
--- Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
-- See dynasm.lua for full copyright notice.
------------------------------------------------------------------------------
@@ -1040,7 +1040,7 @@ local map_op = {
-- ED: *in Rdw,dx
-- EE: *out dx,Rb
-- EF: *out dx,Rdw
- -- F0: *lock
+ lock_0 = "F0",
int1_0 = "F1",
repne_0 = "F2",
repnz_0 = "F2",
@@ -1678,7 +1678,7 @@ if x64 then
function map_op.mov64_2(params)
if not params then return { "reg, imm", "reg, [disp]", "[disp], reg" } end
if secpos+2 > maxsecpos then wflush() end
- local opcode, op64, sz, rex
+ local opcode, op64, sz, rex, vreg
local op64 = match(params[1], "^%[%s*(.-)%s*%]$")
if op64 then
local a = parseoperand(params[2])
@@ -1699,11 +1699,17 @@ if x64 then
werror("bad operand mode")
end
op64 = params[2]
- opcode = 0xb8 + band(a.reg, 7) -- !x64: no VREG support.
+ if a.reg == -1 then
+ vreg = a.vreg
+ opcode = 0xb8
+ else
+ opcode = 0xb8 + band(a.reg, 7)
+ end
rex = a.reg > 7 and 9 or 8
end
end
wputop(sz, opcode, rex)
+ if vreg then waction("VREG", vreg); wputxb(0) end
waction("IMM_D", format("(unsigned int)(%s)", op64))
waction("IMM_D", format("(unsigned int)((%s)>>32)", op64))
end
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dynasm.lua b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dynasm.lua
index d670f8f8b30..0ea8697c07c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/dynasm/dynasm.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dynasm.lua
@@ -2,7 +2,7 @@
-- DynASM. A dynamic assembler for code generation engines.
-- Originally designed and implemented for LuaJIT.
--
--- Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
-- See below for full copyright notice.
------------------------------------------------------------------------------
@@ -17,7 +17,7 @@ local _info = {
url = "http://luajit.org/dynasm.html",
license = "MIT",
copyright = [[
-Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+Copyright (C) 2005-2014 Mike Pall. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -85,7 +85,7 @@ end
-- Resync CPP line numbers.
local function wsync()
if g_synclineno ~= g_lineno and g_opt.cpp then
- wline("# "..g_lineno..' "'..g_fname..'"')
+ wline("#line "..g_lineno..' "'..g_fname..'"')
g_synclineno = g_lineno
end
end
@@ -695,6 +695,9 @@ map_op[".arch_1"] = function(params)
if not params then return "name" end
local err = loadarch(params[1])
if err then wfatal(err) end
+ wline(format("#if DASM_VERSION != %d", _info.vernum))
+ wline('#error "Version mismatch between DynASM and included encoding engine"')
+ wline("#endif")
end
-- Dummy .arch pseudo-opcode to improve the error report.
@@ -877,13 +880,9 @@ local function dasmhead(out)
** DO NOT EDIT! The original file is in "%s".
*/
-#if DASM_VERSION != %d
-#error "Version mismatch between DynASM and included encoding engine"
-#endif
-
]], _info.url,
_info.version, g_arch._info.arch, g_arch._info.version,
- g_fname, _info.vernum))
+ g_fname))
end
-- Read input file.
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/etc/luajit.1 b/Build/source/libs/luajit/LuaJIT-2.0.3/etc/luajit.1
index 6489bd3b532..723a708cc24 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/etc/luajit.1
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/etc/luajit.1
@@ -74,7 +74,7 @@ luajit \-jv \-e "for i=1,10 do for j=1,10 do for k=1,100 do end end end"
Runs some nested loops and shows the resulting traces.
.SH COPYRIGHT
.PP
-\fBLuaJIT\fR is Copyright \(co 2005-2013 Mike Pall.
+\fBLuaJIT\fR is Copyright \(co 2005-2014 Mike Pall.
.br
\fBLuaJIT\fR is open source software, released under the MIT license.
.SH SEE ALSO
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/etc/luajit.pc b/Build/source/libs/luajit/LuaJIT-2.0.3/etc/luajit.pc
index 5a982a627d2..d3f0cf30b42 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/etc/luajit.pc
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/etc/luajit.pc
@@ -1,18 +1,19 @@
# Package information for LuaJIT to be used by pkg-config.
majver=2
minver=0
-relver=2
+relver=3
version=${majver}.${minver}.${relver}
abiver=5.1
prefix=/usr/local
+multilib=lib
exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
+libdir=${exec_prefix}/${multilib}
libname=luajit-${abiver}
includedir=${prefix}/include/luajit-${majver}.${minver}
INSTALL_LMOD=${prefix}/share/lua/${abiver}
-INSTALL_CMOD=${prefix}/lib/lua/${abiver}
+INSTALL_CMOD=${prefix}/${multilib}/lua/${abiver}
Name: LuaJIT
Description: Just-in-time compiler for Lua
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/Makefile b/Build/source/libs/luajit/LuaJIT-2.0.3/src/Makefile
index f136e214551..818f3019257 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/Makefile
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/Makefile
@@ -7,12 +7,12 @@
# Also works with MinGW and Cygwin on Windows.
# Please check msvcbuild.bat for building with MSVC on Windows.
#
-# Copyright (C) 2005-2012 Mike Pall. See Copyright Notice in luajit.h
+# Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
##############################################################################
MAJVER= 2
MINVER= 0
-RELVER= 2
+RELVER= 3
ABIVER= 5.1
NODOTABIVER= 51
@@ -188,9 +188,10 @@ TARGET_LD= $(CROSS)$(CC)
TARGET_AR= $(CROSS)ar rcus
TARGET_STRIP= $(CROSS)strip
+TARGET_LIBPATH= $(or $(PREFIX),/usr/local)/$(or $(MULTILIB),lib)
TARGET_SONAME= libluajit-$(ABIVER).so.$(MAJVER)
TARGET_DYLIBNAME= libluajit-$(ABIVER).$(MAJVER).dylib
-TARGET_DYLIBPATH= $(or $(PREFIX),/usr/local)/lib/$(TARGET_DYLIBNAME)
+TARGET_DYLIBPATH= $(TARGET_LIBPATH)/$(TARGET_DYLIBNAME)
TARGET_DLLNAME= lua$(NODOTABIVER).dll
TARGET_XSHLDFLAGS= -shared -fPIC -Wl,-soname,$(TARGET_SONAME)
TARGET_DYNXLDOPTS=
@@ -249,12 +250,18 @@ TARGET_ARCH+= $(patsubst %,-DLUAJIT_TARGET=LUAJIT_ARCH_%,$(TARGET_LJARCH))
ifneq (,$(PREFIX))
ifneq (/usr/local,$(PREFIX))
- TARGET_XCFLAGS+= -DLUA_XROOT=\"$(PREFIX)/\"
+ TARGET_XCFLAGS+= -DLUA_ROOT=\"$(PREFIX)\"
ifneq (/usr,$(PREFIX))
- TARGET_DYNXLDOPTS= -Wl,-rpath,$(PREFIX)/lib
+ TARGET_DYNXLDOPTS= -Wl,-rpath,$(TARGET_LIBPATH)
endif
endif
endif
+ifneq (,$(MULTILIB))
+ TARGET_XCFLAGS+= -DLUA_MULTILIB=\"$(MULTILIB)\"
+endif
+ifneq (,$(LMULTILIB))
+ TARGET_XCFLAGS+= -DLUA_LMULTILIB=\"$(LMULTILIB)\"
+endif
##############################################################################
# System detection.
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/Makefile.dep b/Build/source/libs/luajit/LuaJIT-2.0.3/src/Makefile.dep
index d49d131b2e7..b155b81c681 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/Makefile.dep
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/Makefile.dep
@@ -18,8 +18,8 @@ lib_ffi.o: lib_ffi.c lua.h luaconf.h lauxlib.h lualib.h lj_obj.h lj_def.h \
lj_ccallback.h lj_clib.h lj_ff.h lj_ffdef.h lj_lib.h lj_libdef.h
lib_init.o: lib_init.c lua.h luaconf.h lauxlib.h lualib.h lj_arch.h
lib_io.o: lib_io.c lua.h luaconf.h lauxlib.h lualib.h lj_obj.h lj_def.h \
- lj_arch.h lj_err.h lj_errmsg.h lj_str.h lj_state.h lj_ff.h lj_ffdef.h \
- lj_lib.h lj_libdef.h
+ lj_arch.h lj_gc.h lj_err.h lj_errmsg.h lj_str.h lj_state.h lj_ff.h \
+ lj_ffdef.h lj_lib.h lj_libdef.h
lib_jit.o: lib_jit.c lua.h luaconf.h lauxlib.h lualib.h lj_arch.h \
lj_obj.h lj_def.h lj_err.h lj_errmsg.h lj_debug.h lj_str.h lj_tab.h \
lj_bc.h lj_ir.h lj_jit.h lj_ircall.h lj_iropt.h lj_target.h \
@@ -130,8 +130,8 @@ lj_load.o: lj_load.c lua.h luaconf.h lauxlib.h lj_obj.h lj_def.h \
lj_arch.h lj_gc.h lj_err.h lj_errmsg.h lj_str.h lj_func.h lj_frame.h \
lj_bc.h lj_vm.h lj_lex.h lj_bcdump.h lj_parse.h
lj_mcode.o: lj_mcode.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \
- lj_gc.h lj_jit.h lj_ir.h lj_mcode.h lj_trace.h lj_dispatch.h lj_bc.h \
- lj_traceerr.h lj_vm.h
+ lj_gc.h lj_err.h lj_errmsg.h lj_jit.h lj_ir.h lj_mcode.h lj_trace.h \
+ lj_dispatch.h lj_bc.h lj_traceerr.h lj_vm.h
lj_meta.o: lj_meta.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h lj_gc.h \
lj_err.h lj_errmsg.h lj_str.h lj_tab.h lj_meta.h lj_frame.h lj_bc.h \
lj_vm.h lj_strscan.h
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/host/README b/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/README
index abfcdaa76e9..abfcdaa76e9 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/host/README
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/README
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/host/buildvm.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm.c
index 2ce3b638031..7687ad7ad0b 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/host/buildvm.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm.c
@@ -1,6 +1,6 @@
/*
** LuaJIT VM builder.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** This is a tool to build the hand-tuned assembler code required for
** LuaJIT's bytecode interpreter. It supports a variety of output formats
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/host/buildvm.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm.h
index 1a037e168f3..f9dc8c4f202 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/host/buildvm.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm.h
@@ -1,6 +1,6 @@
/*
** LuaJIT VM builder.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _BUILDVM_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/host/buildvm_asm.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_asm.c
index f18d1493fb9..9b28b3b3846 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/host/buildvm_asm.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_asm.c
@@ -1,6 +1,6 @@
/*
** LuaJIT VM builder: Assembler source code emitter.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#include "buildvm.h"
@@ -100,7 +100,7 @@ static void emit_asm_wordreloc(BuildCtx *ctx, uint8_t *p, int n,
fprintf(ctx->fp, "\tblx %s\n", sym);
} else if ((ins & 0x0e000000u) == 0x0a000000u) {
fprintf(ctx->fp, "\t%s%.2s %s\n", (ins & 0x01000000u) ? "bl" : "b",
- "eqnecsccmiplvsvchilsgeltgtle" + 2*(ins >> 28), sym);
+ &"eqnecsccmiplvsvchilsgeltgtle"[2*(ins >> 28)], sym);
} else {
fprintf(stderr,
"Error: unsupported opcode %08x for %s symbol relocation.\n",
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/host/buildvm_fold.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_fold.c
index 085a4c345c1..7f5d9f2f186 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/host/buildvm_fold.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_fold.c
@@ -1,6 +1,6 @@
/*
** LuaJIT VM builder: IR folding hash table generator.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#include "buildvm.h"
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/host/buildvm_lib.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_lib.c
index 40141dfbc60..eafdab98178 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/host/buildvm_lib.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_lib.c
@@ -1,6 +1,6 @@
/*
** LuaJIT VM builder: library definition compiler.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#include "buildvm.h"
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/host/buildvm_peobj.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_peobj.c
index 1249445b028..138b04232d5 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/host/buildvm_peobj.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_peobj.c
@@ -1,6 +1,6 @@
/*
** LuaJIT VM builder: PE object emitter.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** Only used for building on Windows, since we cannot assume the presence
** of a suitable assembler. The host and target byte order must match.
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/host/genminilua.lua b/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/genminilua.lua
index e666f088a8c..04c55188720 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/host/genminilua.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/genminilua.lua
@@ -2,7 +2,7 @@
-- Lua script to generate a customized, minified version of Lua.
-- The resulting 'minilua' is used for the build process of LuaJIT.
----------------------------------------------------------------------------
--- Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
-- Released under the MIT license. See Copyright Notice in luajit.h
----------------------------------------------------------------------------
@@ -210,6 +210,7 @@ typedef unsigned __int64 U64;
#else
typedef unsigned long long U64;
#endif
+int _CRT_glob = 0;
]]}, {}
local function preprocess(src)
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/host/minilua.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/minilua.c
index 93e9273e462..aee192a710c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/host/minilua.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/minilua.c
@@ -27,6 +27,7 @@ typedef unsigned __int64 U64;
#else
typedef unsigned long long U64;
#endif
+int _CRT_glob = 0;
#include <stddef.h>
#include <stdarg.h>
#include <limits.h>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/bc.lua b/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/bc.lua
index cef4752467c..9df19c7bfee 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/bc.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/bc.lua
@@ -1,7 +1,7 @@
----------------------------------------------------------------------------
-- LuaJIT bytecode listing module.
--
--- Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
-- Released under the MIT license. See Copyright Notice in luajit.h
----------------------------------------------------------------------------
--
@@ -41,7 +41,7 @@
-- Cache some library functions and objects.
local jit = require("jit")
-assert(jit.version_num == 20002, "LuaJIT core/library version mismatch")
+assert(jit.version_num == 20003, "LuaJIT core/library version mismatch")
local jutil = require("jit.util")
local vmdef = require("jit.vmdef")
local bit = require("bit")
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/bcsave.lua b/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/bcsave.lua
index e6d566e534d..f55bda970be 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/bcsave.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/bcsave.lua
@@ -1,7 +1,7 @@
----------------------------------------------------------------------------
-- LuaJIT module to save/list bytecode.
--
--- Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
-- Released under the MIT license. See Copyright Notice in luajit.h
----------------------------------------------------------------------------
--
@@ -11,7 +11,7 @@
------------------------------------------------------------------------------
local jit = require("jit")
-assert(jit.version_num == 20002, "LuaJIT core/library version mismatch")
+assert(jit.version_num == 20003, "LuaJIT core/library version mismatch")
local bit = require("bit")
-- Symbol name prefix for LuaJIT bytecode.
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/dis_arm.lua b/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_arm.lua
index dc7ca71ff4d..b3d0ebc2c4c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/dis_arm.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_arm.lua
@@ -1,7 +1,7 @@
----------------------------------------------------------------------------
-- LuaJIT ARM disassembler module.
--
--- Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
-- Released under the MIT license. See Copyright Notice in luajit.h
----------------------------------------------------------------------------
-- This is a helper module used by the LuaJIT machine code dumper module.
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/dis_mips.lua b/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_mips.lua
index 830db409b6b..47a7a83bc0c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/dis_mips.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_mips.lua
@@ -1,7 +1,7 @@
----------------------------------------------------------------------------
-- LuaJIT MIPS disassembler module.
--
--- Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
-- Released under the MIT/X license. See Copyright Notice in luajit.h
----------------------------------------------------------------------------
-- This is a helper module used by the LuaJIT machine code dumper module.
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/dis_mipsel.lua b/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_mipsel.lua
index 8a10c462359..d19de319334 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/dis_mipsel.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_mipsel.lua
@@ -1,7 +1,7 @@
----------------------------------------------------------------------------
-- LuaJIT MIPSEL disassembler wrapper module.
--
--- Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
-- Released under the MIT license. See Copyright Notice in luajit.h
----------------------------------------------------------------------------
-- This module just exports the little-endian functions from the
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/dis_ppc.lua b/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_ppc.lua
index 169a534c10b..cfaf982fadb 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/dis_ppc.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_ppc.lua
@@ -1,7 +1,7 @@
----------------------------------------------------------------------------
-- LuaJIT PPC disassembler module.
--
--- Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
-- Released under the MIT/X license. See Copyright Notice in luajit.h
----------------------------------------------------------------------------
-- This is a helper module used by the LuaJIT machine code dumper module.
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/dis_x64.lua b/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_x64.lua
index 4a1894aceab..4f491695317 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/dis_x64.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_x64.lua
@@ -1,7 +1,7 @@
----------------------------------------------------------------------------
-- LuaJIT x64 disassembler wrapper module.
--
--- Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
-- Released under the MIT license. See Copyright Notice in luajit.h
----------------------------------------------------------------------------
-- This module just exports the 64 bit functions from the combined
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/dis_x86.lua b/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_x86.lua
index c442a176b1b..0b865ab6ea8 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/dis_x86.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_x86.lua
@@ -1,7 +1,7 @@
----------------------------------------------------------------------------
-- LuaJIT x86/x64 disassembler module.
--
--- Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
-- Released under the MIT license. See Copyright Notice in luajit.h
----------------------------------------------------------------------------
-- This is a helper module used by the LuaJIT machine code dumper module.
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/dump.lua b/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dump.lua
index 7441b74dbfd..556ce88300a 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/dump.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dump.lua
@@ -1,7 +1,7 @@
----------------------------------------------------------------------------
-- LuaJIT compiler dump module.
--
--- Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
-- Released under the MIT license. See Copyright Notice in luajit.h
----------------------------------------------------------------------------
--
@@ -36,6 +36,7 @@
-- * m Dump the generated machine code.
-- x Print each taken trace exit.
-- X Print each taken trace exit and the contents of all registers.
+-- a Print the IR of aborted traces, too.
--
-- The output format can be set with the following characters:
--
@@ -54,7 +55,7 @@
-- Cache some library functions and objects.
local jit = require("jit")
-assert(jit.version_num == 20002, "LuaJIT core/library version mismatch")
+assert(jit.version_num == 20003, "LuaJIT core/library version mismatch")
local jutil = require("jit.util")
local vmdef = require("jit.vmdef")
local funcinfo, funcbc = jutil.funcinfo, jutil.funcbc
@@ -546,10 +547,8 @@ local function dump_trace(what, tr, func, pc, otr, oex)
out:write("---- TRACE ", tr, " ", what)
if otr then out:write(" ", otr, "/", oex) end
out:write(" ", fmtfunc(func, pc), "\n")
- recprefix = ""
elseif what == "stop" or what == "abort" then
out:write("---- TRACE ", tr, " ", what)
- recprefix = nil
if what == "abort" then
out:write(" ", fmtfunc(func, pc), " -- ", fmterr(otr, oex), "\n")
else
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/v.lua b/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/v.lua
index d7df71262b3..197e67c69e5 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/jit/v.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/v.lua
@@ -1,7 +1,7 @@
----------------------------------------------------------------------------
-- Verbose mode of the LuaJIT compiler.
--
--- Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
-- Released under the MIT license. See Copyright Notice in luajit.h
----------------------------------------------------------------------------
--
@@ -59,7 +59,7 @@
-- Cache some library functions and objects.
local jit = require("jit")
-assert(jit.version_num == 20002, "LuaJIT core/library version mismatch")
+assert(jit.version_num == 20003, "LuaJIT core/library version mismatch")
local jutil = require("jit.util")
local vmdef = require("jit.vmdef")
local funcinfo, traceinfo = jutil.funcinfo, jutil.traceinfo
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lauxlib.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lauxlib.h
index b6ed1a7d04a..b6ed1a7d04a 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lauxlib.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lauxlib.h
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lbitlib.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lbitlib.c
index 5187bbff0dc..5187bbff0dc 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lbitlib.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lbitlib.c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_aux.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_aux.c
index 05fa6b1018a..1b01fe0705f 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_aux.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_aux.c
@@ -1,6 +1,6 @@
/*
** Auxiliary library for the Lua/C API.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** Major parts taken verbatim or adapted from the Lua interpreter.
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_base.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_base.c
index 070970ed71d..30e88f19d8f 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_base.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_base.c
@@ -1,6 +1,6 @@
/*
** Base and coroutine library.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** Major portions taken verbatim or adapted from the Lua interpreter.
** Copyright (C) 1994-2011 Lua.org, PUC-Rio. See Copyright Notice in lua.h
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_bit.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_bit.c
index 93fead9232c..739924b09e5 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_bit.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_bit.c
@@ -1,6 +1,6 @@
/*
** Bit manipulation library.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lib_bit_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_debug.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_debug.c
index 38e60543672..97f032f11e1 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_debug.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_debug.c
@@ -1,6 +1,6 @@
/*
** Debug library.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** Major portions taken verbatim or adapted from the Lua interpreter.
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_ffi.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_ffi.c
index f61fabc0491..e789ad6c33c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_ffi.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_ffi.c
@@ -1,6 +1,6 @@
/*
** FFI library.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lib_ffi_c
@@ -657,7 +657,7 @@ LJLIB_CF(ffi_string) LJLIB_REC(.)
TValue *o = lj_lib_checkany(L, 1);
const char *p;
size_t len;
- if (o+1 < L->top) {
+ if (o+1 < L->top && !tvisnil(o+1)) {
len = (size_t)ffi_checkint(L, 2);
lj_cconv_ct_tv(cts, ctype_get(cts, CTID_P_CVOID), (uint8_t *)&p, o,
CCF_ARG(1));
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_init.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_init.c
index 90ce8b4a008..c1b6115e35c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_init.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_init.c
@@ -1,6 +1,6 @@
/*
** Library initialization.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** Major parts taken verbatim from the Lua interpreter.
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_io.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_io.c
index e0c6908faeb..04f0f7390f3 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_io.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_io.c
@@ -1,6 +1,6 @@
/*
** I/O library.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** Major portions taken verbatim or adapted from the Lua interpreter.
** Copyright (C) 1994-2011 Lua.org, PUC-Rio. See Copyright Notice in lua.h
@@ -426,7 +426,7 @@ LJLIB_CF(io_popen)
LJLIB_CF(io_tmpfile)
{
IOFileUD *iof = io_file_new(L);
-#if LJ_TARGET_PS3
+#if LJ_TARGET_PS3 || LJ_TARGET_PS4
iof->fp = NULL; errno = ENOSYS;
#else
iof->fp = tmpfile();
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_jit.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_jit.c
index 82e68258f3a..0fadf8b9efe 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_jit.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_jit.c
@@ -1,6 +1,6 @@
/*
** JIT library.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lib_jit_c
@@ -73,7 +73,7 @@ LJLIB_CF(jit_off)
LJLIB_CF(jit_flush)
{
#if LJ_HASJIT
- if (L->base < L->top && !tvisnil(L->base)) {
+ if (L->base < L->top && tvisnumber(L->base)) {
int traceno = lj_lib_checkint(L, 1);
luaJIT_setmode(L, traceno, LUAJIT_MODE_FLUSH|LUAJIT_MODE_TRACE);
return 0;
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_math.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_math.c
index b23d9a2dc07..3aa5c6b01bd 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_math.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_math.c
@@ -1,6 +1,6 @@
/*
** Math library.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#include <math.h>
@@ -47,6 +47,12 @@ LJLIB_ASM_(math_tanh) LJLIB_REC(math_htrig IRCALL_tanh)
LJLIB_ASM_(math_frexp)
LJLIB_ASM_(math_modf) LJLIB_REC(.)
+LJLIB_PUSH(57.29577951308232)
+LJLIB_ASM_(math_deg) LJLIB_REC(math_degrad)
+
+LJLIB_PUSH(0.017453292519943295)
+LJLIB_ASM_(math_rad) LJLIB_REC(math_degrad)
+
LJLIB_ASM(math_log) LJLIB_REC(math_log)
{
double x = lj_lib_checknum(L, 1);
@@ -63,12 +69,6 @@ LJLIB_ASM(math_log) LJLIB_REC(math_log)
return FFH_RETRY;
}
-LJLIB_PUSH(57.29577951308232)
-LJLIB_ASM_(math_deg) LJLIB_REC(math_degrad)
-
-LJLIB_PUSH(0.017453292519943295)
-LJLIB_ASM_(math_rad) LJLIB_REC(math_degrad)
-
LJLIB_ASM(math_atan2) LJLIB_REC(.)
{
lj_lib_checknum(L, 1);
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_os.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_os.c
index 0a784129098..f62e8c8bb2e 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_os.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_os.c
@@ -1,6 +1,6 @@
/*
** OS library.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** Major portions taken verbatim or adapted from the Lua interpreter.
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
@@ -70,7 +70,7 @@ LJLIB_CF(os_rename)
LJLIB_CF(os_tmpname)
{
-#if LJ_TARGET_PS3
+#if LJ_TARGET_PS3 || LJ_TARGET_PS4
lj_err_caller(L, LJ_ERR_OSUNIQF);
return 0;
#else
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_package.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_package.c
index 17c7c3591fb..0e4a8ed0641 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_package.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_package.c
@@ -1,6 +1,6 @@
/*
** Package library.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** Major portions taken verbatim or adapted from the Lua interpreter.
** Copyright (C) 1994-2012 Lua.org, PUC-Rio. See Copyright Notice in lua.h
@@ -68,9 +68,6 @@ static const char *ll_bcsym(void *lib, const char *sym)
#elif LJ_TARGET_WINDOWS
#define WIN32_LEAN_AND_MEAN
-#ifndef WINVER
-#define WINVER 0x0500
-#endif
#include <windows.h>
#ifndef GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_string.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_string.c
index 9e8ab900fd2..9ec6d0c3d18 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_string.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_string.c
@@ -1,6 +1,6 @@
/*
** String library.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** Major portions taken verbatim or adapted from the Lua interpreter.
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
@@ -64,7 +64,7 @@ LJLIB_ASM(string_byte) LJLIB_REC(string_range 0)
LJLIB_ASM(string_char)
{
int i, nargs = (int)(L->top - L->base);
- char *buf = lj_str_needbuf(L, &G(L)->tmpbuf, (size_t)nargs);
+ char *buf = lj_str_needbuf(L, &G(L)->tmpbuf, (MSize)nargs);
for (i = 1; i <= nargs; i++) {
int32_t k = lj_lib_checkint(L, i);
if (!checku8(k))
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_table.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_table.c
index 542ed1f8641..e0e8302fcc9 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lib_table.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_table.c
@@ -1,6 +1,6 @@
/*
** Table library.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** Major portions taken verbatim or adapted from the Lua interpreter.
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj.supp b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj.supp
index 411f2617001..411f2617001 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj.supp
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj.supp
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_alloc.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_alloc.c
index 93bf5a6e171..f856a7a017f 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_alloc.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_alloc.c
@@ -177,7 +177,7 @@ static LJ_AINLINE int CALL_MUNMAP(void *ptr, size_t size)
#if LJ_64
/* 64 bit mode needs special support for allocating memory in the lower 2GB. */
-#if LJ_TARGET_LINUX
+#if defined(MAP_32BIT)
/* Actually this only gives us max. 1GB in current Linux kernels. */
static LJ_AINLINE void *CALL_MMAP(size_t size)
@@ -188,8 +188,7 @@ static LJ_AINLINE void *CALL_MMAP(size_t size)
return ptr;
}
-#elif LJ_TARGET_OSX || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || \
- defined(__NetBSD__) || defined(__OpenBSD__) || defined(__sun__)
+#elif LJ_TARGET_OSX || LJ_TARGET_PS4 || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__sun__)
/* OSX and FreeBSD mmap() use a naive first-fit linear search.
** That's perfect for us. Except that -pagezero_size must be set for OSX,
@@ -198,12 +197,14 @@ static LJ_AINLINE void *CALL_MMAP(size_t size)
*/
#if LJ_TARGET_OSX
#define MMAP_REGION_START ((uintptr_t)0x10000)
+#elif LJ_TARGET_PS4
+#define MMAP_REGION_START ((uintptr_t)0x4000)
#else
#define MMAP_REGION_START ((uintptr_t)0x10000000)
#endif
#define MMAP_REGION_END ((uintptr_t)0x80000000)
-#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+#if (defined(__FreeBSD__) || defined(__FreeBSD_kernel__)) && !LJ_TARGET_PS4
#include <sys/resource.h>
#endif
@@ -213,7 +214,7 @@ static LJ_AINLINE void *CALL_MMAP(size_t size)
/* Hint for next allocation. Doesn't need to be thread-safe. */
static uintptr_t alloc_hint = MMAP_REGION_START;
int retry = 0;
-#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+#if (defined(__FreeBSD__) || defined(__FreeBSD_kernel__)) && !LJ_TARGET_PS4
static int rlimit_modified = 0;
if (LJ_UNLIKELY(rlimit_modified == 0)) {
struct rlimit rlim;
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_alloc.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_alloc.h
index f87a7cf3422..f87a7cf3422 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_alloc.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_alloc.h
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_api.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_api.c
index edb2d620dab..bc5290b241f 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_api.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_api.c
@@ -1,6 +1,6 @@
/*
** Public Lua/C API.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** Major portions taken verbatim or adapted from the Lua interpreter.
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
@@ -1164,7 +1164,7 @@ LUA_API int lua_gc(lua_State *L, int what, int data)
MSize a = (MSize)data << 10;
g->gc.threshold = (a <= g->gc.total) ? (g->gc.total - a) : 0;
while (g->gc.total >= g->gc.threshold)
- if (lj_gc_step(L)) {
+ if (lj_gc_step(L) > 0) {
res = 1;
break;
}
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_arch.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_arch.h
index 9ea10d0f5eb..0196eedc0ca 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_arch.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_arch.h
@@ -1,6 +1,6 @@
/*
** Target architecture selection.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_ARCH_H
@@ -66,8 +66,8 @@
#define LUAJIT_OS LUAJIT_OS_LINUX
#elif defined(__MACH__) && defined(__APPLE__)
#define LUAJIT_OS LUAJIT_OS_OSX
-#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || \
- defined(__NetBSD__) || defined(__OpenBSD__)
+#elif (defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || \
+ defined(__NetBSD__) || defined(__OpenBSD__)) && !defined(__ORBIS__)
#define LUAJIT_OS LUAJIT_OS_BSD
#elif (defined(__sun__) && defined(__svr4__)) || defined(__CYGWIN__)
#define LUAJIT_OS LUAJIT_OS_POSIX
@@ -104,6 +104,13 @@
#define LJ_TARGET_CONSOLE 1
#endif
+#ifdef __ORBIS__
+#define LJ_TARGET_PS4 1
+#define LJ_TARGET_CONSOLE 1
+#undef NULL
+#define NULL ((void*)0)
+#endif
+
#if _XBOX_VER >= 200
#define LJ_TARGET_XBOX360 1
#define LJ_TARGET_CONSOLE 1
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_asm.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm.c
index 316e81d6a85..264649aeb1c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_asm.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm.c
@@ -1,6 +1,6 @@
/*
** IR assembler (SSA IR -> machine code).
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_asm_c
@@ -1246,16 +1246,18 @@ static void asm_phi_fixup(ASMState *as)
Reg r = rset_picktop(work);
IRRef lref = as->phireg[r];
IRIns *ir = IR(lref);
- /* Left PHI gained a spill slot before the loop? */
- if (irt_ismarked(ir->t) && ra_hasspill(ir->s)) {
- IRRef ren;
- lj_ir_set(as->J, IRT(IR_RENAME, IRT_NIL), lref, as->loopsnapno);
- ren = tref_ref(lj_ir_emit(as->J));
- as->ir = as->T->ir; /* The IR may have been reallocated. */
- IR(ren)->r = (uint8_t)r;
- IR(ren)->s = SPS_NONE;
+ if (irt_ismarked(ir->t)) {
+ irt_clearmark(ir->t);
+ /* Left PHI gained a spill slot before the loop? */
+ if (ra_hasspill(ir->s)) {
+ IRRef ren;
+ lj_ir_set(as->J, IRT(IR_RENAME, IRT_NIL), lref, as->loopsnapno);
+ ren = tref_ref(lj_ir_emit(as->J));
+ as->ir = as->T->ir; /* The IR may have been reallocated. */
+ IR(ren)->r = (uint8_t)r;
+ IR(ren)->s = SPS_NONE;
+ }
}
- irt_clearmark(ir->t); /* Always clear marker. */
rset_clear(work, r);
}
}
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_asm.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm.h
index a88e7da3c6c..f5d0159b1e4 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_asm.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm.h
@@ -1,6 +1,6 @@
/*
** IR assembler (SSA IR -> machine code).
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_ASM_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_asm_arm.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_arm.h
index a66573c0a3b..72f205d90ab 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_asm_arm.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_arm.h
@@ -1,6 +1,6 @@
/*
** ARM IR assembler (SSA IR -> machine code).
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
/* -- Register allocator extensions --------------------------------------- */
@@ -493,6 +493,7 @@ static void asm_retf(ASMState *as, IRIns *ir)
int32_t delta = 1+bc_a(*((const BCIns *)pc - 1));
as->topslot -= (BCReg)delta;
if ((int32_t)as->topslot < 0) as->topslot = 0;
+ irt_setmark(IR(REF_BASE)->t); /* Children must not coalesce with BASE reg. */
/* Need to force a spill on REF_BASE now to update the stack slot. */
emit_lso(as, ARMI_STR, base, RID_SP, ra_spill(as, IR(REF_BASE)));
emit_setgl(as, base, jit_base);
@@ -521,10 +522,10 @@ static void asm_tointg(ASMState *as, IRIns *ir, Reg left)
static void asm_tobit(ASMState *as, IRIns *ir)
{
RegSet allow = RSET_FPR;
- Reg dest = ra_dest(as, ir, RSET_GPR);
Reg left = ra_alloc1(as, ir->op1, allow);
Reg right = ra_alloc1(as, ir->op2, rset_clear(allow, left));
Reg tmp = ra_scratch(as, rset_clear(allow, right));
+ Reg dest = ra_dest(as, ir, RSET_GPR);
emit_dn(as, ARMI_VMOV_R_S, dest, (tmp & 15));
emit_dnm(as, ARMI_VADD_D, (tmp & 15), (left & 15), (right & 15));
}
@@ -564,9 +565,9 @@ static void asm_conv(ASMState *as, IRIns *ir)
lua_assert(irt_isint(ir->t) && st == IRT_NUM);
asm_tointg(as, ir, ra_alloc1(as, lref, RSET_FPR));
} else {
- Reg dest = ra_dest(as, ir, RSET_GPR);
Reg left = ra_alloc1(as, lref, RSET_FPR);
Reg tmp = ra_scratch(as, rset_exclude(RSET_FPR, left));
+ Reg dest = ra_dest(as, ir, RSET_GPR);
ARMIns ai;
emit_dn(as, ARMI_VMOV_R_S, dest, (tmp & 15));
ai = irt_isint(ir->t) ?
@@ -1210,6 +1211,9 @@ static void asm_sload(ASMState *as, IRIns *ir)
} else
#endif
if (ra_used(ir)) {
+ Reg tmp = RID_NONE;
+ if ((ir->op2 & IRSLOAD_CONVERT))
+ tmp = ra_scratch(as, t == IRT_INT ? RSET_FPR : RSET_GPR);
lua_assert((LJ_SOFTFP ? 0 : irt_isnum(ir->t)) ||
irt_isint(ir->t) || irt_isaddr(ir->t));
dest = ra_dest(as, ir, (!LJ_SOFTFP && t == IRT_NUM) ? RSET_FPR : allow);
@@ -1217,18 +1221,15 @@ static void asm_sload(ASMState *as, IRIns *ir)
base = ra_alloc1(as, REF_BASE, allow);
if ((ir->op2 & IRSLOAD_CONVERT)) {
if (t == IRT_INT) {
- Reg tmp = ra_scratch(as, RSET_FPR);
emit_dn(as, ARMI_VMOV_R_S, dest, (tmp & 15));
emit_dm(as, ARMI_VCVT_S32_F64, (tmp & 15), (tmp & 15));
- dest = tmp;
t = IRT_NUM; /* Check for original type. */
} else {
- Reg tmp = ra_scratch(as, RSET_GPR);
emit_dm(as, ARMI_VCVT_F64_S32, (dest & 15), (dest & 15));
emit_dn(as, ARMI_VMOV_S_R, tmp, (dest & 15));
- dest = tmp;
t = IRT_INT; /* Check for original type. */
}
+ dest = tmp;
}
goto dotypecheck;
}
@@ -1503,7 +1504,7 @@ static void asm_intmul(ASMState *as, IRIns *ir)
if (dest == left && left != right) { left = right; right = dest; }
if (irt_isguard(ir->t)) { /* IR_MULOV */
if (!(as->flags & JIT_F_ARMV6) && dest == left)
- tmp = left = ra_scratch(as, rset_exclude(RSET_FPR, left));
+ tmp = left = ra_scratch(as, rset_exclude(RSET_GPR, left));
asm_guardcc(as, CC_NE);
emit_nm(as, ARMI_TEQ|ARMF_SH(ARMSH_ASR, 31), RID_TMP, dest);
emit_dnm(as, ARMI_SMULL|ARMF_S(right), dest, RID_TMP, left);
@@ -2102,7 +2103,8 @@ static void asm_head_root_base(ASMState *as)
IRIns *ir;
asm_head_lreg(as);
ir = IR(REF_BASE);
- if (ra_hasreg(ir->r) && rset_test(as->modset, ir->r)) ra_spill(as, ir);
+ if (ra_hasreg(ir->r) && (rset_test(as->modset, ir->r) || irt_ismarked(ir->t)))
+ ra_spill(as, ir);
ra_destreg(as, ir, RID_BASE);
}
@@ -2112,7 +2114,8 @@ static RegSet asm_head_side_base(ASMState *as, IRIns *irp, RegSet allow)
IRIns *ir;
asm_head_lreg(as);
ir = IR(REF_BASE);
- if (ra_hasreg(ir->r) && rset_test(as->modset, ir->r)) ra_spill(as, ir);
+ if (ra_hasreg(ir->r) && (rset_test(as->modset, ir->r) || irt_ismarked(ir->t)))
+ ra_spill(as, ir);
if (ra_hasspill(irp->s)) {
rset_clear(allow, ra_dest(as, ir, allow));
} else {
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_asm_mips.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_mips.h
index 9fe7c9c3348..e5c67b53e2a 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_asm_mips.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_mips.h
@@ -1,6 +1,6 @@
/*
** MIPS IR assembler (SSA IR -> machine code).
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
/* -- Register allocator extensions --------------------------------------- */
@@ -394,6 +394,7 @@ static void asm_retf(ASMState *as, IRIns *ir)
int32_t delta = 1+bc_a(*((const BCIns *)pc - 1));
as->topslot -= (BCReg)delta;
if ((int32_t)as->topslot < 0) as->topslot = 0;
+ irt_setmark(IR(REF_BASE)->t); /* Children must not coalesce with BASE reg. */
emit_setgl(as, base, jit_base);
emit_addptr(as, base, -8*delta);
asm_guard(as, MIPSI_BNE, RID_TMP,
@@ -1723,7 +1724,7 @@ static void asm_head_root_base(ASMState *as)
if (as->loopinv) as->mctop--;
if (ra_hasreg(r)) {
ra_free(as, r);
- if (rset_test(as->modset, r))
+ if (rset_test(as->modset, r) || irt_ismarked(ir->t))
ir->r = RID_INIT; /* No inheritance for modified BASE register. */
if (r != RID_BASE)
emit_move(as, r, RID_BASE);
@@ -1738,7 +1739,7 @@ static RegSet asm_head_side_base(ASMState *as, IRIns *irp, RegSet allow)
if (as->loopinv) as->mctop--;
if (ra_hasreg(r)) {
ra_free(as, r);
- if (rset_test(as->modset, r))
+ if (rset_test(as->modset, r) || irt_ismarked(ir->t))
ir->r = RID_INIT; /* No inheritance for modified BASE register. */
if (irp->r == r) {
rset_clear(allow, r); /* Mark same BASE register as coalesced. */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_asm_ppc.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_ppc.h
index 651fa3187a1..e1a496a7e0c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_asm_ppc.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_ppc.h
@@ -1,6 +1,6 @@
/*
** PPC IR assembler (SSA IR -> machine code).
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
/* -- Register allocator extensions --------------------------------------- */
@@ -381,6 +381,7 @@ static void asm_retf(ASMState *as, IRIns *ir)
int32_t delta = 1+bc_a(*((const BCIns *)pc - 1));
as->topslot -= (BCReg)delta;
if ((int32_t)as->topslot < 0) as->topslot = 0;
+ irt_setmark(IR(REF_BASE)->t); /* Children must not coalesce with BASE reg. */
emit_setgl(as, base, jit_base);
emit_addptr(as, base, -8*delta);
asm_guardcc(as, CC_NE);
@@ -1901,7 +1902,7 @@ static void asm_head_root_base(ASMState *as)
Reg r = ir->r;
if (ra_hasreg(r)) {
ra_free(as, r);
- if (rset_test(as->modset, r))
+ if (rset_test(as->modset, r) || irt_ismarked(ir->t))
ir->r = RID_INIT; /* No inheritance for modified BASE register. */
if (r != RID_BASE)
emit_mr(as, r, RID_BASE);
@@ -1915,7 +1916,7 @@ static RegSet asm_head_side_base(ASMState *as, IRIns *irp, RegSet allow)
Reg r = ir->r;
if (ra_hasreg(r)) {
ra_free(as, r);
- if (rset_test(as->modset, r))
+ if (rset_test(as->modset, r) || irt_ismarked(ir->t))
ir->r = RID_INIT; /* No inheritance for modified BASE register. */
if (irp->r == r) {
rset_clear(allow, r); /* Mark same BASE register as coalesced. */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_asm_x86.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_x86.h
index 64441ccb7a0..fda911e50f2 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_asm_x86.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_x86.h
@@ -1,6 +1,6 @@
/*
** x86/x64 IR assembler (SSA IR -> machine code).
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
/* -- Guard handling ------------------------------------------------------ */
@@ -647,6 +647,7 @@ static void asm_retf(ASMState *as, IRIns *ir)
int32_t delta = 1+bc_a(*((const BCIns *)pc - 1));
as->topslot -= (BCReg)delta;
if ((int32_t)as->topslot < 0) as->topslot = 0;
+ irt_setmark(IR(REF_BASE)->t); /* Children must not coalesce with BASE reg. */
emit_setgl(as, base, jit_base);
emit_addptr(as, base, -8*delta);
asm_guardcc(as, CC_NE);
@@ -2481,7 +2482,7 @@ static void asm_head_root_base(ASMState *as)
Reg r = ir->r;
if (ra_hasreg(r)) {
ra_free(as, r);
- if (rset_test(as->modset, r))
+ if (rset_test(as->modset, r) || irt_ismarked(ir->t))
ir->r = RID_INIT; /* No inheritance for modified BASE register. */
if (r != RID_BASE)
emit_rr(as, XO_MOV, r, RID_BASE);
@@ -2495,7 +2496,7 @@ static RegSet asm_head_side_base(ASMState *as, IRIns *irp, RegSet allow)
Reg r = ir->r;
if (ra_hasreg(r)) {
ra_free(as, r);
- if (rset_test(as->modset, r))
+ if (rset_test(as->modset, r) || irt_ismarked(ir->t))
ir->r = RID_INIT; /* No inheritance for modified BASE register. */
if (irp->r == r) {
rset_clear(allow, r); /* Mark same BASE register as coalesced. */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_bc.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bc.c
index 1e5869e6e1a..d5d3d78db8c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_bc.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bc.c
@@ -1,6 +1,6 @@
/*
** Bytecode instruction modes.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_bc_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_bc.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bc.h
index 56e71dd9dcb..1a4ade3175d 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_bc.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bc.h
@@ -1,6 +1,6 @@
/*
** Bytecode instruction format.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_BC_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_bcdump.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bcdump.h
index e660156d68b..77a789e9eb7 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_bcdump.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bcdump.h
@@ -1,6 +1,6 @@
/*
** Bytecode dump definitions.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_BCDUMP_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_bcread.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bcread.c
index 2b5ba85533c..c0baece4605 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_bcread.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bcread.c
@@ -1,6 +1,6 @@
/*
** Bytecode reader.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_bcread_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_bcwrite.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bcwrite.c
index 4805d515f3a..dcdaa10a632 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_bcwrite.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bcwrite.c
@@ -1,6 +1,6 @@
/*
** Bytecode writer.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_bcwrite_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_carith.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_carith.c
index afe7e6821d4..9f94091d488 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_carith.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_carith.c
@@ -1,6 +1,6 @@
/*
** C data arithmetic.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#include "lj_obj.h"
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_carith.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_carith.h
index ae17df00685..8b28556d8cf 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_carith.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_carith.h
@@ -1,6 +1,6 @@
/*
** C data arithmetic.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_CARITH_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ccall.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccall.c
index eb73604f6ed..70c9ba5ec1c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ccall.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccall.c
@@ -1,6 +1,6 @@
/*
** FFI C call handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#include "lj_obj.h"
@@ -173,9 +173,10 @@
#define CCALL_HANDLE_REGARG \
if (isfp) { /* Try to pass argument in FPRs. */ \
- if (nfpr + n <= CCALL_NARG_FPR) { \
+ int n2 = ctype_isvector(d->info) ? 1 : n; \
+ if (nfpr + n2 <= CCALL_NARG_FPR) { \
dp = &cc->fpr[nfpr]; \
- nfpr += n; \
+ nfpr += n2; \
goto done; \
} \
} else { /* Try to pass argument in GPRs. */ \
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ccall.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccall.h
index 1afeed75b20..c3ea9e6f985 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ccall.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccall.h
@@ -1,6 +1,6 @@
/*
** FFI C call handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_CCALL_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ccallback.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccallback.c
index 0010992323e..d872d671514 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ccallback.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccallback.c
@@ -1,6 +1,6 @@
/*
** FFI C callback handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#include "lj_obj.h"
@@ -408,6 +408,7 @@ static void callback_conv_args(CTState *cts, lua_State *L)
intptr_t *stack = cts->cb.stack;
MSize slot = cts->cb.slot;
CTypeID id = 0, rid, fid;
+ int gcsteps = 0;
CType *ct;
GCfunc *fn;
MSize ngpr = 0, nsp = 0, maxgpr = CCALL_NARG_GPR;
@@ -475,7 +476,7 @@ static void callback_conv_args(CTState *cts, lua_State *L)
done:
if (LJ_BE && cta->size < CTSIZE_PTR)
sp = (void *)((uint8_t *)sp + CTSIZE_PTR-cta->size);
- lj_cconv_tv_ct(cts, cta, 0, o++, sp);
+ gcsteps += lj_cconv_tv_ct(cts, cta, 0, o++, sp);
}
fid = ctf->sib;
}
@@ -485,6 +486,8 @@ static void callback_conv_args(CTState *cts, lua_State *L)
if (ctype_cconv(ct->info) != CTCC_CDECL)
(L->base-2)->u32.hi |= (nsp << (16+2));
#endif
+ while (gcsteps-- > 0)
+ lj_gc_check(L);
}
/* Convert Lua object to callback result. */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ccallback.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccallback.h
index ac11d7b66d2..45b5ff02d5e 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ccallback.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccallback.h
@@ -1,6 +1,6 @@
/*
** FFI C callback handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_CCALLBACK_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_cconv.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cconv.c
index 337382f5f2b..de4938e4fc6 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_cconv.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cconv.c
@@ -1,6 +1,6 @@
/*
** C type conversions.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#include "lj_obj.h"
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_cconv.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cconv.h
index 5e95d2e930d..17e0f050e46 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_cconv.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cconv.h
@@ -1,6 +1,6 @@
/*
** C type conversions.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_CCONV_H
@@ -29,7 +29,7 @@ static LJ_AINLINE uint32_t cconv_idx(CTInfo info)
uint32_t idx = ((info >> 26) & 15u); /* Dispatch bits. */
lua_assert(ctype_type(info) <= CT_MAYCONVERT);
#if LJ_64
- idx = ((U64x(f436fff5,fff7f021) >> 4*idx) & 15u);
+ idx = ((uint32_t)(U64x(f436fff5,fff7f021) >> 4*idx) & 15u);
#else
idx = (((idx < 8 ? 0xfff7f021u : 0xf436fff5) >> 4*(idx & 7u)) & 15u);
#endif
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_cdata.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cdata.c
index 10f4809c118..590ddf106c3 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_cdata.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cdata.c
@@ -1,6 +1,6 @@
/*
** C data management.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#include "lj_obj.h"
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_cdata.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cdata.h
index 0c81b02b7fd..6c8e7a1ad41 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_cdata.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cdata.h
@@ -1,6 +1,6 @@
/*
** C data management.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_CDATA_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_char.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_char.c
index 11f23efe44d..11f23efe44d 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_char.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_char.c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_char.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_char.h
index c3c86d34b1d..c3c86d34b1d 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_char.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_char.h
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_clib.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_clib.c
index 23d1f18224d..ccb99e55a4d 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_clib.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_clib.c
@@ -1,6 +1,6 @@
/*
** FFI C library loader.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#include "lj_obj.h"
@@ -144,9 +144,6 @@ static void *clib_getsym(CLibrary *cl, const char *name)
#elif LJ_TARGET_WINDOWS
#define WIN32_LEAN_AND_MEAN
-#ifndef WINVER
-#define WINVER 0x0500
-#endif
#include <windows.h>
#ifndef GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS
@@ -220,7 +217,7 @@ static void clib_unloadlib(CLibrary *cl)
FreeLibrary((HINSTANCE)h);
}
}
- } else if (!cl->handle) {
+ } else if (cl->handle) {
FreeLibrary((HINSTANCE)cl->handle);
}
}
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_clib.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_clib.h
index 421388adebc..47373288219 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_clib.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_clib.h
@@ -1,6 +1,6 @@
/*
** FFI C library loader.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_CLIB_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_cparse.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cparse.c
index 107c0381d4d..6ffe16a2f18 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_cparse.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cparse.c
@@ -1,6 +1,6 @@
/*
** C declaration parser.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#include "lj_obj.h"
@@ -57,14 +57,22 @@ static LJ_AINLINE int cp_iseol(CPChar c)
return (c == '\n' || c == '\r');
}
-static LJ_AINLINE CPChar cp_get(CPState *cp);
-
/* Peek next raw character. */
static LJ_AINLINE CPChar cp_rawpeek(CPState *cp)
{
return (CPChar)(uint8_t)(*cp->p);
}
+static LJ_NOINLINE CPChar cp_get_bs(CPState *cp);
+
+/* Get next character. */
+static LJ_AINLINE CPChar cp_get(CPState *cp)
+{
+ cp->c = (CPChar)(uint8_t)(*cp->p++);
+ if (LJ_LIKELY(cp->c != '\\')) return cp->c;
+ return cp_get_bs(cp);
+}
+
/* Transparently skip backslash-escaped line breaks. */
static LJ_NOINLINE CPChar cp_get_bs(CPState *cp)
{
@@ -77,14 +85,6 @@ static LJ_NOINLINE CPChar cp_get_bs(CPState *cp)
return cp_get(cp);
}
-/* Get next character. */
-static LJ_AINLINE CPChar cp_get(CPState *cp)
-{
- cp->c = (CPChar)(uint8_t)(*cp->p++);
- if (LJ_LIKELY(cp->c != '\\')) return cp->c;
- return cp_get_bs(cp);
-}
-
/* Grow save buffer. */
static LJ_NOINLINE void cp_save_grow(CPState *cp, CPChar c)
{
@@ -1258,7 +1258,7 @@ static void cp_struct_layout(CPState *cp, CTypeID sid, CTInfo sattr)
sinfo |= (info & (CTF_QUAL|CTF_VLA)); /* Merge pseudo-qualifiers. */
/* Check for size overflow and determine alignment. */
- if (sz >= 0x20000000u || bofs + csz < bofs) {
+ if (sz >= 0x20000000u || bofs + csz < bofs || (info & CTF_VLA)) {
if (!(sz == CTSIZE_INVALID && ctype_isarray(info) &&
!(sinfo & CTF_UNION)))
cp_err(cp, LJ_ERR_FFI_INVSIZE);
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_cparse.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cparse.h
index c097b14a6e0..586f494569d 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_cparse.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cparse.h
@@ -1,6 +1,6 @@
/*
** C declaration parser.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_CPARSE_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_crecord.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_crecord.c
index df98e6ec909..da9013f0cae 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_crecord.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_crecord.c
@@ -1,6 +1,6 @@
/*
** Trace recorder for C data operations.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_ffrecord_c
@@ -1514,7 +1514,7 @@ void LJ_FASTCALL recff_ffi_string(jit_State *J, RecordFFData *rd)
TRef tr = J->base[0];
if (tr) {
TRef trlen = J->base[1];
- if (trlen) {
+ if (!tref_isnil(trlen)) {
trlen = crec_toint(J, cts, trlen, &rd->argv[1]);
tr = crec_ct_tv(J, ctype_get(cts, CTID_P_CVOID), 0, tr, &rd->argv[0]);
} else {
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_crecord.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_crecord.h
index dea05f78ab7..fb77ca60810 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_crecord.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_crecord.h
@@ -1,6 +1,6 @@
/*
** Trace recorder for C data operations.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_CRECORD_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ctype.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ctype.c
index 57a0d7cc817..e9fe0943f4e 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ctype.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ctype.c
@@ -1,6 +1,6 @@
/*
** C type management.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#include "lj_obj.h"
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ctype.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ctype.h
index c43a2ba8755..ff8ee069b07 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ctype.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ctype.h
@@ -1,6 +1,6 @@
/*
** C type management.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_CTYPE_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_debug.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_debug.c
index be7fb2b1f0a..4653a4ec153 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_debug.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_debug.c
@@ -1,6 +1,6 @@
/*
** Debugging and introspection.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_debug_c
@@ -71,9 +71,18 @@ static BCPos debug_framepc(lua_State *L, GCfunc *fn, cTValue *nextframe)
/* Lua function below errfunc/gc/hook: find cframe to get the PC. */
void *cf = cframe_raw(L->cframe);
TValue *f = L->base-1;
- if (cf == NULL)
- return NO_BCPOS;
- while (f > nextframe) {
+ for (;;) {
+ if (cf == NULL)
+ return NO_BCPOS;
+ while (cframe_nres(cf) < 0) {
+ if (f >= restorestack(L, -cframe_nres(cf)))
+ break;
+ cf = cframe_raw(cframe_prev(cf));
+ if (cf == NULL)
+ return NO_BCPOS;
+ }
+ if (f < nextframe)
+ break;
if (frame_islua(f)) {
f = frame_prevl(f);
} else {
@@ -82,8 +91,6 @@ static BCPos debug_framepc(lua_State *L, GCfunc *fn, cTValue *nextframe)
f = frame_prevd(f);
}
}
- if (cframe_prev(cf))
- cf = cframe_raw(cframe_prev(cf));
ins = cframe_pc(cf);
}
}
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_debug.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_debug.h
index 7cf57de7785..bec6b4f35fe 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_debug.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_debug.h
@@ -1,6 +1,6 @@
/*
** Debugging and introspection.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_DEBUG_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_def.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_def.h
index 250729f759d..47c6158c08f 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_def.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_def.h
@@ -1,6 +1,6 @@
/*
** LuaJIT common internal definitions.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_DEF_H
@@ -62,7 +62,7 @@ typedef unsigned int uintptr_t;
#define LJ_MAX_BCINS (1<<26) /* Max. # of bytecode instructions. */
#define LJ_MAX_SLOTS 250 /* Max. # of slots in a Lua func. */
#define LJ_MAX_LOCVAR 200 /* Max. # of local variables. */
-#define LJ_MAX_UPVAL 60 /* Max. # of upvalues. */
+#define LJ_MAX_UPVAL 249 /* Max. # of upvalues. */
#define LJ_MAX_IDXCHAIN 100 /* __index/__newindex chain limit. */
#define LJ_STACK_EXTRA 5 /* Extra stack space (metamethods). */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_dispatch.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_dispatch.c
index d57f1a6f92f..58d6c3e2b81 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_dispatch.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_dispatch.c
@@ -1,6 +1,6 @@
/*
** Instruction dispatch handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_dispatch_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_dispatch.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_dispatch.h
index a56b626021a..5960e64a603 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_dispatch.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_dispatch.h
@@ -1,6 +1,6 @@
/*
** Instruction dispatch handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_DISPATCH_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_emit_arm.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_arm.h
index b76a9a45f98..3bac3679a60 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_emit_arm.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_arm.h
@@ -1,6 +1,6 @@
/*
** ARM instruction emitter.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
/* -- Constant encoding --------------------------------------------------- */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_emit_mips.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_mips.h
index 74821b8b87a..dc9197ad8e8 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_emit_mips.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_mips.h
@@ -1,6 +1,6 @@
/*
** MIPS instruction emitter.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
/* -- Emit basic instructions --------------------------------------------- */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_emit_ppc.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_ppc.h
index a589f3a6076..3a2ae3894ff 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_emit_ppc.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_ppc.h
@@ -1,6 +1,6 @@
/*
** PPC instruction emitter.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
/* -- Emit basic instructions --------------------------------------------- */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_emit_x86.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_x86.h
index bd184a30587..8cfb654f3d0 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_emit_x86.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_x86.h
@@ -1,6 +1,6 @@
/*
** x86/x64 instruction emitter.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
/* -- Emit basic instructions --------------------------------------------- */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_err.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_err.c
index 1d2ff5535a6..db182673384 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_err.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_err.c
@@ -1,6 +1,6 @@
/*
** Error handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_err_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_err.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_err.h
index dbea4091000..7ea512a348d 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_err.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_err.h
@@ -1,6 +1,6 @@
/*
** Error handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_ERR_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_errmsg.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_errmsg.h
index fd46acd4964..137831eb35c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_errmsg.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_errmsg.h
@@ -1,6 +1,6 @@
/*
** VM error messages.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
/* This file may be included multiple times with different ERRDEF macros. */
@@ -102,6 +102,7 @@ ERRDEF(STRFMTW, "invalid format (width or precision too long)")
ERRDEF(STRGSRV, "invalid replacement value (a %s)")
ERRDEF(BADMODN, "name conflict for module " LUA_QS)
#if LJ_HASJIT
+ERRDEF(JITPROT, "runtime code generation failed, restricted kernel?")
#if LJ_TARGET_X86ORX64
ERRDEF(NOJIT, "JIT compiler disabled, CPU does not support SSE2")
#else
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ff.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ff.h
index b4a430108c0..d91a7395bae 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ff.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ff.h
@@ -1,6 +1,6 @@
/*
** Fast function IDs.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_FF_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ffrecord.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ffrecord.c
index 35e2e88e317..794bbd43cd5 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ffrecord.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ffrecord.c
@@ -1,6 +1,6 @@
/*
** Fast function call recorder.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_ffrecord_c
@@ -657,20 +657,19 @@ static void LJ_FASTCALL recff_string_range(jit_State *J, RecordFFData *rd)
end = argv2int(J, &rd->argv[2]);
}
} else { /* string.byte(str, [,start [,end]]) */
- if (!tref_isnil(J->base[1])) {
+ if (tref_isnil(J->base[1])) {
+ start = 1;
+ trstart = lj_ir_kint(J, 1);
+ } else {
start = argv2int(J, &rd->argv[1]);
trstart = lj_opt_narrow_toint(J, J->base[1]);
- trend = J->base[2];
- if (tref_isnil(trend)) {
- trend = trstart;
- end = start;
- } else {
- trend = lj_opt_narrow_toint(J, trend);
- end = argv2int(J, &rd->argv[2]);
- }
+ }
+ if (J->base[1] && !tref_isnil(J->base[2])) {
+ trend = lj_opt_narrow_toint(J, J->base[2]);
+ end = argv2int(J, &rd->argv[2]);
} else {
- trend = trstart = lj_ir_kint(J, 1);
- end = start = 1;
+ trend = trstart;
+ end = start;
}
}
if (end < 0) {
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ffrecord.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ffrecord.h
index 9a30f359edf..b3bc66279c0 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ffrecord.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ffrecord.h
@@ -1,6 +1,6 @@
/*
** Fast function call recorder.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_FFRECORD_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_frame.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_frame.h
index 60ce1a9f0d9..fb533b0e548 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_frame.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_frame.h
@@ -1,6 +1,6 @@
/*
** Stack frames.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_FRAME_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_func.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_func.c
index 83f2d0b58ad..9a59b0f0cb2 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_func.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_func.c
@@ -1,6 +1,6 @@
/*
** Function handling (prototypes, functions and upvalues).
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** Portions taken verbatim or adapted from the Lua interpreter.
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_func.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_func.h
index 73280a8e1ae..88732e83ef4 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_func.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_func.h
@@ -1,6 +1,6 @@
/*
** Function handling (prototypes, functions and upvalues).
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_FUNC_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_gc.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gc.c
index 79f8b720448..c2bc397d4bd 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_gc.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gc.c
@@ -1,6 +1,6 @@
/*
** Garbage collector.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** Major portions taken verbatim or adapted from the Lua interpreter.
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
@@ -501,6 +501,7 @@ static void gc_finalize(lua_State *L)
setcdataV(L, &tmp, gco2cd(o));
tv = lj_tab_set(L, ctype_ctsG(g)->finalizer, &tmp);
if (!tvisnil(tv)) {
+ g->gc.nocdatafin = 0;
copyTV(L, &tmp, tv);
setnilV(tv); /* Clear entry in finalizer table. */
gc_call_finalizer(g, L, &tmp, o);
@@ -634,6 +635,9 @@ static size_t gc_onestep(lua_State *L)
gc_shrink(g, L);
if (gcref(g->gc.mmudata)) { /* Need any finalizations? */
g->gc.state = GCSfinalize;
+#if LJ_HASFFI
+ g->gc.nocdatafin = 1;
+#endif
} else { /* Otherwise skip this phase to help the JIT. */
g->gc.state = GCSpause; /* End of GC cycle. */
g->gc.debt = 0;
@@ -652,6 +656,9 @@ static size_t gc_onestep(lua_State *L)
g->gc.estimate -= GCFINALIZECOST;
return GCFINALIZECOST;
}
+#if LJ_HASFFI
+ if (!g->gc.nocdatafin) lj_tab_rehash(L, ctype_ctsG(g)->finalizer);
+#endif
g->gc.state = GCSpause; /* End of GC cycle. */
g->gc.debt = 0;
return 0;
@@ -671,7 +678,8 @@ int LJ_FASTCALL lj_gc_step(lua_State *L)
lim = (GCSTEPSIZE/100) * g->gc.stepmul;
if (lim == 0)
lim = LJ_MAX_MEM;
- g->gc.debt += g->gc.total - g->gc.threshold;
+ if (g->gc.total > g->gc.threshold)
+ g->gc.debt += g->gc.total - g->gc.threshold;
do {
lim -= (MSize)gc_onestep(L);
if (g->gc.state == GCSpause) {
@@ -682,12 +690,14 @@ int LJ_FASTCALL lj_gc_step(lua_State *L)
} while ((int32_t)lim > 0);
if (g->gc.debt < GCSTEPSIZE) {
g->gc.threshold = g->gc.total + GCSTEPSIZE;
+ g->vmstate = ostate;
+ return -1;
} else {
g->gc.debt -= GCSTEPSIZE;
g->gc.threshold = g->gc.total;
+ g->vmstate = ostate;
+ return 0;
}
- g->vmstate = ostate;
- return 0;
}
/* Ditto, but fix the stack top first. */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_gc.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gc.h
index 22f7fea54cd..c85d0756ba7 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_gc.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gc.h
@@ -1,6 +1,6 @@
/*
** Garbage collector.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_GC_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_gdbjit.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gdbjit.c
index 284195a15d2..5e7fca1c16f 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_gdbjit.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gdbjit.c
@@ -1,6 +1,6 @@
/*
** Client for the GDB JIT API.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_gdbjit_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_gdbjit.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gdbjit.h
index 481cb22a362..9ae504fc55b 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_gdbjit.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gdbjit.h
@@ -1,6 +1,6 @@
/*
** Client for the GDB JIT API.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_GDBJIT_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ir.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ir.c
index e1a59105cf6..b2170a10ebd 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ir.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ir.c
@@ -1,6 +1,6 @@
/*
** SSA IR (Intermediate Representation) emitter.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_ir_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ir.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ir.h
index a98243253fb..80763d88e12 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ir.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ir.h
@@ -1,6 +1,6 @@
/*
** SSA IR (Intermediate Representation) format.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_IR_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ircall.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ircall.h
index 7fcc532ebb5..af30ba8fc97 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_ircall.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ircall.h
@@ -1,6 +1,6 @@
/*
** IR CALL* instruction definitions.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_IRCALL_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_iropt.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_iropt.h
index a74f018f318..e45ae2b7b02 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_iropt.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_iropt.h
@@ -1,6 +1,6 @@
/*
** Common header for IR emitter and optimizations.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_IROPT_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_jit.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_jit.h
index c0b1c41e687..b69e4f4ef89 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_jit.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_jit.h
@@ -1,6 +1,6 @@
/*
** Common definitions for the JIT compiler.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_JIT_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_lex.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lex.c
index 9f2b06f8f50..4fa39313fff 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_lex.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lex.c
@@ -1,6 +1,6 @@
/*
** Lexical analyzer.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** Major portions taken verbatim or adapted from the Lua interpreter.
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_lex.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lex.h
index 6e18e4b080b..a7ff29a011a 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_lex.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lex.h
@@ -1,6 +1,6 @@
/*
** Lexical analyzer.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_LEX_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_lib.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lib.c
index 331eaa6a8c3..76c8a064a4f 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_lib.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lib.c
@@ -1,6 +1,6 @@
/*
** Library function support.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_lib_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_lib.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lib.h
index 2fe6d2a8d4c..daacb921357 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_lib.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lib.h
@@ -1,6 +1,6 @@
/*
** Library function support.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_LIB_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_load.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_load.c
index 9d892678e9f..edfdc9037dc 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_load.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_load.c
@@ -1,6 +1,6 @@
/*
** Load and dump code.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#include <errno.h>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_mcode.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_mcode.c
index cb79e8cdd7f..5a732960772 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_mcode.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_mcode.c
@@ -1,6 +1,6 @@
/*
** Machine code management.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_mcode_c
@@ -9,6 +9,7 @@
#include "lj_obj.h"
#if LJ_HASJIT
#include "lj_gc.h"
+#include "lj_err.h"
#include "lj_jit.h"
#include "lj_mcode.h"
#include "lj_trace.h"
@@ -78,10 +79,10 @@ static void mcode_free(jit_State *J, void *p, size_t sz)
VirtualFree(p, 0, MEM_RELEASE);
}
-static void mcode_setprot(void *p, size_t sz, DWORD prot)
+static int mcode_setprot(void *p, size_t sz, DWORD prot)
{
DWORD oprot;
- VirtualProtect(p, sz, prot, &oprot);
+ return !VirtualProtect(p, sz, prot, &oprot);
}
#elif LJ_TARGET_POSIX
@@ -112,9 +113,9 @@ static void mcode_free(jit_State *J, void *p, size_t sz)
munmap(p, sz);
}
-static void mcode_setprot(void *p, size_t sz, int prot)
+static int mcode_setprot(void *p, size_t sz, int prot)
{
- mprotect(p, sz, prot);
+ return mprotect(p, sz, prot);
}
#elif LJ_64
@@ -140,8 +141,6 @@ static void mcode_free(jit_State *J, void *p, size_t sz)
lj_mem_free(J2G(J), p, sz);
}
-#define mcode_setprot(p, sz, prot) UNUSED(p)
-
#endif
/* -- MCode area protection ----------------------------------------------- */
@@ -180,11 +179,23 @@ static void mcode_protect(jit_State *J, int prot)
#define MCPROT_GEN MCPROT_RW
#define MCPROT_RUN MCPROT_RX
+/* Protection twiddling failed. Probably due to kernel security. */
+static LJ_NOINLINE void mcode_protfail(jit_State *J)
+{
+ lua_CFunction panic = J2G(J)->panic;
+ if (panic) {
+ lua_State *L = J->L;
+ setstrV(L, L->top++, lj_err_str(L, LJ_ERR_JITPROT));
+ panic(L);
+ }
+}
+
/* Change protection of MCode area. */
static void mcode_protect(jit_State *J, int prot)
{
if (J->mcprot != prot) {
- mcode_setprot(J->mcarea, J->szmcarea, prot);
+ if (LJ_UNLIKELY(mcode_setprot(J->mcarea, J->szmcarea, prot)))
+ mcode_protfail(J);
J->mcprot = prot;
}
}
@@ -305,7 +316,8 @@ void lj_mcode_commit(jit_State *J, MCode *top)
/* Abort the reservation. */
void lj_mcode_abort(jit_State *J)
{
- mcode_protect(J, MCPROT_RUN);
+ if (J->mcarea)
+ mcode_protect(J, MCPROT_RUN);
}
/* Set/reset protection to allow patching of MCode areas. */
@@ -318,8 +330,8 @@ MCode *lj_mcode_patch(jit_State *J, MCode *ptr, int finish)
if (finish) {
if (J->mcarea == ptr)
mcode_protect(J, MCPROT_RUN);
- else
- mcode_setprot(ptr, ((MCLink *)ptr)->size, MCPROT_RUN);
+ else if (LJ_UNLIKELY(mcode_setprot(ptr, ((MCLink *)ptr)->size, MCPROT_RUN)))
+ mcode_protfail(J);
return NULL;
} else {
MCode *mc = J->mcarea;
@@ -333,7 +345,8 @@ MCode *lj_mcode_patch(jit_State *J, MCode *ptr, int finish)
mc = ((MCLink *)mc)->next;
lua_assert(mc != NULL);
if (ptr >= mc && ptr < (MCode *)((char *)mc + ((MCLink *)mc)->size)) {
- mcode_setprot(mc, ((MCLink *)mc)->size, MCPROT_GEN);
+ if (LJ_UNLIKELY(mcode_setprot(mc, ((MCLink *)mc)->size, MCPROT_GEN)))
+ mcode_protfail(J);
return mc;
}
}
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_mcode.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_mcode.h
index 2ba371bc1d6..89344fc7345 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_mcode.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_mcode.h
@@ -1,6 +1,6 @@
/*
** Machine code management.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_MCODE_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_meta.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_meta.c
index 441d571ac7e..0a526671090 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_meta.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_meta.c
@@ -1,6 +1,6 @@
/*
** Metamethod handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** Portions taken verbatim or adapted from the Lua interpreter.
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_meta.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_meta.h
index 6af5e514435..8d7c2cd416d 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_meta.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_meta.h
@@ -1,6 +1,6 @@
/*
** Metamethod handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_META_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_obj.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_obj.c
index 322b7bec7ca..c7f3bc1214f 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_obj.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_obj.c
@@ -1,6 +1,6 @@
/*
** Miscellaneous object handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_obj_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_obj.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_obj.h
index b967819d079..cc999aa41a2 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_obj.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_obj.h
@@ -1,6 +1,6 @@
/*
** LuaJIT VM tags, values and objects.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** Portions taken verbatim or adapted from the Lua interpreter.
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
@@ -493,7 +493,7 @@ typedef struct GCState {
MSize threshold; /* Memory threshold. */
uint8_t currentwhite; /* Current white color. */
uint8_t state; /* GC state. */
- uint8_t unused1;
+ uint8_t nocdatafin; /* No cdata finalizer called. */
uint8_t unused2;
MSize sweepstr; /* Sweep position in string table. */
GCRef root; /* List of all collectable objects. */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_opt_dce.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_dce.c
index d64cca76cca..be801894714 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_opt_dce.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_dce.c
@@ -1,6 +1,6 @@
/*
** DCE: Dead Code Elimination. Pre-LOOP only -- ASM already performs DCE.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_opt_dce_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_opt_fold.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_fold.c
index fe37b98a885..8a5b41cc223 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_opt_fold.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_fold.c
@@ -2,7 +2,7 @@
** FOLD: Constant Folding, Algebraic Simplifications and Reassociation.
** ABCelim: Array Bounds Check Elimination.
** CSE: Common-Subexpression Elimination.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_opt_fold_c
@@ -1699,7 +1699,9 @@ LJFOLDF(abc_k)
LJFOLD(ABC any any)
LJFOLDF(abc_invar)
{
- if (!irt_isint(fins->t) && J->chain[IR_LOOP]) /* Currently marked as PTR. */
+ /* Invariant ABC marked as PTR. Drop if op1 is invariant, too. */
+ if (!irt_isint(fins->t) && fins->op1 < J->chain[IR_LOOP] &&
+ !irt_isphi(IR(fins->op1)->t))
return DROPFOLD;
return NEXTFOLD;
}
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_opt_loop.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_loop.c
index 3a119f4703e..fa001151a03 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_opt_loop.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_loop.c
@@ -1,6 +1,6 @@
/*
** LOOP: Loop Optimizations.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_opt_loop_c
@@ -105,20 +105,24 @@ static void loop_emit_phi(jit_State *J, IRRef1 *subst, IRRef1 *phi, IRRef nphi,
SnapNo onsnap)
{
int passx = 0;
- IRRef i, nslots;
+ IRRef i, j, nslots;
IRRef invar = J->chain[IR_LOOP];
/* Pass #1: mark redundant and potentially redundant PHIs. */
- for (i = 0; i < nphi; i++) {
+ for (i = 0, j = 0; i < nphi; i++) {
IRRef lref = phi[i];
IRRef rref = subst[lref];
if (lref == rref || rref == REF_DROP) { /* Invariants are redundant. */
- irt_setmark(IR(lref)->t);
- } else if (!(IR(rref)->op1 == lref || IR(rref)->op2 == lref)) {
- /* Quick check for simple recurrences failed, need pass2. */
- irt_setmark(IR(lref)->t);
- passx = 1;
+ irt_clearphi(IR(lref)->t);
+ } else {
+ phi[j++] = (IRRef1)lref;
+ if (!(IR(rref)->op1 == lref || IR(rref)->op2 == lref)) {
+ /* Quick check for simple recurrences failed, need pass2. */
+ irt_setmark(IR(lref)->t);
+ passx = 1;
+ }
}
}
+ nphi = j;
/* Pass #2: traverse variant part and clear marks of non-redundant PHIs. */
if (passx) {
SnapNo s;
@@ -174,15 +178,10 @@ static void loop_emit_phi(jit_State *J, IRRef1 *subst, IRRef1 *phi, IRRef nphi,
IRRef lref = phi[i];
IRIns *ir = IR(lref);
if (!irt_ismarked(ir->t)) { /* Propagate only from unmarked PHIs. */
- IRRef rref = subst[lref];
- if (lref == rref) { /* Mark redundant PHI. */
- irt_setmark(ir->t);
- } else {
- IRIns *irr = IR(rref);
- if (irt_ismarked(irr->t)) { /* Right ref points to other PHI? */
- irt_clearmark(irr->t); /* Mark that PHI as non-redundant. */
- passx = 1; /* Retry. */
- }
+ IRIns *irr = IR(subst[lref]);
+ if (irt_ismarked(irr->t)) { /* Right ref points to other PHI? */
+ irt_clearmark(irr->t); /* Mark that PHI as non-redundant. */
+ passx = 1; /* Retry. */
}
}
}
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_opt_mem.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_mem.c
index 98974ce33c6..c8cdc3e5f01 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_opt_mem.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_mem.c
@@ -3,7 +3,7 @@
** AA: Alias Analysis using high-level semantic disambiguation.
** FWD: Load Forwarding (L2L) + Store Forwarding (S2L).
** DSE: Dead-Store Elimination.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_opt_mem_c
@@ -396,13 +396,13 @@ static AliasRet aa_uref(IRIns *refa, IRIns *refb)
TRef LJ_FASTCALL lj_opt_fwd_uload(jit_State *J)
{
IRRef uref = fins->op1;
- IRRef lim = uref; /* Search limit. */
+ IRRef lim = REF_BASE; /* Search limit. */
IRIns *xr = IR(uref);
IRRef ref;
/* Search for conflicting stores. */
ref = J->chain[IR_USTORE];
- while (ref > uref) {
+ while (ref > lim) {
IRIns *store = IR(ref);
switch (aa_uref(xr, IR(store->op1))) {
case ALIAS_NO: break; /* Continue searching. */
@@ -414,7 +414,16 @@ TRef LJ_FASTCALL lj_opt_fwd_uload(jit_State *J)
cselim:
/* Try to find a matching load. Below the conflicting store, if any. */
- return lj_opt_cselim(J, lim);
+
+ ref = J->chain[IR_ULOAD];
+ while (ref > lim) {
+ IRIns *ir = IR(ref);
+ if (ir->op1 == uref ||
+ (IR(ir->op1)->op12 == IR(uref)->op12 && IR(ir->op1)->o == IR(uref)->o))
+ return ref; /* Match for identical or equal UREFx (non-CSEable UREFO). */
+ ref = ir->prev;
+ }
+ return lj_ir_emit(J);
}
/* USTORE elimination. */
@@ -609,16 +618,17 @@ static AliasRet aa_xref(jit_State *J, IRIns *refa, IRIns *xa, IRIns *xb)
basea = IR(refa->op1);
ofsa = (LJ_64 && irk->o == IR_KINT64) ? (ptrdiff_t)ir_k64(irk)->u64 :
(ptrdiff_t)irk->i;
- if (basea == refb && ofsa != 0)
- return ALIAS_NO; /* base+-ofs vs. base. */
}
if (refb->o == IR_ADD && irref_isk(refb->op2)) {
IRIns *irk = IR(refb->op2);
baseb = IR(refb->op1);
ofsb = (LJ_64 && irk->o == IR_KINT64) ? (ptrdiff_t)ir_k64(irk)->u64 :
(ptrdiff_t)irk->i;
- if (refa == baseb && ofsb != 0)
- return ALIAS_NO; /* base vs. base+-ofs. */
+ }
+ /* Treat constified pointers like base vs. base+offset. */
+ if (basea->o == IR_KPTR && baseb->o == IR_KPTR) {
+ ofsb += (char *)ir_kptr(baseb) - (char *)ir_kptr(basea);
+ baseb = basea;
}
/* This implements (very) strict aliasing rules.
** Different types do NOT alias, except for differences in signedness.
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_opt_narrow.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_narrow.c
index caf2a8df1cf..2cecf65daf4 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_opt_narrow.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_narrow.c
@@ -1,7 +1,7 @@
/*
** NARROW: Narrowing of numbers to integers (double to int32_t).
** STRIPOV: Stripping of overflow checks.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_opt_narrow_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_opt_sink.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_sink.c
index 56e463687e9..3a333461603 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_opt_sink.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_sink.c
@@ -1,6 +1,6 @@
/*
** SINK: Allocation Sinking and Store Sinking.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_opt_sink_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_opt_split.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_split.c
index 5a8c33b9499..99d10584f24 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_opt_split.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_split.c
@@ -1,6 +1,6 @@
/*
** SPLIT: Split 64 bit IR instructions into 32 bit IR instructions.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_opt_split_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_parse.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_parse.c
index 7ff7d72855d..e8aafba2081 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_parse.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_parse.c
@@ -1,6 +1,6 @@
/*
** Lua parser (source code -> bytecode).
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** Major portions taken verbatim or adapted from the Lua interpreter.
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
@@ -1555,7 +1555,9 @@ static void fs_fixup_ret(FuncState *fs)
switch (bc_op(ins)) {
case BC_CALLMT: case BC_CALLT:
case BC_RETM: case BC_RET: case BC_RET0: case BC_RET1:
- offset = bcemit_INS(fs, ins)-(pc+1)+BCBIAS_J; /* Copy return ins. */
+ offset = bcemit_INS(fs, ins); /* Copy original instruction. */
+ fs->bcbase[offset].line = fs->bcbase[pc].line;
+ offset = offset-(pc+1)+BCBIAS_J;
if (offset > BCMAX_D)
err_syntax(fs->ls, LJ_ERR_XFIXUP);
/* Replace with UCLO plus branch. */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_parse.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_parse.h
index 558b4e2d012..532657a0115 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_parse.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_parse.h
@@ -1,6 +1,6 @@
/*
** Lua parser (source code -> bytecode).
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_PARSE_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_record.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_record.c
index 7336e0ac14e..c6848fc09c8 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_record.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_record.c
@@ -1,6 +1,6 @@
/*
** Trace recorder (bytecode -> SSA IR).
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_record_c
@@ -701,7 +701,7 @@ void lj_record_ret(jit_State *J, BCReg rbase, ptrdiff_t gotresults)
(!frame_islua(frame) ||
(J->parent == 0 && !bc_isret(bc_op(J->cur.startins))))) {
/* NYI: specialize to frame type and return directly, not via RET*. */
- for (i = -1; i < (ptrdiff_t)rbase; i++)
+ for (i = 0; i < (ptrdiff_t)rbase; i++)
J->base[i] = 0; /* Purge dead slots. */
J->maxslot = rbase + (BCReg)gotresults;
rec_stop(J, LJ_TRLINK_RETURN, 0); /* Return to interpreter. */
@@ -722,6 +722,8 @@ void lj_record_ret(jit_State *J, BCReg rbase, ptrdiff_t gotresults)
ptrdiff_t nresults = bc_b(callins) ? (ptrdiff_t)bc_b(callins)-1 :gotresults;
BCReg cbase = bc_a(callins);
GCproto *pt = funcproto(frame_func(frame - (cbase+1)));
+ if ((pt->flags & PROTO_NOJIT))
+ lj_trace_err(J, LJ_TRERR_CJITOFF);
if (J->framedepth == 0 && J->pt && frame == J->L->base - 1) {
if (check_downrec_unroll(J, pt)) {
J->maxslot = (BCReg)(rbase + gotresults);
@@ -1387,6 +1389,7 @@ static void check_call_unroll(jit_State *J, TraceNo lnk)
int32_t count = 0;
if ((J->pt->flags & PROTO_VARARG)) depth--; /* Vararg frame still missing. */
for (; depth > 0; depth--) { /* Count frames with same prototype. */
+ if (frame_iscont(frame)) depth--;
frame = frame_prev(frame);
if (mref(frame_func(frame)->l.pc, void) == pc)
count++;
@@ -1505,10 +1508,8 @@ static void rec_varg(jit_State *J, BCReg dst, ptrdiff_t nresults)
} else if (dst + nresults > J->maxslot) {
J->maxslot = dst + (BCReg)nresults;
}
- for (i = 0; i < nresults; i++) {
- J->base[dst+i] = i < nvararg ? J->base[i - nvararg - 1] : TREF_NIL;
- lua_assert(J->base[dst+i] != 0);
- }
+ for (i = 0; i < nresults; i++)
+ J->base[dst+i] = i < nvararg ? getslot(J, i - nvararg - 1) : TREF_NIL;
} else { /* Unknown number of varargs passed to trace. */
TRef fr = emitir(IRTI(IR_SLOAD), 0, IRSLOAD_READONLY|IRSLOAD_FRAME);
int32_t frofs = 8*(1+numparams)+FRAME_VARG;
@@ -2128,7 +2129,7 @@ static const BCIns *rec_setup_root(jit_State *J)
case BC_RET0:
case BC_RET1:
/* No bytecode range check for down-recursive root traces. */
- J->maxslot = ra + bc_d(ins);
+ J->maxslot = ra + bc_d(ins) - 1;
break;
case BC_FUNCF:
/* No bytecode range check for root traces started by a hot call. */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_record.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_record.h
index 287b26045e2..940e105fb37 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_record.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_record.h
@@ -1,6 +1,6 @@
/*
** Trace recorder (bytecode -> SSA IR).
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_RECORD_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_snap.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_snap.c
index 30ff9152891..1c978c26a9a 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_snap.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_snap.c
@@ -1,6 +1,6 @@
/*
** Snapshot handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_snap_c
@@ -708,7 +708,7 @@ static void snap_unsink(jit_State *J, GCtrace *T, ExitState *ex,
ir->o == IR_CNEW || ir->o == IR_CNEWI);
#if LJ_HASFFI
if (ir->o == IR_CNEW || ir->o == IR_CNEWI) {
- CTState *cts = ctype_ctsG(J2G(J));
+ CTState *cts = ctype_cts(J->L);
CTypeID id = (CTypeID)T->ir[ir->op1].i;
CTSize sz = lj_ctype_size(cts, id);
GCcdata *cd = lj_cdata_new(cts, id, sz);
@@ -845,12 +845,15 @@ const BCIns *lj_snap_restore(jit_State *J, void *exptr)
/* Compute current stack top. */
switch (bc_op(*pc)) {
+ default:
+ if (bc_op(*pc) < BC_FUNCF) {
+ L->top = curr_topL(L);
+ break;
+ }
+ /* fallthrough */
case BC_CALLM: case BC_CALLMT: case BC_RETM: case BC_TSETM:
L->top = frame + snap->nslots;
break;
- default:
- L->top = curr_topL(L);
- break;
}
return pc;
}
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_snap.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_snap.h
index aff97e5e4d1..1b2d74da71f 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_snap.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_snap.h
@@ -1,6 +1,6 @@
/*
** Snapshot handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_SNAP_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_state.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_state.c
index 8c53d37f1fc..f972fdcedf6 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_state.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_state.c
@@ -1,6 +1,6 @@
/*
** State and stack handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** Portions taken verbatim or adapted from the Lua interpreter.
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_state.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_state.h
index 527f054efab..74249d9bb24 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_state.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_state.h
@@ -1,6 +1,6 @@
/*
** State and stack handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_STATE_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_str.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_str.c
index 6548ee4d382..62ad5e891f5 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_str.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_str.c
@@ -1,6 +1,6 @@
/*
** String handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** Portions taken verbatim or adapted from the Lua interpreter.
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
@@ -90,6 +90,8 @@ void lj_str_resize(lua_State *L, MSize newmask)
g->strhash = newhash;
}
+#define cast(t, exp) ((t)(exp))
+int luajittex_choose_hash_function = 0 ;
/* Intern a string and return string object. */
GCstr *lj_str_new(lua_State *L, const char *str, size_t lenx)
{
@@ -98,27 +100,44 @@ GCstr *lj_str_new(lua_State *L, const char *str, size_t lenx)
GCobj *o;
MSize len = (MSize)lenx;
MSize a, b, h = len;
+ size_t step ;
+ size_t l1 ;
if (lenx >= LJ_MAX_STR)
lj_err_msg(L, LJ_ERR_STROV);
g = G(L);
+
+ if (len==0)
+ return &g->strempty;
+ if (luajittex_choose_hash_function==0) {
+ /* Lua 5.1.5 hash function */
+ /* for 5.2 max methods we also need to patch the vm eq */
+ step = (len>>6)+1; /* if string is too long, don't hash all its chars Was 5, we try 6*/
+ for (l1=len; l1>=step; l1-=step) /* compute hash */
+ h = h ^ ((h<<5)+(h>>2)+cast(unsigned char, str[l1-1]));
+ } else {
+ /* LuaJIT 2.0.2 hash function */
/* Compute string hash. Constants taken from lookup3 hash by Bob Jenkins. */
- if (len >= 4) { /* Caveat: unaligned access! */
- a = lj_getu32(str);
- h ^= lj_getu32(str+len-4);
- b = lj_getu32(str+(len>>1)-2);
- h ^= b; h -= lj_rol(b, 14);
- b += lj_getu32(str+(len>>2)-1);
- } else if (len > 0) {
- a = *(const uint8_t *)str;
- h ^= *(const uint8_t *)(str+len-1);
- b = *(const uint8_t *)(str+(len>>1));
- h ^= b; h -= lj_rol(b, 14);
- } else {
- return &g->strempty;
- }
- a ^= h; a -= lj_rol(h, 11);
- b ^= a; b -= lj_rol(a, 25);
- h ^= b; h -= lj_rol(b, 16);
+ if (len >= 4) { /* Caveat: unaligned access! */
+ a = lj_getu32(str);
+ h ^= lj_getu32(str+len-4);
+ b = lj_getu32(str+(len>>1)-2);
+ h ^= b; h -= lj_rol(b, 14);
+ b += lj_getu32(str+(len>>2)-1);
+ } else if (len > 0) {
+ a = *(const uint8_t *)str;
+ h ^= *(const uint8_t *)(str+len-1);
+ b = *(const uint8_t *)(str+(len>>1));
+ h ^= b; h -= lj_rol(b, 14);
+ } else {
+ /* Already done, kept for reference */
+ return &g->strempty;
+ }
+ a ^= h; a -= lj_rol(h, 11);
+ b ^= a; b -= lj_rol(a, 25);
+ h ^= b; h -= lj_rol(b, 16);
+ }
+
+
/* Check if the string has already been interned. */
o = gcref(g->strhash[h & g->strmask]);
if (LJ_LIKELY((((uintptr_t)str+len-1) & (LJ_PAGESIZE-1)) <= LJ_PAGESIZE-4)) {
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_str.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_str.h
index 3aa036625fb..1602c980c9e 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_str.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_str.h
@@ -1,6 +1,6 @@
/*
** String handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_STR_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_strscan.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_strscan.c
index a71b86a283a..a21c414ab4a 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_strscan.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_strscan.c
@@ -1,6 +1,6 @@
/*
** String scanning.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#include <math.h>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_strscan.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_strscan.h
index 9557d67382e..15abd6afb22 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_strscan.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_strscan.h
@@ -1,6 +1,6 @@
/*
** String scanning.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_STRSCAN_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_tab.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_tab.c
index ccad1f68720..fc7d0f1c148 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_tab.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_tab.c
@@ -1,6 +1,6 @@
/*
** Table handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** Major portions taken verbatim or adapted from the Lua interpreter.
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
@@ -351,6 +351,13 @@ static void rehashtab(lua_State *L, GCtab *t, cTValue *ek)
resizetab(L, t, asize, hsize2hbits(total));
}
+#if LJ_HASFFI
+void lj_tab_rehash(lua_State *L, GCtab *t)
+{
+ rehashtab(L, t, niltv(L));
+}
+#endif
+
void lj_tab_reasize(lua_State *L, GCtab *t, uint32_t nasize)
{
resizetab(L, t, nasize+1, t->hmask > 0 ? lj_fls(t->hmask)+1 : 0);
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_tab.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_tab.h
index 2787caa0d62..44b1bbbd979 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_tab.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_tab.h
@@ -1,6 +1,6 @@
/*
** Table handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_TAB_H
@@ -39,6 +39,9 @@ LJ_FUNC GCtab * LJ_FASTCALL lj_tab_new1(lua_State *L, uint32_t ahsize);
#endif
LJ_FUNCA GCtab * LJ_FASTCALL lj_tab_dup(lua_State *L, const GCtab *kt);
LJ_FUNC void LJ_FASTCALL lj_tab_free(global_State *g, GCtab *t);
+#if LJ_HASFFI
+LJ_FUNC void lj_tab_rehash(lua_State *L, GCtab *t);
+#endif
LJ_FUNCA void lj_tab_reasize(lua_State *L, GCtab *t, uint32_t nasize);
/* Caveat: all getters except lj_tab_get() can return NULL! */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_target.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target.h
index eed69d1236a..820a97a4565 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_target.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target.h
@@ -1,6 +1,6 @@
/*
** Definitions for target CPU.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_TARGET_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_target_arm.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_arm.h
index bec55772b1f..63a0c925dc0 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_target_arm.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_arm.h
@@ -1,6 +1,6 @@
/*
** Definitions for ARM CPUs.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_TARGET_ARM_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_target_mips.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_mips.h
index 36f46c83012..e0fc152d663 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_target_mips.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_mips.h
@@ -1,6 +1,6 @@
/*
** Definitions for MIPS CPUs.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_TARGET_MIPS_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_target_ppc.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_ppc.h
index 4e95c3a414d..475e0465149 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_target_ppc.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_ppc.h
@@ -1,6 +1,6 @@
/*
** Definitions for PPC CPUs.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_TARGET_PPC_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_target_x86.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_x86.h
index 84b0871da05..41f401b0484 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_target_x86.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_x86.h
@@ -1,6 +1,6 @@
/*
** Definitions for x86 and x64 CPUs.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_TARGET_X86_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_trace.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_trace.c
index c70fc247ecc..9e5e400f4a1 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_trace.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_trace.c
@@ -1,6 +1,6 @@
/*
** Trace management.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_trace_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_trace.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_trace.h
index e30d3d599ea..f3109081b54 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_trace.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_trace.h
@@ -1,6 +1,6 @@
/*
** Trace management.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_TRACE_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_traceerr.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_traceerr.h
index 2ef4ad63e7e..521560a18de 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_traceerr.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_traceerr.h
@@ -1,6 +1,6 @@
/*
** Trace compiler error messages.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
/* This file may be included multiple times with different TREDEF macros. */
@@ -20,7 +20,7 @@ TREDEF(LUNROLL, "loop unroll limit reached")
/* Recording calls/returns. */
TREDEF(BADTYPE, "bad argument type")
-TREDEF(CJITOFF, "call to JIT-disabled function")
+TREDEF(CJITOFF, "JIT compilation disabled for function")
TREDEF(CUNROLL, "call unroll limit reached")
TREDEF(DOWNREC, "down-recursion, restarting")
TREDEF(NYICF, "NYI: C function %p")
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_udata.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_udata.c
index df5e7f30bf5..6cd357ec5bf 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_udata.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_udata.c
@@ -1,6 +1,6 @@
/*
** Userdata handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_udata_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_udata.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_udata.h
index f62c02bceec..e03d9a3a8d3 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_udata.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_udata.h
@@ -1,6 +1,6 @@
/*
** Userdata handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_UDATA_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_vm.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vm.h
index c5d05de44d9..4a8f03f0797 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_vm.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vm.h
@@ -1,6 +1,6 @@
/*
** Assembler VM interface definitions.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_VM_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_vmevent.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vmevent.c
index 21ad08feffc..e14ad5b60c9 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_vmevent.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vmevent.c
@@ -1,6 +1,6 @@
/*
** VM event handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#include <stdio.h>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_vmevent.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vmevent.h
index 11dedb42f3f..51bae015a1d 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_vmevent.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vmevent.h
@@ -1,6 +1,6 @@
/*
** VM event handling.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_VMEVENT_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_vmmath.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vmmath.c
index aa6903033c1..63886aa7e36 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lj_vmmath.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vmmath.c
@@ -1,6 +1,6 @@
/*
** Math helper functions for assembler VM.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_vmmath_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/ljamalg.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/ljamalg.c
index 962b313442a..52a86153c43 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/ljamalg.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/ljamalg.c
@@ -1,12 +1,12 @@
/*
** LuaJIT core and libraries amalgamation.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
/*
+--------------------------------------------------------------------------+
| WARNING: Compiling the amalgamation needs a lot of virtual memory |
-| (around 200 MB with GCC 4.x)! If you don't have enough physical memory |
+| (around 300 MB with GCC 4.x)! If you don't have enough physical memory |
| your machine will start swapping to disk and the compile will not finish |
| within a reasonable amount of time. |
| So either compile on a bigger machine or use the non-amalgamated build. |
@@ -22,7 +22,7 @@
#endif
#ifndef WINVER
-#define WINVER 0x0500
+#define WINVER 0x0501
#endif
#include "lua.h"
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lua.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lua.h
index 2dc0dcf760e..64a930e3e38 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lua.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lua.h
@@ -103,6 +103,9 @@ typedef LUA_NUMBER lua_Number;
typedef LUA_INTEGER lua_Integer;
+/* communication with LuaJiTTeX */
+LUA_API int luajittex_choose_hash_function;
+
/*
** state manipulation
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lua.hpp b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lua.hpp
index 07e9002dc5a..07e9002dc5a 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lua.hpp
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lua.hpp
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/luaconf.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/luaconf.h
index d55caab1d07..affb7da8f59 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/luaconf.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/luaconf.h
@@ -1,11 +1,14 @@
/*
** Configuration header.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef luaconf_h
#define luaconf_h
+#ifndef WINVER
+#define WINVER 0x0501
+#endif
#include <limits.h>
#include <stddef.h>
@@ -23,26 +26,40 @@
".\\?.dll;" LUA_CDIR"?.dll;" LUA_CDIR"loadall.dll"
#else
/*
-** Note to distribution maintainers: do NOT patch the following line!
+** Note to distribution maintainers: do NOT patch the following lines!
** Please read ../doc/install.html#distro and pass PREFIX=/usr instead.
*/
-#define LUA_ROOT "/usr/local/"
-#define LUA_LDIR LUA_ROOT "share/lua/5.1/"
-#define LUA_CDIR LUA_ROOT "lib/lua/5.1/"
-#ifdef LUA_XROOT
-#define LUA_JDIR LUA_XROOT "share/luajit-2.0.2/"
-#define LUA_XPATH \
- ";" LUA_XROOT "share/lua/5.1/?.lua;" LUA_XROOT "share/lua/5.1/?/init.lua"
-#define LUA_XCPATH LUA_XROOT "lib/lua/5.1/?.so;"
+#ifndef LUA_MULTILIB
+#define LUA_MULTILIB "lib"
+#endif
+#ifndef LUA_LMULTILIB
+#define LUA_LMULTILIB "lib"
+#endif
+#define LUA_LROOT "/usr/local"
+#define LUA_LUADIR "/lua/5.1/"
+#define LUA_LJDIR "/luajit-2.0.3/"
+
+#ifdef LUA_ROOT
+#define LUA_JROOT LUA_ROOT
+#define LUA_RLDIR LUA_ROOT "/share" LUA_LUADIR
+#define LUA_RCDIR LUA_ROOT "/" LUA_MULTILIB LUA_LUADIR
+#define LUA_RLPATH ";" LUA_RLDIR "?.lua;" LUA_RLDIR "?/init.lua"
+#define LUA_RCPATH ";" LUA_RCDIR "?.so"
#else
-#define LUA_JDIR LUA_ROOT "share/luajit-2.0.2/"
-#define LUA_XPATH
-#define LUA_XCPATH
+#define LUA_JROOT LUA_LROOT
+#define LUA_RLPATH
+#define LUA_RCPATH
#endif
-#define LUA_PATH_DEFAULT \
- "./?.lua;" LUA_JDIR"?.lua;" LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua" LUA_XPATH
-#define LUA_CPATH_DEFAULT \
- "./?.so;" LUA_CDIR"?.so;" LUA_XCPATH LUA_CDIR"loadall.so"
+
+#define LUA_JPATH ";" LUA_JROOT "/share" LUA_LJDIR "?.lua"
+#define LUA_LLDIR LUA_LROOT "/share" LUA_LUADIR
+#define LUA_LCDIR LUA_LROOT "/" LUA_LMULTILIB LUA_LUADIR
+#define LUA_LLPATH ";" LUA_LLDIR "?.lua;" LUA_LLDIR "?/init.lua"
+#define LUA_LCPATH1 ";" LUA_LCDIR "?.so"
+#define LUA_LCPATH2 ";" LUA_LCDIR "loadall.so"
+
+#define LUA_PATH_DEFAULT "./?.lua" LUA_JPATH LUA_LLPATH LUA_RLPATH
+#define LUA_CPATH_DEFAULT "./?.so" LUA_LCPATH1 LUA_RCPATH LUA_LCPATH2
#endif
/* Environment variable names for path overrides and initialization code. */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/luajit.c b/Build/source/libs/luajit/LuaJIT-2.0.3/src/luajit.c
index e0eacc423ad..4cccf04e6af 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/luajit.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/luajit.c
@@ -1,6 +1,6 @@
/*
** LuaJIT frontend. Runs commands, scripts, read-eval-print (REPL) etc.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
**
** Major portions taken verbatim or adapted from the Lua interpreter.
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/luajit.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/luajit.h
index f33b64c5669..be721cf4b8e 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/luajit.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/luajit.h
@@ -1,7 +1,7 @@
/*
** LuaJIT -- a Just-In-Time Compiler for Lua. http://luajit.org/
**
-** Copyright (C) 2005-2013 Mike Pall. All rights reserved.
+** Copyright (C) 2005-2014 Mike Pall. All rights reserved.
**
** Permission is hereby granted, free of charge, to any person obtaining
** a copy of this software and associated documentation files (the
@@ -30,10 +30,10 @@
#include "lua.h"
-#define LUAJIT_VERSION "LuaJIT 2.0.2"
-#define LUAJIT_VERSION_NUM 20002 /* Version 2.0.2 = 02.00.02. */
-#define LUAJIT_VERSION_SYM luaJIT_version_2_0_2
-#define LUAJIT_COPYRIGHT "Copyright (C) 2005-2013 Mike Pall"
+#define LUAJIT_VERSION "LuaJIT 2.0.3"
+#define LUAJIT_VERSION_NUM 20003 /* Version 2.0.3 = 02.00.03. */
+#define LUAJIT_VERSION_SYM luaJIT_version_2_0_3
+#define LUAJIT_COPYRIGHT "Copyright (C) 2005-2014 Mike Pall"
#define LUAJIT_URL "http://luajit.org/"
/* Modes for luaJIT_setmode. */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lualib.h b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lualib.h
index 49fe53edbf1..90687bdd1bf 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/lualib.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/lualib.h
@@ -1,6 +1,6 @@
/*
** Standard library header.
-** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LUALIB_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/msvcbuild.bat b/Build/source/libs/luajit/LuaJIT-2.0.3/src/msvcbuild.bat
index cdb42a8de5e..9160e0f889e 100755
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/msvcbuild.bat
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/msvcbuild.bat
@@ -1,5 +1,5 @@
@rem Script to build LuaJIT with MSVC.
-@rem Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+@rem Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
@rem
@rem Either open a "Visual Studio .NET Command Prompt"
@rem (Note that the Express Edition does not contain an x64 compiler)
@@ -14,10 +14,10 @@
@if not defined INCLUDE goto :FAIL
@setlocal
-@set LJCOMPILE=cl /nologo /c /MD /O2 /W3 /D_CRT_SECURE_NO_DEPRECATE
+@set LJCOMPILE=cl /nologo /c /O2 /W3 /D_CRT_SECURE_NO_DEPRECATE
@set LJLINK=link /nologo
@set LJMT=mt /nologo
-@set LJLIB=lib /nologo
+@set LJLIB=lib /nologo /nodefaultlib
@set DASMDIR=..\dynasm
@set DASM=%DASMDIR%\dynasm.lua
@set LJDLLNAME=lua51.dll
@@ -70,19 +70,19 @@ buildvm -m folddef -o lj_folddef.h lj_opt_fold.c
:NODEBUG
@if "%1"=="amalg" goto :AMALGDLL
@if "%1"=="static" goto :STATIC
-%LJCOMPILE% /DLUA_BUILD_AS_DLL lj_*.c lib_*.c
+%LJCOMPILE% /MD /DLUA_BUILD_AS_DLL lj_*.c lib_*.c
@if errorlevel 1 goto :BAD
%LJLINK% /DLL /out:%LJDLLNAME% lj_*.obj lib_*.obj
@if errorlevel 1 goto :BAD
@goto :MTDLL
:STATIC
-%LJCOMPILE% /DLUA_BUILD_AS_DLL lj_*.c lib_*.c
+%LJCOMPILE% lj_*.c lib_*.c
@if errorlevel 1 goto :BAD
%LJLIB% /OUT:%LJLIBNAME% lj_*.obj lib_*.obj
@if errorlevel 1 goto :BAD
@goto :MTDLL
:AMALGDLL
-%LJCOMPILE% /DLUA_BUILD_AS_DLL ljamalg.c
+%LJCOMPILE% /MD /DLUA_BUILD_AS_DLL ljamalg.c
@if errorlevel 1 goto :BAD
%LJLINK% /DLL /out:%LJDLLNAME% ljamalg.obj lj_vm.obj
@if errorlevel 1 goto :BAD
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/ps4build.bat b/Build/source/libs/luajit/LuaJIT-2.0.3/src/ps4build.bat
new file mode 100755
index 00000000000..42fc9a64a99
--- /dev/null
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/ps4build.bat
@@ -0,0 +1,103 @@
+@rem Script to build LuaJIT with the PS4 SDK.
+@rem Donated to the public domain.
+@rem
+@rem Open a "Visual Studio .NET Command Prompt" (64 bit host compiler)
+@rem Then cd to this directory and run this script.
+
+@if not defined INCLUDE goto :FAIL
+@if not defined SCE_ORBIS_SDK_DIR goto :FAIL
+
+@setlocal
+@rem ---- Host compiler ----
+@set LJCOMPILE=cl /nologo /c /MD /O2 /W3 /D_CRT_SECURE_NO_DEPRECATE
+@set LJLINK=link /nologo
+@set LJMT=mt /nologo
+@set DASMDIR=..\dynasm
+@set DASM=%DASMDIR%\dynasm.lua
+@set ALL_LIB=lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
+
+%LJCOMPILE% host\minilua.c
+@if errorlevel 1 goto :BAD
+%LJLINK% /out:minilua.exe minilua.obj
+@if errorlevel 1 goto :BAD
+if exist minilua.exe.manifest^
+ %LJMT% -manifest minilua.exe.manifest -outputresource:minilua.exe
+
+@rem Check for 64 bit host compiler.
+@minilua
+@if not errorlevel 8 goto :FAIL
+
+@set DASMFLAGS=-D P64
+minilua %DASM% -LN %DASMFLAGS% -o host\buildvm_arch.h vm_x86.dasc
+@if errorlevel 1 goto :BAD
+
+%LJCOMPILE% /I "." /I %DASMDIR% -DLUAJIT_TARGET=LUAJIT_ARCH_X64 -DLUAJIT_OS=LUAJIT_OS_OTHER -DLUAJIT_DISABLE_JIT -DLUAJIT_DISABLE_FFI host\buildvm*.c
+@if errorlevel 1 goto :BAD
+%LJLINK% /out:buildvm.exe buildvm*.obj
+@if errorlevel 1 goto :BAD
+if exist buildvm.exe.manifest^
+ %LJMT% -manifest buildvm.exe.manifest -outputresource:buildvm.exe
+
+buildvm -m elfasm -o lj_vm.s
+@if errorlevel 1 goto :BAD
+buildvm -m bcdef -o lj_bcdef.h %ALL_LIB%
+@if errorlevel 1 goto :BAD
+buildvm -m ffdef -o lj_ffdef.h %ALL_LIB%
+@if errorlevel 1 goto :BAD
+buildvm -m libdef -o lj_libdef.h %ALL_LIB%
+@if errorlevel 1 goto :BAD
+buildvm -m recdef -o lj_recdef.h %ALL_LIB%
+@if errorlevel 1 goto :BAD
+buildvm -m vmdef -o jit\vmdef.lua %ALL_LIB%
+@if errorlevel 1 goto :BAD
+buildvm -m folddef -o lj_folddef.h lj_opt_fold.c
+@if errorlevel 1 goto :BAD
+
+@rem ---- Cross compiler ----
+@set LJCOMPILE="%SCE_ORBIS_SDK_DIR%\host_tools\bin\orbis-clang" -c -Wall -DLUAJIT_DISABLE_FFI
+@set LJLIB="%SCE_ORBIS_SDK_DIR%\host_tools\bin\orbis-ar" rcus
+@set INCLUDE=""
+
+orbis-as -o lj_vm.o lj_vm.s
+
+@if "%1" neq "debug" goto :NODEBUG
+@shift
+@set LJCOMPILE=%LJCOMPILE% -g -O0
+@set TARGETLIB=libluajitD.a
+goto :BUILD
+:NODEBUG
+@set LJCOMPILE=%LJCOMPILE% -O2
+@set TARGETLIB=libluajit.a
+:BUILD
+del %TARGETLIB%
+@if "%1"=="amalg" goto :AMALG
+for %%f in (lj_*.c lib_*.c) do (
+ %LJCOMPILE% %%f
+ @if errorlevel 1 goto :BAD
+)
+
+%LJLIB% %TARGETLIB% lj_*.o lib_*.o
+@if errorlevel 1 goto :BAD
+@goto :NOAMALG
+:AMALG
+%LJCOMPILE% ljamalg.c
+@if errorlevel 1 goto :BAD
+%LJLIB% %TARGETLIB% ljamalg.o lj_vm.o
+@if errorlevel 1 goto :BAD
+:NOAMALG
+
+@del *.o *.obj *.manifest minilua.exe buildvm.exe
+@echo.
+@echo === Successfully built LuaJIT for PS4 ===
+
+@goto :END
+:BAD
+@echo.
+@echo *******************************************************
+@echo *** Build FAILED -- Please check the error messages ***
+@echo *******************************************************
+@goto :END
+:FAIL
+@echo To run this script you must open a "Visual Studio .NET Command Prompt"
+@echo (64 bit host compiler). The PS4 Orbis SDK must be installed, too.
+:END
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/vm_arm.dasc b/Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_arm.dasc
index 114416a46a0..82cba909cf3 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/vm_arm.dasc
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_arm.dasc
@@ -1,6 +1,6 @@
|// Low-level VM code for ARM CPUs.
|// Bytecode interpreter, fast functions and helper functions.
-|// Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+|// Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
|
|.arch arm
|.section code_op, code_sub
@@ -3217,7 +3217,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
| ins_next
|
|2: // Check if new value is collectable.
- | cmn RB, #-(LJ_TISNUM - LJ_TISGCV)
+ | cmn RB, #-(LJ_TNUMX - LJ_TISGCV)
| ldrbhi RC, GCOBJ:CARG3->gch.marked
| bls <1 // tvisgcv(v)
| sub CARG1, DISPATCH, #-GG_DISP2G
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/vm_mips.dasc b/Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_mips.dasc
index a81dbeebf71..0ec13e608ee 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/vm_mips.dasc
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_mips.dasc
@@ -1,6 +1,6 @@
|// Low-level VM code for MIPS CPUs.
|// Bytecode interpreter, fast functions and helper functions.
-|// Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+|// Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
|
|.arch mips
|.section code_op, code_sub
@@ -2155,7 +2155,7 @@ static void build_subroutines(BuildCtx *ctx)
|2:
| addiu RC, MULTRES, -8
| jr AT
- |. add RA, RA, BASE
+ |. addu RA, RA, BASE
|
|3: // Rethrow error from the right C frame.
| load_got lj_err_throw
@@ -2882,12 +2882,12 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
| li AT, LJ_GC_BLACK|1
| or TMP3, TMP3, TMP0
| beq TMP3, AT, >2 // Upvalue is closed and black?
- |. addiu TMP2, TMP2, -(LJ_TISNUM+1)
+ |. addiu TMP2, TMP2, -(LJ_TNUMX+1)
|1:
| ins_next
|
|2: // Check if new value is collectable.
- | sltiu AT, TMP2, LJ_TISGCV - (LJ_TISNUM+1)
+ | sltiu AT, TMP2, LJ_TISGCV - (LJ_TNUMX+1)
| beqz AT, <1 // tvisgcv(v)
|. lw TMP1, LO(RD)
| lbu TMP3, GCOBJ:TMP1->gch.marked
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/vm_ppc.dasc b/Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_ppc.dasc
index f253081100e..da75f556daf 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/vm_ppc.dasc
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_ppc.dasc
@@ -1,6 +1,6 @@
|// Low-level VM code for PowerPC CPUs.
|// Bytecode interpreter, fast functions and helper functions.
-|// Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+|// Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
|
|.arch ppc
|.section code_op, code_sub
@@ -3715,13 +3715,13 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
| cmplwi cr1, TMP0, 0
| lwz TMP1, 4(RD)
| cror 4*cr0+eq, 4*cr0+eq, 4*cr1+eq
- | subi TMP2, TMP2, (LJ_TISNUM+1)
+ | subi TMP2, TMP2, (LJ_TNUMX+1)
| bne >2 // Upvalue is closed and black?
|1:
| ins_next
|
|2: // Check if new value is collectable.
- | cmplwi TMP2, LJ_TISGCV - (LJ_TISNUM+1)
+ | cmplwi TMP2, LJ_TISGCV - (LJ_TNUMX+1)
| bge <1 // tvisgcv(v)
| lbz TMP3, GCOBJ:TMP1->gch.marked
| andix. TMP3, TMP3, LJ_GC_WHITES // iswhite(v)
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/vm_ppcspe.dasc b/Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_ppcspe.dasc
index 293e3919138..adcec244a3d 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/vm_ppcspe.dasc
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_ppcspe.dasc
@@ -1,6 +1,6 @@
|// Low-level VM code for PowerPC/e500 CPUs.
|// Bytecode interpreter, fast functions and helper functions.
-|// Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+|// Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
|
|.arch ppc
|.section code_op, code_sub
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/vm_x86.dasc b/Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_x86.dasc
index cc459254646..8a9b536df5e 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/vm_x86.dasc
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_x86.dasc
@@ -1,6 +1,6 @@
|// Low-level VM code for x86 CPUs.
|// Bytecode interpreter, fast functions and helper functions.
-|// Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
+|// Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
|
|.if P64
|.arch x64
@@ -4652,7 +4652,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
|
|2: // Upvalue is black. Check if new value is collectable and white.
| sub RD, LJ_TISGCV
- | cmp RD, LJ_TISNUM - LJ_TISGCV // tvisgcv(v)
+ | cmp RD, LJ_TNUMX - LJ_TISGCV // tvisgcv(v)
| jbe <1
| test byte GCOBJ:RA->gch.marked, LJ_GC_WHITES // iswhite(v)
| jz <1
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.2/src/xedkbuild.bat b/Build/source/libs/luajit/LuaJIT-2.0.3/src/xedkbuild.bat
index 375f1955dbe..240ec878daf 100755
--- a/Build/source/libs/luajit/LuaJIT-2.0.2/src/xedkbuild.bat
+++ b/Build/source/libs/luajit/LuaJIT-2.0.3/src/xedkbuild.bat
@@ -56,11 +56,11 @@ buildvm -m folddef -o lj_folddef.h lj_opt_fold.c
@rem ---- Cross compiler ----
@set LJCOMPILE="%XEDK%\bin\win32\cl" /nologo /c /MT /O2 /W3 /GF /Gm- /GR- /GS- /Gy /openmp- /D_CRT_SECURE_NO_DEPRECATE /DNDEBUG /D_XBOX /D_LIB /DLUAJIT_USE_SYSMALLOC
@set LJLIB="%XEDK%\bin\win32\lib" /nologo
-@set INCLUDE="%XEDK%\include\xbox"
+@set "INCLUDE=%XEDK%\include\xbox"
@if "%1" neq "debug" goto :NODEBUG
@shift
-@set LJCOMPILE="%LJCOMPILE%" /Zi
+@set "LJCOMPILE=%LJCOMPILE% /Zi"
:NODEBUG
@if "%1"=="amalg" goto :AMALG
%LJCOMPILE% /DLUA_BUILD_AS_DLL lj_*.c lib_*.c
diff --git a/Build/source/libs/luajit/configure b/Build/source/libs/luajit/configure
index 48e2a2da176..1f36913ba1f 100755
--- a/Build/source/libs/luajit/configure
+++ b/Build/source/libs/luajit/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for luajit for TeX Live 2.0.2.
+# Generated by GNU Autoconf 2.69 for luajit for TeX Live 2.0.3.
#
# Report bugs to <tex-k@tug.org>.
#
@@ -579,12 +579,12 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='luajit for TeX Live'
PACKAGE_TARNAME='luajit-for-tex-live'
-PACKAGE_VERSION='2.0.2'
-PACKAGE_STRING='luajit for TeX Live 2.0.2'
+PACKAGE_VERSION='2.0.3'
+PACKAGE_STRING='luajit for TeX Live 2.0.3'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
-ac_unique_file="LuaJIT-2.0.2/src/luajit.h"
+ac_unique_file="LuaJIT-2.0.3/src/luajit.h"
enable_option_checking=no
ac_subst_vars='am__EXEEXT_FALSE
am__EXEEXT_TRUE
@@ -1264,7 +1264,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures luajit for TeX Live 2.0.2 to adapt to many kinds of systems.
+\`configure' configures luajit for TeX Live 2.0.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1335,7 +1335,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of luajit for TeX Live 2.0.2:";;
+ short | recursive ) echo "Configuration of luajit for TeX Live 2.0.3:";;
esac
cat <<\_ACEOF
@@ -1435,7 +1435,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-luajit for TeX Live configure 2.0.2
+luajit for TeX Live configure 2.0.3
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1573,7 +1573,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by luajit for TeX Live $as_me 2.0.2, which was
+It was created by luajit for TeX Live $as_me 2.0.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3496,7 +3496,7 @@ fi
# Define the identity of the package.
PACKAGE='luajit-for-tex-live'
- VERSION='2.0.2'
+ VERSION='2.0.3'
cat >>confdefs.h <<_ACEOF
@@ -5296,7 +5296,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
lj_save_CPPFLAGS=$CPPFLAGS
-CPPFLAGS="$CPPFLAGS -I$srcdir/LuaJIT-2.0.2/src $LUAJIT_DEFINES -dM"
+CPPFLAGS="$CPPFLAGS -I$srcdir/LuaJIT-2.0.3/src $LUAJIT_DEFINES -dM"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <lj_arch.h>
@@ -5454,7 +5454,7 @@ fi
echo timestamp >config.force
fi
-LUAJIT_TREE=LuaJIT-2.0.2
+LUAJIT_TREE=LuaJIT-2.0.3
ac_config_headers="$ac_config_headers config.h"
@@ -6020,7 +6020,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by luajit for TeX Live $as_me 2.0.2, which was
+This file was extended by luajit for TeX Live $as_me 2.0.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -6086,7 +6086,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-luajit for TeX Live config.status 2.0.2
+luajit for TeX Live config.status 2.0.3
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/Build/source/libs/luajit/native/configure b/Build/source/libs/luajit/native/configure
index 954c7ab90cd..5dd00401042 100755
--- a/Build/source/libs/luajit/native/configure
+++ b/Build/source/libs/luajit/native/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for luajit native 2.0.2.
+# Generated by GNU Autoconf 2.69 for luajit native 2.0.3.
#
# Report bugs to <tex-k@tug.org>.
#
@@ -579,12 +579,12 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='luajit native'
PACKAGE_TARNAME='luajit-native'
-PACKAGE_VERSION='2.0.2'
-PACKAGE_STRING='luajit native 2.0.2'
+PACKAGE_VERSION='2.0.3'
+PACKAGE_STRING='luajit native 2.0.3'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
-ac_unique_file="../LuaJIT-2.0.2/src/luajit.h"
+ac_unique_file="../LuaJIT-2.0.3/src/luajit.h"
ac_subst_vars='am__EXEEXT_FALSE
am__EXEEXT_TRUE
LTLIBOBJS
@@ -1245,7 +1245,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures luajit native 2.0.2 to adapt to many kinds of systems.
+\`configure' configures luajit native 2.0.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1315,7 +1315,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of luajit native 2.0.2:";;
+ short | recursive ) echo "Configuration of luajit native 2.0.3:";;
esac
cat <<\_ACEOF
@@ -1411,7 +1411,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-luajit native configure 2.0.2
+luajit native configure 2.0.3
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1512,7 +1512,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by luajit native $as_me 2.0.2, which was
+It was created by luajit native $as_me 2.0.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3435,7 +3435,7 @@ fi
# Define the identity of the package.
PACKAGE='luajit-native'
- VERSION='2.0.2'
+ VERSION='2.0.3'
cat >>confdefs.h <<_ACEOF
@@ -4525,7 +4525,7 @@ esac
-LUAJIT_TREE=../LuaJIT-2.0.2
+LUAJIT_TREE=../LuaJIT-2.0.3
ac_config_headers="$ac_config_headers config.h"
@@ -5072,7 +5072,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by luajit native $as_me 2.0.2, which was
+This file was extended by luajit native $as_me 2.0.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -5138,7 +5138,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-luajit native config.status 2.0.2
+luajit native config.status 2.0.3
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/Build/source/libs/luajit/version.ac b/Build/source/libs/luajit/version.ac
index ec8de5f7abe..754170bc4a4 100644
--- a/Build/source/libs/luajit/version.ac
+++ b/Build/source/libs/luajit/version.ac
@@ -8,4 +8,4 @@ dnl
dnl --------------------------------------------------------
dnl
dnl m4-include this file to define the current luajit version
-m4_define([luajit_version], [2.0.2])
+m4_define([luajit_version], [2.0.3])