summaryrefslogtreecommitdiff
path: root/Build/source/libs
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2015-06-12 09:17:54 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2015-06-12 09:17:54 +0000
commitb2a2a8bdf5e42564f4e3d97f501629f5e7ff03dc (patch)
tree74353b3d680dbecaef25adb64419b5d0cec1dccd /Build/source/libs
parentb8b9109c7d33c66566e3c5e77fe76b269d9764f1 (diff)
LuaJIT 2.0.4
git-svn-id: svn://tug.org/texlive/trunk@37507 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs')
-rw-r--r--Build/source/libs/luajit/ChangeLog5
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/patch-06-ppc-darwin24
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4-PATCHES/ChangeLog (renamed from Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/ChangeLog)0
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4-PATCHES/TL-Changes (renamed from Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/TL-Changes)0
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4-PATCHES/patch-01-LuaJITTeX (renamed from Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/patch-01-LuaJITTeX)95
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4-PATCHES/patch-05-LuaJITTeX (renamed from Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/patch-05-LuaJITTeX)19
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4-PATCHES/patch-06-ppc-darwin26
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/COPYRIGHT (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/COPYRIGHT)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/Makefile (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/Makefile)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/README (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/README)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/doc/bluequad-print.css (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/doc/bluequad-print.css)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/doc/bluequad.css (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/doc/bluequad.css)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/doc/changes.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/doc/changes.html)56
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/doc/contact.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/doc/contact.html)6
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/doc/ext_c_api.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_c_api.html)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/doc/ext_ffi.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi.html)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/doc/ext_ffi_api.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi_api.html)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/doc/ext_ffi_semantics.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi_semantics.html)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/doc/ext_ffi_tutorial.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi_tutorial.html)6
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/doc/ext_jit.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_jit.html)6
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/doc/extensions.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/doc/extensions.html)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/doc/faq.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/doc/faq.html)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/doc/img/contact.png (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/doc/img/contact.png)bin1340 -> 1340 bytes
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/doc/install.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/doc/install.html)65
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/doc/luajit.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/doc/luajit.html)14
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/doc/running.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/doc/running.html)6
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/doc/status.html (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/doc/status.html)17
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_arm.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_arm.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_arm.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_arm.lua)9
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_mips.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_mips.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_mips.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_mips.lua)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_ppc.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_ppc.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_ppc.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_ppc.lua)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_proto.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_proto.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_x64.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_x64.lua)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_x86.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_x86.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_x86.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_x86.lua)10
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dynasm.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dynasm.lua)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/etc/luajit.1 (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/etc/luajit.1)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/etc/luajit.pc (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/etc/luajit.pc)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/Makefile (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/Makefile)20
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/Makefile.dep (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/Makefile.dep)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/host/README (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/host/README)0
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/host/buildvm.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/host/buildvm.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/host/buildvm_asm.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_asm.c)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/host/buildvm_fold.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_fold.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/host/buildvm_lib.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_lib.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/host/buildvm_peobj.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_peobj.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/host/genminilua.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/host/genminilua.lua)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/host/minilua.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/host/minilua.c)0
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/bc.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/bc.lua)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/bcsave.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/bcsave.lua)6
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/dis_arm.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_arm.lua)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/dis_mips.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_mips.lua)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/dis_mipsel.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_mipsel.lua)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/dis_ppc.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_ppc.lua)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/dis_x64.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_x64.lua)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/dis_x86.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_x86.lua)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/dump.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dump.lua)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/v.lua (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/v.lua)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lauxlib.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lauxlib.h)0
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lbitlib.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lbitlib.c)0
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_aux.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_aux.c)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_base.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_base.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_bit.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_bit.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_debug.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_debug.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_ffi.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_ffi.c)3
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_init.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_init.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_io.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_io.c)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_jit.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_jit.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_math.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_math.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_os.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_os.c)13
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_package.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_package.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_string.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_string.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_table.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_table.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj.supp (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj.supp)0
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_alloc.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_alloc.c)14
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_alloc.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_alloc.h)0
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_api.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_api.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_arch.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_arch.h)17
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_asm.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm.c)8
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_asm.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_asm_arm.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_arm.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_asm_mips.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_mips.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_asm_ppc.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_ppc.h)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_asm_x86.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_x86.h)22
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_bc.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bc.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_bc.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bc.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_bcdump.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bcdump.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_bcread.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bcread.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_bcwrite.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bcwrite.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_carith.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_carith.c)10
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_carith.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_carith.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ccall.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccall.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ccall.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccall.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ccallback.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccallback.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ccallback.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccallback.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_cconv.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cconv.c)3
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_cconv.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cconv.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_cdata.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cdata.c)20
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_cdata.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cdata.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_char.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_char.c)0
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_char.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_char.h)0
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_clib.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_clib.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_clib.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_clib.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_cparse.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cparse.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_cparse.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cparse.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_crecord.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_crecord.c)82
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_crecord.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_crecord.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ctype.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ctype.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ctype.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ctype.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_debug.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_debug.c)8
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_debug.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_debug.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_def.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_def.h)10
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_dispatch.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_dispatch.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_dispatch.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_dispatch.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_emit_arm.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_arm.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_emit_mips.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_mips.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_emit_ppc.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_ppc.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_emit_x86.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_x86.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_err.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_err.c)31
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_err.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_err.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_errmsg.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_errmsg.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ff.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ff.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ffrecord.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ffrecord.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ffrecord.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ffrecord.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_frame.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_frame.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_func.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_func.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_func.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_func.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_gc.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gc.c)6
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_gc.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gc.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_gdbjit.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gdbjit.c)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_gdbjit.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gdbjit.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ir.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ir.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ir.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ir.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ircall.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ircall.h)10
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_iropt.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_iropt.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_jit.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_jit.h)3
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_lex.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lex.c)3
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_lex.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lex.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_lib.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lib.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_lib.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lib.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_load.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_load.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_mcode.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_mcode.c)19
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_mcode.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_mcode.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_meta.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_meta.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_meta.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_meta.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_obj.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_obj.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_obj.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_obj.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_opt_dce.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_dce.c)3
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_opt_fold.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_fold.c)31
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_opt_loop.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_loop.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_opt_mem.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_mem.c)23
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_opt_narrow.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_narrow.c)16
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_opt_sink.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_sink.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_opt_split.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_split.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_parse.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_parse.c)8
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_parse.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_parse.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_record.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_record.c)10
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_record.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_record.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_snap.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_snap.c)7
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_snap.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_snap.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_state.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_state.c)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_state.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_state.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_str.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_str.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_str.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_str.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_strscan.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_strscan.c)11
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_strscan.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_strscan.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_tab.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_tab.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_tab.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_tab.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_target.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_target_arm.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_arm.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_target_mips.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_mips.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_target_ppc.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_ppc.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_target_x86.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_x86.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_trace.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_trace.c)3
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_trace.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_trace.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_traceerr.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_traceerr.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_udata.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_udata.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_udata.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_udata.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_vm.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vm.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_vmevent.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vmevent.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_vmevent.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vmevent.h)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_vmmath.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vmmath.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/ljamalg.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/ljamalg.c)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lua.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lua.h)0
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lua.hpp (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lua.hpp)0
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/luaconf.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/luaconf.h)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/luajit.c (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/luajit.c)20
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/luajit.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/luajit.h)10
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/lualib.h (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/lualib.h)2
-rwxr-xr-xBuild/source/libs/luajit/LuaJIT-2.0.4/src/msvcbuild.bat (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/msvcbuild.bat)2
-rwxr-xr-xBuild/source/libs/luajit/LuaJIT-2.0.4/src/ps4build.bat (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/ps4build.bat)0
-rwxr-xr-xBuild/source/libs/luajit/LuaJIT-2.0.4/src/psvitabuild.bat93
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/vm_arm.dasc (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_arm.dasc)15
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/vm_mips.dasc (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_mips.dasc)4
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/vm_ppc.dasc (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_ppc.dasc)39
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/vm_ppcspe.dasc (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_ppcspe.dasc)2
-rw-r--r--Build/source/libs/luajit/LuaJIT-2.0.4/src/vm_x86.dasc (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_x86.dasc)19
-rwxr-xr-xBuild/source/libs/luajit/LuaJIT-2.0.4/src/xedkbuild.bat (renamed from Build/source/libs/luajit/LuaJIT-2.0.3/src/xedkbuild.bat)0
-rwxr-xr-xBuild/source/libs/luajit/configure36
-rwxr-xr-xBuild/source/libs/luajit/native/configure30
-rw-r--r--Build/source/libs/luajit/version.ac4
204 files changed, 847 insertions, 515 deletions
diff --git a/Build/source/libs/luajit/ChangeLog b/Build/source/libs/luajit/ChangeLog
index 9f7a72e821f..93745a1ddf5 100644
--- a/Build/source/libs/luajit/ChangeLog
+++ b/Build/source/libs/luajit/ChangeLog
@@ -1,3 +1,8 @@
+2015-06-12 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Import LuaJIT-2.0.4.
+ * version.ac: Adjust.
+
2015-02-16 Peter Breitenlohner <peb@mppmu.mpg.de>
* Makefile.am: Use the fragment ../../am/dist_hook.am.
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/patch-06-ppc-darwin b/Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/patch-06-ppc-darwin
deleted file mode 100644
index 7ab68cfa137..00000000000
--- a/Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/patch-06-ppc-darwin
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -ur -x lbitlib.c LuaJIT-2.0.3.orig/src/host/buildvm.c LuaJIT-2.0.3/src/host/buildvm.c
---- LuaJIT-2.0.3.orig/src/host/buildvm.c 2014-03-12 13:10:00.000000000 +0100
-+++ LuaJIT-2.0.3/src/host/buildvm.c 2015-02-19 13:01:47.000000000 +0100
-@@ -113,7 +113,7 @@
- name[0] = '@';
- else
- *p = '\0';
--#elif (LJ_TARGET_PPC || LJ_TARGET_PPCSPE) && !LJ_TARGET_CONSOLE
-+#elif ((LJ_TARGET_PPC && !LJ_TARGET_OSX) || LJ_TARGET_PPCSPE) && !LJ_TARGET_CONSOLE
- /* Keep @plt. */
- #else
- *p = '\0';
-diff -ur -x lbitlib.c LuaJIT-2.0.3.orig/src/lj_arch.h LuaJIT-2.0.3/src/lj_arch.h
---- LuaJIT-2.0.3.orig/src/lj_arch.h 2014-03-12 13:10:00.000000000 +0100
-+++ LuaJIT-2.0.3/src/lj_arch.h 2015-02-19 13:04:58.000000000 +0100
-@@ -293,7 +293,7 @@
- #if __GNUC__ < 4
- #error "Need at least GCC 4.0 or newer"
- #endif
--#elif LJ_TARGET_ARM
-+#elif LJ_TARGET_ARM || LJ_TARGET_PPC
- #if (__GNUC__ < 4) || ((__GNUC__ == 4) && __GNUC_MINOR__ < 2)
- #error "Need at least GCC 4.2 or newer"
- #endif
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/ChangeLog b/Build/source/libs/luajit/LuaJIT-2.0.4-PATCHES/ChangeLog
index 30aa570e493..30aa570e493 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/ChangeLog
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4-PATCHES/ChangeLog
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/TL-Changes b/Build/source/libs/luajit/LuaJIT-2.0.4-PATCHES/TL-Changes
index 5dc36ee546f..5dc36ee546f 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/TL-Changes
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4-PATCHES/TL-Changes
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/patch-01-LuaJITTeX b/Build/source/libs/luajit/LuaJIT-2.0.4-PATCHES/patch-01-LuaJITTeX
index 351a00f3c11..db988a6a463 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/patch-01-LuaJITTeX
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4-PATCHES/patch-01-LuaJITTeX
@@ -1,38 +1,6 @@
-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.
- # Note: this does not provide full compatibility with Lua 5.2 at this time.
--#XCFLAGS+= -DLUAJIT_ENABLE_LUA52COMPAT
-+XCFLAGS+= -DLUAJIT_ENABLE_LUA52COMPAT
- #
- # Disable the JIT compiler, i.e. turn LuaJIT into a pure interpreter.
- #XCFLAGS+= -DLUAJIT_DISABLE_JIT
-@@ -450,7 +450,7 @@
- LJVM_BOUT= $(LJVM_S)
- LJVM_MODE= elfasm
-
--LJLIB_O= lib_base.o lib_math.o lib_bit.o lib_string.o lib_table.o \
-+LJLIB_O= lib_base.o lib_math.o lbitlib.o lib_bit.o lib_string.o lib_table.o \
- 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 -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 \
- lj_lib.h lj_libdef.h
-+lbitlib.o: lbitlib.c lua.h luaconf.h lauxlib.h lualib.h
- 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 -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
+diff -ur -x lbitlib.c LuaJIT-2.0.4.orig/src/lauxlib.h LuaJIT-2.0.4/src/lauxlib.h
+--- LuaJIT-2.0.4.orig/src/lauxlib.h 2015-05-14 20:30:00.000000000 +0200
++++ LuaJIT-2.0.4/src/lauxlib.h 2015-06-12 11:04:08.000000000 +0200
@@ -86,6 +86,32 @@
int level);
@@ -66,9 +34,9 @@ diff -ur -x lbitlib.c LuaJIT-2.0.3.orig/src/lauxlib.h LuaJIT-2.0.3/src/lauxlib.h
/*
** ===============================================================
** some useful macros
-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
+diff -ur -x lbitlib.c LuaJIT-2.0.4.orig/src/lib_init.c LuaJIT-2.0.4/src/lib_init.c
+--- LuaJIT-2.0.4.orig/src/lib_init.c 2015-05-14 20:30:00.000000000 +0200
++++ LuaJIT-2.0.4/src/lib_init.c 2015-06-12 11:04:08.000000000 +0200
@@ -26,6 +26,7 @@
{ LUA_DBLIBNAME, luaopen_debug },
{ LUA_BITLIBNAME, luaopen_bit },
@@ -77,9 +45,9 @@ diff -ur -x lbitlib.c LuaJIT-2.0.3.orig/src/lib_init.c LuaJIT-2.0.3/src/lib_init
{ NULL, NULL }
};
-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
+diff -ur -x lbitlib.c LuaJIT-2.0.4.orig/src/lib_package.c LuaJIT-2.0.4/src/lib_package.c
+--- LuaJIT-2.0.4.orig/src/lib_package.c 2015-05-14 20:30:00.000000000 +0200
++++ LuaJIT-2.0.4/src/lib_package.c 2015-06-12 11:04:08.000000000 +0200
@@ -354,6 +354,29 @@
return 1; /* library loaded successfully */
}
@@ -132,9 +100,9 @@ diff -ur -x lbitlib.c LuaJIT-2.0.3.orig/src/lib_package.c LuaJIT-2.0.3/src/lib_p
static int lj_cf_package_loader_preload(lua_State *L)
{
const char *name = luaL_checkstring(L, 1);
-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
+diff -ur -x lbitlib.c LuaJIT-2.0.4.orig/src/lua.h LuaJIT-2.0.4/src/lua.h
+--- LuaJIT-2.0.4.orig/src/lua.h 2015-05-14 20:30:00.000000000 +0200
++++ LuaJIT-2.0.4/src/lua.h 2015-06-12 11:04:08.000000000 +0200
@@ -348,6 +348,16 @@
const char *chunkname, const char *mode);
@@ -152,9 +120,9 @@ diff -ur -x lbitlib.c LuaJIT-2.0.3.orig/src/lua.h LuaJIT-2.0.3/src/lua.h
struct lua_Debug {
int event;
const char *name; /* (n) */
-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
+diff -ur -x lbitlib.c LuaJIT-2.0.4.orig/src/lualib.h LuaJIT-2.0.4/src/lualib.h
+--- LuaJIT-2.0.4.orig/src/lualib.h 2015-05-14 20:30:00.000000000 +0200
++++ LuaJIT-2.0.4/src/lualib.h 2015-06-12 11:04:08.000000000 +0200
@@ -22,6 +22,8 @@
#define LUA_JITLIBNAME "jit"
#define LUA_FFILIBNAME "ffi"
@@ -173,3 +141,36 @@ diff -ur -x lbitlib.c LuaJIT-2.0.3.orig/src/lualib.h LuaJIT-2.0.3/src/lualib.h
LUALIB_API void luaL_openlibs(lua_State *L);
#ifndef lua_assert
+diff -ur -x lbitlib.c LuaJIT-2.0.4.orig/src/Makefile LuaJIT-2.0.4/src/Makefile
+--- LuaJIT-2.0.4.orig/src/Makefile 2015-05-14 20:30:00.000000000 +0200
++++ LuaJIT-2.0.4/src/Makefile 2015-06-12 11:04:08.000000000 +0200
+@@ -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.
+ # Note: this does not provide full compatibility with Lua 5.2 at this time.
+-#XCFLAGS+= -DLUAJIT_ENABLE_LUA52COMPAT
++XCFLAGS+= -DLUAJIT_ENABLE_LUA52COMPAT
+ #
+ # Disable the JIT compiler, i.e. turn LuaJIT into a pure interpreter.
+ #XCFLAGS+= -DLUAJIT_DISABLE_JIT
+@@ -448,7 +448,7 @@
+ LJVM_BOUT= $(LJVM_S)
+ LJVM_MODE= elfasm
+
+-LJLIB_O= lib_base.o lib_math.o lib_bit.o lib_string.o lib_table.o \
++LJLIB_O= lib_base.o lib_math.o lbitlib.o lib_bit.o lib_string.o lib_table.o \
+ 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 -x lbitlib.c LuaJIT-2.0.4.orig/src/Makefile.dep LuaJIT-2.0.4/src/Makefile.dep
+--- LuaJIT-2.0.4.orig/src/Makefile.dep 2015-05-14 20:30:00.000000000 +0200
++++ LuaJIT-2.0.4/src/Makefile.dep 2015-06-12 11:04:08.000000000 +0200
+@@ -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 \
+ lj_lib.h lj_libdef.h
++lbitlib.o: lbitlib.c lua.h luaconf.h lauxlib.h lualib.h
+ 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 \
+Only in LuaJIT-2.0.4/src: Makefile.orig
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/patch-05-LuaJITTeX b/Build/source/libs/luajit/LuaJIT-2.0.4-PATCHES/patch-05-LuaJITTeX
index a33bf70ea4e..6d091a02092 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3-PATCHES/patch-05-LuaJITTeX
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4-PATCHES/patch-05-LuaJITTeX
@@ -1,6 +1,6 @@
-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
+diff -ur -x lbitlib.c LuaJIT-2.0.4.orig/src/lj_def.h LuaJIT-2.0.4/src/lj_def.h
+--- LuaJIT-2.0.4.orig/src/lj_def.h 2015-05-14 20:30:00.000000000 +0200
++++ LuaJIT-2.0.4/src/lj_def.h 2015-06-12 11:05:39.000000000 +0200
@@ -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. */
@@ -10,9 +10,9 @@ diff -ur -x lbitlib.c LuaJIT-2.0.3.orig/src/lj_def.h LuaJIT-2.0.3/src/lj_def.h
#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-06-02 14:10:04.000000000 +0200
+diff -ur -x lbitlib.c LuaJIT-2.0.4.orig/src/lj_str.c LuaJIT-2.0.4/src/lj_str.c
+--- LuaJIT-2.0.4.orig/src/lj_str.c 2015-05-14 20:30:00.000000000 +0200
++++ LuaJIT-2.0.4/src/lj_str.c 2015-06-12 11:05:39.000000000 +0200
@@ -90,6 +90,16 @@
g->strhash = newhash;
}
@@ -92,9 +92,9 @@ diff -ur -x lbitlib.c LuaJIT-2.0.3.orig/src/lj_str.c LuaJIT-2.0.3/src/lj_str.c
/* 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
+diff -ur -x lbitlib.c LuaJIT-2.0.4.orig/src/lua.h LuaJIT-2.0.4/src/lua.h
+--- LuaJIT-2.0.4.orig/src/lua.h 2015-06-12 11:04:08.000000000 +0200
++++ LuaJIT-2.0.4/src/lua.h 2015-06-12 11:05:39.000000000 +0200
@@ -103,6 +103,9 @@
typedef LUA_INTEGER lua_Integer;
@@ -105,3 +105,4 @@ diff -ur -x lbitlib.c LuaJIT-2.0.3.orig/src/lua.h LuaJIT-2.0.3/src/lua.h
/*
** state manipulation
+Only in LuaJIT-2.0.4/src: Makefile.orig
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.4-PATCHES/patch-06-ppc-darwin b/Build/source/libs/luajit/LuaJIT-2.0.4-PATCHES/patch-06-ppc-darwin
new file mode 100644
index 00000000000..35ed495231a
--- /dev/null
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4-PATCHES/patch-06-ppc-darwin
@@ -0,0 +1,26 @@
+diff -ur -x lbitlib.c LuaJIT-2.0.4.orig/src/host/buildvm.c LuaJIT-2.0.4/src/host/buildvm.c
+--- LuaJIT-2.0.4.orig/src/host/buildvm.c 2015-05-14 20:30:00.000000000 +0200
++++ LuaJIT-2.0.4/src/host/buildvm.c 2015-06-12 11:06:32.000000000 +0200
+@@ -113,7 +113,7 @@
+ name[0] = '@';
+ else
+ *p = '\0';
+-#elif (LJ_TARGET_PPC || LJ_TARGET_PPCSPE) && !LJ_TARGET_CONSOLE
++#elif ((LJ_TARGET_PPC && !LJ_TARGET_OSX) || LJ_TARGET_PPCSPE) && !LJ_TARGET_CONSOLE
+ /* Keep @plt. */
+ #else
+ *p = '\0';
+diff -ur -x lbitlib.c LuaJIT-2.0.4.orig/src/lj_arch.h LuaJIT-2.0.4/src/lj_arch.h
+--- LuaJIT-2.0.4.orig/src/lj_arch.h 2015-05-14 20:30:00.000000000 +0200
++++ LuaJIT-2.0.4/src/lj_arch.h 2015-06-12 11:06:32.000000000 +0200
+@@ -301,7 +301,7 @@
+ #if __GNUC__ < 4
+ #error "Need at least GCC 4.0 or newer"
+ #endif
+-#elif LJ_TARGET_ARM
++#elif LJ_TARGET_ARM || LJ_TARGET_PPC
+ #if (__GNUC__ < 4) || ((__GNUC__ == 4) && __GNUC_MINOR__ < 2)
+ #error "Need at least GCC 4.2 or newer"
+ #endif
+Only in LuaJIT-2.0.4/src: lj_arch.h.orig
+Only in LuaJIT-2.0.4/src: Makefile.orig
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/COPYRIGHT b/Build/source/libs/luajit/LuaJIT-2.0.4/COPYRIGHT
index 08936dfb911..1ef7df62446 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/COPYRIGHT
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/COPYRIGHT
@@ -1,7 +1,7 @@
===============================================================================
LuaJIT -- a Just-In-Time Compiler for Lua. http://luajit.org/
-Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+Copyright (C) 2005-2015 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.3/Makefile b/Build/source/libs/luajit/LuaJIT-2.0.4/Makefile
index b23b64816d2..0cbe741a424 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/Makefile
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014 Mike Pall. See Copyright Notice in luajit.h
+# Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
##############################################################################
MAJVER= 2
MINVER= 0
-RELVER= 3
+RELVER= 4
VERSION= $(MAJVER).$(MINVER).$(RELVER)
ABIVER= 5.1
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/README b/Build/source/libs/luajit/LuaJIT-2.0.4/README
index 902a6d2e40d..44366af516c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/README
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/README
@@ -1,11 +1,11 @@
-README for LuaJIT 2.0.3
+README for LuaJIT 2.0.4
-----------------------
LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language.
Project Homepage: http://luajit.org/
-LuaJIT is Copyright (C) 2005-2014 Mike Pall.
+LuaJIT is Copyright (C) 2005-2015 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.3/doc/bluequad-print.css b/Build/source/libs/luajit/LuaJIT-2.0.4/doc/bluequad-print.css
index 21da8688af0..07f5c84a5f6 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/bluequad-print.css
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/doc/bluequad-print.css
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2014 Mike Pall.
+/* Copyright (C) 2004-2015 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.3/doc/bluequad.css b/Build/source/libs/luajit/LuaJIT-2.0.4/doc/bluequad.css
index 05b092e4df6..ae531430d19 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/bluequad.css
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/doc/bluequad.css
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2014 Mike Pall.
+/* Copyright (C) 2004-2015 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.3/doc/changes.html b/Build/source/libs/luajit/LuaJIT-2.0.4/doc/changes.html
index 98412293973..d7b83ce68a6 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/changes.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2015, 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.3</strong>.<br>
+The current <span style="color: #0000c0;">stable version</span> is <strong>LuaJIT&nbsp;2.0.4</strong>.<br>
</p>
<p>
Please check the
@@ -72,6 +72,56 @@ to see whether newer versions are available.
</p>
<div class="major" style="background: #d0d0ff;">
+<h2 id="LuaJIT-2.0.4">LuaJIT 2.0.4 &mdash; 2015-05-14</h2>
+<ul>
+<li>Fix stack check in narrowing optimization.</li>
+<li>Fix Lua/C API typecheck error for special indexes.</li>
+<li>Fix string to number conversion.</li>
+<li>Fix lexer error for chunks without tokens.</li>
+<li>Don't compile <tt>IR_RETF</tt> after <tt>CALLT</tt> to ff with-side effects.</li>
+<li>Fix <tt>BC_UCLO</tt>/<tt>BC_JMP</tt> join optimization in Lua parser.</li>
+<li>Fix corner case in string to number conversion.</li>
+<li>Gracefully handle <tt>lua_error()</tt> for a suspended coroutine.</li>
+<li>Avoid error messages when building with Clang.</li>
+<li>Fix snapshot #0 handling for traces with a stack check on entry.</li>
+<li>Fix fused constant loads under high register pressure.</li>
+<li>Invalidate backpropagation cache after DCE.</li>
+<li>Fix ABC elimination.</li>
+<li>Fix debug info for main chunk of stripped bytecode.</li>
+<li>Fix FOLD rule for <tt>string.sub(s, ...) == k</tt>.</li>
+<li>Fix FOLD rule for <tt>STRREF</tt> of <tt>SNEW</tt>.</li>
+<li>Fix frame traversal while searching for error function.</li>
+<li>Prevent GC estimate miscalculation due to buffer growth.</li>
+<li>Prevent adding side traces for stack checks.</li>
+<li>Fix top slot calculation for snapshots with continuations.</li>
+<li>Fix check for reuse of SCEV results in <tt>FORL</tt>.</li>
+<li>Add PS Vita port.</li>
+<li>Fix compatibility issues with Illumos.</li>
+<li>Fix DragonFly build (unsupported).</li>
+<li>OpenBSD/x86: Better executable memory allocation for W^X mode.</li>
+<li>x86: Fix argument checks for <tt>ipairs()</tt> iterator.</li>
+<li>x86: <tt>lj_math_random_step()</tt> clobbers XMM regs on OSX Clang.</li>
+<li>x86: Fix code generation for unused result of <tt>math.random()</tt>.</li>
+<li>x64: Allow building with <tt>LUAJIT_USE_SYSMALLOC</tt> and <tt>LUAJIT_USE_VALGRIND</tt>.</li>
+<li>x86/x64: Fix argument check for bit shifts.</li>
+<li>x86/x64: Fix code generation for fused test/arith ops.</li>
+<li>ARM: Fix write barrier check in <tt>BC_USETS</tt>.</li>
+<li>PPC: Fix red zone overflow in machine code generation.</li>
+<li>PPC: Don't use <tt>mcrxr</tt> on PPE.</li>
+<li>Various archs: Fix excess stack growth in interpreter.</li>
+<li>FFI: Fix FOLD rule for <tt>TOBIT</tt> + <tt>CONV num.u32</tt>.</li>
+<li>FFI: Prevent DSE across <tt>ffi.string()</tt>.</li>
+<li>FFI: No meta fallback when indexing pointer to incomplete struct.</li>
+<li>FFI: Fix initialization of unions of subtypes.</li>
+<li>FFI: Fix cdata vs. non-cdata arithmetic and comparisons.</li>
+<li>FFI: Fix <tt>__index</tt>/<tt>__newindex</tt> metamethod resolution for ctypes.</li>
+<li>FFI: Fix compilation of reference field access.</li>
+<li>FFI: Fix frame traversal for backtraces with FFI callbacks.</li>
+<li>FFI: Fix recording of indexing a struct pointer ctype object itself.</li>
+<li>FFI: Allow non-scalar cdata to be compared for equality by address.</li>
+<li>FFI: Fix pseudo type conversions for type punning.</li>
+</ul>
+
<h2 id="LuaJIT-2.0.3">LuaJIT 2.0.3 &mdash; 2014-03-12</h2>
<ul>
<li>Add PS4 port.</li>
@@ -918,7 +968,7 @@ This is the initial non-public release of LuaJIT.
</div>
<div id="foot">
<hr class="hide">
-Copyright &copy; 2005-2014 Mike Pall
+Copyright &copy; 2005-2015 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/contact.html b/Build/source/libs/luajit/LuaJIT-2.0.4/doc/contact.html
index 0483a829bdf..0ef01a7c159 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/contact.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2015, 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-2014 Mike Pall.
+Copyright &copy; 2005-2015 Mike Pall.
</p>
@@ -92,7 +92,7 @@ Copyright &copy; 2005-2014 Mike Pall.
</div>
<div id="foot">
<hr class="hide">
-Copyright &copy; 2005-2014 Mike Pall
+Copyright &copy; 2005-2015 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_c_api.html b/Build/source/libs/luajit/LuaJIT-2.0.4/doc/ext_c_api.html
index 48503361331..65981806da0 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_c_api.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2015, 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-2014 Mike Pall
+Copyright &copy; 2005-2015 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi.html b/Build/source/libs/luajit/LuaJIT-2.0.4/doc/ext_ffi.html
index fa9ca971c1f..77b8e26c567 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2015, 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-2014 Mike Pall
+Copyright &copy; 2005-2015 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi_api.html b/Build/source/libs/luajit/LuaJIT-2.0.4/doc/ext_ffi_api.html
index dcffcfa387f..8f577e9fea6 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi_api.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2015, 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-2014 Mike Pall
+Copyright &copy; 2005-2015 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi_semantics.html b/Build/source/libs/luajit/LuaJIT-2.0.4/doc/ext_ffi_semantics.html
index 7e5f70357de..c267b555668 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi_semantics.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2015, 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">
@@ -1235,7 +1235,7 @@ compiled.</li>
</div>
<div id="foot">
<hr class="hide">
-Copyright &copy; 2005-2014 Mike Pall
+Copyright &copy; 2005-2015 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi_tutorial.html b/Build/source/libs/luajit/LuaJIT-2.0.4/doc/ext_ffi_tutorial.html
index 01fb89929c4..8f99bfb1bbd 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_ffi_tutorial.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2015, 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">
@@ -564,7 +564,7 @@ Thus it's not helpful and actually counter-productive to cache
individual C&nbsp;functions like this:
</p>
<pre class="code">
-local <b>funca</b>, <b>funcb</b> = ffi.C.funcb, ffi.C.funcb -- <span style="color:#c00000;">Not helpful!</span>
+local <b>funca</b>, <b>funcb</b> = ffi.C.funca, ffi.C.funcb -- <span style="color:#c00000;">Not helpful!</span>
local function foo(x, n)
for i=1,n do <b>funcb</b>(<b>funca</b>(x, i), 1) end
end
@@ -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-2014 Mike Pall
+Copyright &copy; 2005-2015 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_jit.html b/Build/source/libs/luajit/LuaJIT-2.0.4/doc/ext_jit.html
index 098be5e06a5..27351dd64b8 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/ext_jit.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2015, 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">
@@ -151,7 +151,7 @@ Contains the target OS name:
<h3 id="jit_arch"><tt>jit.arch</tt></h3>
<p>
Contains the target architecture name:
-"x86", "x64" or "ppcspe".
+"x86", "x64", "arm", "ppc", "ppcspe", or "mips".
</p>
<h2 id="jit_opt"><tt>jit.opt.*</tt> &mdash; JIT compiler optimization control</h2>
@@ -189,7 +189,7 @@ if you want to know more.
</div>
<div id="foot">
<hr class="hide">
-Copyright &copy; 2005-2014 Mike Pall
+Copyright &copy; 2005-2015 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/extensions.html b/Build/source/libs/luajit/LuaJIT-2.0.4/doc/extensions.html
index 20b597f132e..e9cd136cc4f 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/extensions.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2015, 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-2014 Mike Pall
+Copyright &copy; 2005-2015 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/faq.html b/Build/source/libs/luajit/LuaJIT-2.0.4/doc/faq.html
index ffc2ae89973..9902f0903c0 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/faq.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2015, 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-2014 Mike Pall
+Copyright &copy; 2005-2015 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/img/contact.png b/Build/source/libs/luajit/LuaJIT-2.0.4/doc/img/contact.png
index 9c73dc594ef..9c73dc594ef 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/img/contact.png
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/doc/img/contact.png
Binary files differ
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/install.html b/Build/source/libs/luajit/LuaJIT-2.0.4/doc/install.html
index 2388ff338e5..7a878b1cf8f 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/install.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2015, 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">
@@ -127,7 +127,7 @@ operating systems, CPUs and compilers:
<tr class="odd">
<td class="compatcpu"><a href="#cross2">ARMv5+<br>ARM9E+</a></td>
<td class="compatos">GCC 4.2+</td>
-<td class="compatos">GCC 4.2+</td>
+<td class="compatos">GCC 4.2+<br>PSP2 (<a href="#psvita">PS VITA</a>)</td>
<td class="compatos">GCC 4.2+</td>
<td class="compatos compatno">&nbsp;</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.3.tar.gz
-cd LuaJIT-2.0.3</pre>
+tar zxf LuaJIT-2.0.4.tar.gz
+cd LuaJIT-2.0.4</pre>
<h3>Building LuaJIT</h3>
<p>
The supplied Makefiles try to auto-detect the settings needed for your
@@ -458,41 +458,56 @@ ISDKF="-arch armv7 -isysroot $ISDK/SDKs/$ISDKVER"
make HOST_CC="gcc -m32 -arch i386" CROSS=$ISDKP TARGET_FLAGS="$ISDKF" \
TARGET_SYS=iOS
</pre>
+
+<h3 id="consoles">Cross-compiling for consoles</h3>
<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&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:
+Building LuaJIT for consoles requires both a supported host compiler
+(x86 or x64) and a cross-compiler (to PPC or ARM) from the official
+console SDK.
</p>
-<pre class="code">
-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.
+Due to restrictions on consoles, the JIT compiler is disabled and only
+the fast interpreter is built. This is still faster than plain Lua,
+but much slower than the JIT compiler. The FFI is disabled, too, since
+it's not very useful in such an environment.
</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>,
+The following commands build a static library <tt>libluajit.a</tt>,
which can be linked against your game, just like the Lua library.
</p>
+<p>
+To cross-compile for <b id="ps3">PS3</b> from a Linux host (requires
+32&nbsp;bit GCC, i.e. multilib Linux/x64) or a Windows host (requires
+32&nbsp;bit MinGW), run this command:
+</p>
+<pre class="code">
+make HOST_CC="gcc -m32" CROSS=ppu-lv2-
+</pre>
+<p>
+To cross-compile for <b id="ps4">PS4</b> from a Windows host,
+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:
+</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.
+To cross-compile for <b id="psvita">PS Vita</b> from a Windows host,
+open a "Visual Studio .NET Command Prompt" (32&nbsp;bit host compiler),
+<tt>cd</tt> to the directory where you've unpacked the sources and
+run the following commands:
</p>
+<pre class="code">
+cd src
+psvitabuild
+</pre>
<p>
-Open a "Visual Studio .NET Command Prompt" (32&nbsp;bit host compiler),
+To cross-compile for <b id="xbox360">Xbox 360</b> from a Windows host,
+open a "Visual Studio .NET Command Prompt" (32&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>luajit20.lib</tt>,
-which can be linked against your game, just like the Lua library.
+the following commands:
</p>
<pre class="code">
cd src
@@ -621,7 +636,7 @@ to me (the upstream) and not you (the package maintainer), anyway.
</div>
<div id="foot">
<hr class="hide">
-Copyright &copy; 2005-2014 Mike Pall
+Copyright &copy; 2005-2015 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/luajit.html b/Build/source/libs/luajit/LuaJIT-2.0.4/doc/luajit.html
index 43af69c9202..45507c122b4 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/luajit.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2015, 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">
@@ -38,6 +38,9 @@ table.os1 td {
table.os2 td {
color: #ffa040;
}
+table.os3 td {
+ color: #40ffff;
+}
table.compiler td {
color: #2080ff;
background: #62bf41;
@@ -147,7 +150,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-2014 Mike Pall, released under the
+LuaJIT is Copyright &copy; 2005-2015 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 +161,10 @@ LuaJIT is Copyright &copy; 2005-2014 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>PS4</td><td>Xbox 360</td></tr>
+<tr><td><span style="font-size:90%;">Embedded</span></td><td>Android</td><td>iOS</td></tr>
+</table>
+<table class="feature os os3">
+<tr><td>PS3</td><td>PS4</td><td>PS Vita</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 +224,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-2014 Mike Pall
+Copyright &copy; 2005-2015 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/running.html b/Build/source/libs/luajit/LuaJIT-2.0.4/doc/running.html
index c01c52d5ad0..c6e1c296eba 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/running.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2015, 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.3/jit</tt> on POSIX
+this is <tt>/usr/local/share/luajit-2.0.4/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-2014 Mike Pall
+Copyright &copy; 2005-2015 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/status.html b/Build/source/libs/luajit/LuaJIT-2.0.4/doc/status.html
index ddcaed33261..b4bbec793ed 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/doc/status.html
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/doc/status.html
@@ -1,10 +1,10 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
-<title>Status &amp; Roadmap</title>
+<title>Status</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-2014, Mike Pall">
+<meta name="Copyright" content="Copyright (C) 2005-2015, 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">
@@ -17,7 +17,7 @@ ul li { padding-bottom: 0.3em; }
<a href="http://luajit.org"><span>Lua<span id="logo">JIT</span></span></a>
</div>
<div id="head">
-<h1>Status &amp; Roadmap</h1>
+<h1>Status</h1>
</div>
<div id="nav">
<ul><li>
@@ -102,20 +102,11 @@ handled correctly. The error may fall through an on-trace
garbage collector.
</li>
</ul>
-
-<h2>Roadmap</h2>
-<p>
-Please refer to the
-<a href="http://www.freelists.org/post/luajit/LuaJIT-Roadmap-20122013"><span class="ext">&raquo;</span>&nbsp;LuaJIT Roadmap 2012/2013</a> and an
-<a href="http://www.freelists.org/post/luajit/LuaJIT-Roadmap-20122013-UPDATE"><span class="ext">&raquo;</span>&nbsp;update on release planning</a> for details.
-</p>
-<p>
-</p>
<br class="flush">
</div>
<div id="foot">
<hr class="hide">
-Copyright &copy; 2005-2014 Mike Pall
+Copyright &copy; 2005-2015 Mike Pall
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_arm.h b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_arm.h
index 435bbf5e17d..57e0116f5ac 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_arm.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_arm.h
@@ -1,6 +1,6 @@
/*
** DynASM ARM encoding engine.
-** Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+** Copyright (C) 2005-2015 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.3/dynasm/dasm_arm.lua b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_arm.lua
index b3a8827e399..90a259c5c33 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_arm.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_arm.lua
@@ -1,7 +1,7 @@
------------------------------------------------------------------------------
-- DynASM ARM module.
--
--- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2015 Mike Pall. All rights reserved.
-- See dynasm.lua for full copyright notice.
------------------------------------------------------------------------------
@@ -923,19 +923,22 @@ local function parse_template(params, template, nparams, pos)
end
map_op[".template__"] = function(params, template, nparams)
- if not params then return sub(template, 9) end
+ if not params then return template:gsub("%x%x%x%x%x%x%x%x", "") end
-- Limit number of section buffer positions used by a single dasm_put().
-- A single opcode needs a maximum of 3 positions.
if secpos+3 > maxsecpos then wflush() end
local pos = wpos()
- local apos, spos = #actargs, secpos
+ local lpos, apos, spos = #actlist, #actargs, secpos
local ok, err
for t in gmatch(template, "[^|]+") do
ok, err = pcall(parse_template, params, t, nparams, pos)
if ok then return end
secpos = spos
+ actlist[lpos+1] = nil
+ actlist[lpos+2] = nil
+ actlist[lpos+3] = nil
actargs[apos+1] = nil
actargs[apos+2] = nil
actargs[apos+3] = nil
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_mips.h b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_mips.h
index 435958899f1..2f4c2d2220a 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_mips.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_mips.h
@@ -1,6 +1,6 @@
/*
** DynASM MIPS encoding engine.
-** Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+** Copyright (C) 2005-2015 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.3/dynasm/dasm_mips.lua b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_mips.lua
index 82942cbb591..ae0dbd7a9bc 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_mips.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_mips.lua
@@ -1,7 +1,7 @@
------------------------------------------------------------------------------
-- DynASM MIPS module.
--
--- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2015 Mike Pall. All rights reserved.
-- See dynasm.lua for full copyright notice.
------------------------------------------------------------------------------
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_ppc.h b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_ppc.h
index 5ccff250ffb..7df49365435 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_ppc.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_ppc.h
@@ -1,6 +1,6 @@
/*
** DynASM PPC encoding engine.
-** Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+** Copyright (C) 2005-2015 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.3/dynasm/dasm_ppc.lua b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_ppc.lua
index 61da50efbcf..91f4ff9a4c8 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_ppc.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_ppc.lua
@@ -1,7 +1,7 @@
------------------------------------------------------------------------------
-- DynASM PPC module.
--
--- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2015 Mike Pall. All rights reserved.
-- See dynasm.lua for full copyright notice.
------------------------------------------------------------------------------
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_proto.h b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_proto.h
index e77bb844557..a8bc6fd285d 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_proto.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_proto.h
@@ -1,6 +1,6 @@
/*
** DynASM encoding engine prototypes.
-** Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+** Copyright (C) 2005-2015 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.3/dynasm/dasm_x64.lua b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_x64.lua
index 91d676d1765..b1b62022f3c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_x64.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_x64.lua
@@ -1,7 +1,7 @@
------------------------------------------------------------------------------
-- DynASM x64 module.
--
--- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2015 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.3/dynasm/dasm_x86.h b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_x86.h
index 97cbbea8934..652e8c99b08 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_x86.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_x86.h
@@ -1,6 +1,6 @@
/*
** DynASM x86 encoding engine.
-** Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+** Copyright (C) 2005-2015 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.3/dynasm/dasm_x86.lua b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_x86.lua
index f3859e3e1da..7ca061d22f6 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dasm_x86.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dasm_x86.lua
@@ -1,7 +1,7 @@
------------------------------------------------------------------------------
-- DynASM x86/x64 module.
--
--- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2015 Mike Pall. All rights reserved.
-- See dynasm.lua for full copyright notice.
------------------------------------------------------------------------------
@@ -1081,6 +1081,9 @@ local map_op = {
btr_2 = "mrqdw:0FB3Rm|miqdw:0FBA6mU",
bts_2 = "mrqdw:0FABRm|miqdw:0FBA5mU",
+ shld_3 = "mriqdw:0FA4RmU|mrCqdw:0FA5Rm",
+ shrd_3 = "mriqdw:0FACRmU|mrCqdw:0FADRm",
+
rdtsc_0 = "0F31", -- P1+
cpuid_0 = "0FA2", -- P1+
@@ -1114,6 +1117,9 @@ local map_op = {
fucompp_0 = "DAE9",
fcompp_0 = "DED9",
+ fldenv_1 = "x.:D94m",
+ fnstenv_1 = "x.:D96m",
+ fstenv_1 = "x.:9BD96m",
fldcw_1 = "xw:nD95m",
fstcw_1 = "xw:n9BD97m",
fnstcw_1 = "xw:nD97m",
@@ -1189,6 +1195,8 @@ local map_op = {
cvttps2dq_2 = "rmo:F30F5BrM",
cvttsd2si_2 = "rr/do:F20F2CrM|rr/qo:|rx/dq:|rxq:",
cvttss2si_2 = "rr/do:F30F2CrM|rr/qo:|rxd:|rx/qd:",
+ fxsave_1 = "x.:0FAE0m",
+ fxrstor_1 = "x.:0FAE1m",
ldmxcsr_1 = "xd:0FAE2m",
lfence_0 = "0FAEE8",
maskmovdqu_2 = "rro:660FF7rM",
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dynasm.lua b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dynasm.lua
index 0ea8697c07c..fffda7513c8 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/dynasm/dynasm.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/dynasm/dynasm.lua
@@ -2,7 +2,7 @@
-- DynASM. A dynamic assembler for code generation engines.
-- Originally designed and implemented for LuaJIT.
--
--- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2015 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-2014 Mike Pall. All rights reserved.
+Copyright (C) 2005-2015 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
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/etc/luajit.1 b/Build/source/libs/luajit/LuaJIT-2.0.4/etc/luajit.1
index 723a708cc24..fd38b0a92c7 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/etc/luajit.1
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014 Mike Pall.
+\fBLuaJIT\fR is Copyright \(co 2005-2015 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.3/etc/luajit.pc b/Build/source/libs/luajit/LuaJIT-2.0.4/etc/luajit.pc
index d3f0cf30b42..a652b40d461 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/etc/luajit.pc
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/etc/luajit.pc
@@ -1,7 +1,7 @@
# Package information for LuaJIT to be used by pkg-config.
majver=2
minver=0
-relver=3
+relver=4
version=${majver}.${minver}.${relver}
abiver=5.1
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/Makefile b/Build/source/libs/luajit/LuaJIT-2.0.4/src/Makefile
index 818f3019257..00381e82f72 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/Makefile
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014 Mike Pall. See Copyright Notice in luajit.h
+# Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
##############################################################################
MAJVER= 2
MINVER= 0
-RELVER= 3
+RELVER= 4
ABIVER= 5.1
NODOTABIVER= 51
@@ -122,8 +122,10 @@ XCFLAGS+= -DLUAJIT_ENABLE_LUA52COMPAT
#
# Use the system provided memory allocator (realloc) instead of the
# bundled memory allocator. This is slower, but sometimes helpful for
-# debugging. It's helpful for Valgrind's memcheck tool, too. This option
-# cannot be enabled on x64, since the built-in allocator is mandatory.
+# debugging. This option cannot be enabled on x64, since realloc usually
+# doesn't return addresses in the right address range.
+# OTOH this option is mandatory for Valgrind's memcheck tool on x64 and
+# the only way to get useful results from it for all other architectures.
#XCFLAGS+= -DLUAJIT_USE_SYSMALLOC
#
# This define is required to run LuaJIT under Valgrind. The Valgrind
@@ -288,15 +290,15 @@ ifeq (Windows,$(TARGET_SYS))
TARGET_XSHLDFLAGS= -shared
TARGET_DYNXLDOPTS=
else
+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
ifeq (Darwin,$(TARGET_SYS))
ifeq (,$(MACOSX_DEPLOYMENT_TARGET))
export MACOSX_DEPLOYMENT_TARGET=10.4
endif
TARGET_STRIP+= -x
TARGET_AR+= 2>/dev/null
- 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)
@@ -308,14 +310,10 @@ else
ifeq (iOS,$(TARGET_SYS))
TARGET_STRIP+= -x
TARGET_AR+= 2>/dev/null
- TARGET_XCFLAGS+= -fno-stack-protector
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)
else
- ifneq (,$(findstring stack-protector,$(shell $(TARGET_CC) -dumpspecs)))
- TARGET_XCFLAGS+= -fno-stack-protector
- endif
ifneq (SunOS,$(TARGET_SYS))
ifneq (PS3,$(TARGET_SYS))
TARGET_XLDFLAGS+= -Wl,-E
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/Makefile.dep b/Build/source/libs/luajit/LuaJIT-2.0.4/src/Makefile.dep
index b155b81c681..17c52421944 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/Makefile.dep
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/Makefile.dep
@@ -91,7 +91,7 @@ lj_ctype.o: lj_ctype.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_ctype.h lj_ccallback.h
lj_debug.o: lj_debug.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \
lj_err.h lj_errmsg.h lj_debug.h lj_str.h lj_tab.h lj_state.h lj_frame.h \
- lj_bc.h lj_jit.h lj_ir.h
+ lj_bc.h lj_vm.h lj_jit.h lj_ir.h
lj_dispatch.o: lj_dispatch.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \
lj_err.h lj_errmsg.h lj_func.h lj_str.h lj_tab.h lj_meta.h lj_debug.h \
lj_state.h lj_frame.h lj_bc.h lj_ff.h lj_ffdef.h lj_jit.h lj_ir.h \
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/README b/Build/source/libs/luajit/LuaJIT-2.0.4/src/host/README
index abfcdaa76e9..abfcdaa76e9 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/README
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/host/README
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/host/buildvm.c
index 95d89e9b062..11f666076c4 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/host/buildvm.c
@@ -1,6 +1,6 @@
/*
** LuaJIT VM builder.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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.3/src/host/buildvm.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/host/buildvm.h
index f9dc8c4f202..b26218502e3 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/host/buildvm.h
@@ -1,6 +1,6 @@
/*
** LuaJIT VM builder.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _BUILDVM_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_asm.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/host/buildvm_asm.c
index 9b28b3b3846..2c9a2d482e6 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_asm.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/host/buildvm_asm.c
@@ -1,6 +1,6 @@
/*
** LuaJIT VM builder: Assembler source code emitter.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#include "buildvm.h"
@@ -286,7 +286,7 @@ void emit_asm(BuildCtx *ctx)
fprintf(ctx->fp, "\n");
switch (ctx->mode) {
case BUILD_elfasm:
-#if !LJ_TARGET_PS3
+#if !(LJ_TARGET_PS3 || LJ_TARGET_PSVITA)
fprintf(ctx->fp, "\t.section .note.GNU-stack,\"\"," ELFASM_PX "progbits\n");
#endif
#if LJ_TARGET_PPCSPE
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_fold.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/host/buildvm_fold.c
index 7f5d9f2f186..daed7eccb22 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_fold.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/host/buildvm_fold.c
@@ -1,6 +1,6 @@
/*
** LuaJIT VM builder: IR folding hash table generator.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#include "buildvm.h"
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_lib.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/host/buildvm_lib.c
index eafdab98178..c37301d462c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_lib.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/host/buildvm_lib.c
@@ -1,6 +1,6 @@
/*
** LuaJIT VM builder: library definition compiler.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#include "buildvm.h"
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_peobj.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/host/buildvm_peobj.c
index 138b04232d5..4279f50050b 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/buildvm_peobj.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/host/buildvm_peobj.c
@@ -1,6 +1,6 @@
/*
** LuaJIT VM builder: PE object emitter.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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.3/src/host/genminilua.lua b/Build/source/libs/luajit/LuaJIT-2.0.4/src/host/genminilua.lua
index 04c55188720..cd0d946628c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/genminilua.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2015 Mike Pall. All rights reserved.
-- Released under the MIT license. See Copyright Notice in luajit.h
----------------------------------------------------------------------------
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/minilua.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/host/minilua.c
index aee192a710c..aee192a710c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/host/minilua.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/host/minilua.c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/bc.lua b/Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/bc.lua
index 9df19c7bfee..46a40892e85 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/bc.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/bc.lua
@@ -1,7 +1,7 @@
----------------------------------------------------------------------------
-- LuaJIT bytecode listing module.
--
--- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2015 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 == 20003, "LuaJIT core/library version mismatch")
+assert(jit.version_num == 20004, "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.3/src/jit/bcsave.lua b/Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/bcsave.lua
index f55bda970be..0319b3d2566 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/bcsave.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/bcsave.lua
@@ -1,7 +1,7 @@
----------------------------------------------------------------------------
-- LuaJIT module to save/list bytecode.
--
--- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2015 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 == 20003, "LuaJIT core/library version mismatch")
+assert(jit.version_num == 20004, "LuaJIT core/library version mismatch")
local bit = require("bit")
-- Symbol name prefix for LuaJIT bytecode.
@@ -69,7 +69,7 @@ local map_arch = {
local map_os = {
linux = true, windows = true, osx = true, freebsd = true, netbsd = true,
- openbsd = true, solaris = true,
+ openbsd = true, dragonfly = true, solaris = true,
}
local function checkarg(str, map, err)
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_arm.lua b/Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/dis_arm.lua
index b3d0ebc2c4c..59be715a988 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_arm.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/dis_arm.lua
@@ -1,7 +1,7 @@
----------------------------------------------------------------------------
-- LuaJIT ARM disassembler module.
--
--- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2015 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.3/src/jit/dis_mips.lua b/Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/dis_mips.lua
index 47a7a83bc0c..acdd2be1663 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_mips.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/dis_mips.lua
@@ -1,7 +1,7 @@
----------------------------------------------------------------------------
-- LuaJIT MIPS disassembler module.
--
--- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2015 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.3/src/jit/dis_mipsel.lua b/Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/dis_mipsel.lua
index d19de319334..dd9d26ae607 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_mipsel.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/dis_mipsel.lua
@@ -1,7 +1,7 @@
----------------------------------------------------------------------------
-- LuaJIT MIPSEL disassembler wrapper module.
--
--- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2015 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.3/src/jit/dis_ppc.lua b/Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/dis_ppc.lua
index cfaf982fadb..d05c431116a 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_ppc.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/dis_ppc.lua
@@ -1,7 +1,7 @@
----------------------------------------------------------------------------
-- LuaJIT PPC disassembler module.
--
--- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2015 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.3/src/jit/dis_x64.lua b/Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/dis_x64.lua
index 4f491695317..a80981bd5cb 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_x64.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/dis_x64.lua
@@ -1,7 +1,7 @@
----------------------------------------------------------------------------
-- LuaJIT x64 disassembler wrapper module.
--
--- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2015 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.3/src/jit/dis_x86.lua b/Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/dis_x86.lua
index 0b865ab6ea8..078d6094dcb 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dis_x86.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/dis_x86.lua
@@ -1,7 +1,7 @@
----------------------------------------------------------------------------
-- LuaJIT x86/x64 disassembler module.
--
--- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2015 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.3/src/jit/dump.lua b/Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/dump.lua
index 556ce88300a..d15c528ea80 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/dump.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/dump.lua
@@ -1,7 +1,7 @@
----------------------------------------------------------------------------
-- LuaJIT compiler dump module.
--
--- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2015 Mike Pall. All rights reserved.
-- Released under the MIT license. See Copyright Notice in luajit.h
----------------------------------------------------------------------------
--
@@ -55,7 +55,7 @@
-- Cache some library functions and objects.
local jit = require("jit")
-assert(jit.version_num == 20003, "LuaJIT core/library version mismatch")
+assert(jit.version_num == 20004, "LuaJIT core/library version mismatch")
local jutil = require("jit.util")
local vmdef = require("jit.vmdef")
local funcinfo, funcbc = jutil.funcinfo, jutil.funcbc
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/v.lua b/Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/v.lua
index 197e67c69e5..32666fd1a2c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/jit/v.lua
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/jit/v.lua
@@ -1,7 +1,7 @@
----------------------------------------------------------------------------
-- Verbose mode of the LuaJIT compiler.
--
--- Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+-- Copyright (C) 2005-2015 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 == 20003, "LuaJIT core/library version mismatch")
+assert(jit.version_num == 20004, "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.3/src/lauxlib.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lauxlib.h
index b6ed1a7d04a..b6ed1a7d04a 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lauxlib.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lauxlib.h
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lbitlib.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lbitlib.c
index 5187bbff0dc..5187bbff0dc 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lbitlib.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lbitlib.c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_aux.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_aux.c
index 1b01fe0705f..4a1b70ddc09 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_aux.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_aux.c
@@ -1,6 +1,6 @@
/*
** Auxiliary library for the Lua/C API.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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
@@ -302,7 +302,7 @@ static int panic(lua_State *L)
#ifdef LUAJIT_USE_SYSMALLOC
-#if LJ_64
+#if LJ_64 && !defined(LUAJIT_USE_VALGRIND)
#error "Must use builtin allocator for 64 bit target"
#endif
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_base.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_base.c
index 30e88f19d8f..17b9525d667 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_base.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_base.c
@@ -1,6 +1,6 @@
/*
** Base and coroutine library.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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.3/src/lib_bit.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_bit.c
index 739924b09e5..583e04b0c01 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_bit.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_bit.c
@@ -1,6 +1,6 @@
/*
** Bit manipulation library.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lib_bit_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_debug.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_debug.c
index 97f032f11e1..e87c35cfe94 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_debug.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_debug.c
@@ -1,6 +1,6 @@
/*
** Debug library.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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.3/src/lib_ffi.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_ffi.c
index e789ad6c33c..f6df39d67f9 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_ffi.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_ffi.c
@@ -1,6 +1,6 @@
/*
** FFI library.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lib_ffi_c
@@ -136,6 +136,7 @@ static int ffi_index_meta(lua_State *L, CTState *cts, CType *ct, MMS mm)
return 0;
}
}
+ copyTV(L, base, L->top);
tv = L->top-1;
}
return lj_meta_tailcall(L, tv);
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_init.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_init.c
index c1b6115e35c..8e0d4428fd3 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_init.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_init.c
@@ -1,6 +1,6 @@
/*
** Library initialization.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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.3/src/lib_io.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_io.c
index 04f0f7390f3..037aa28e562 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_io.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_io.c
@@ -1,6 +1,6 @@
/*
** I/O library.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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 || LJ_TARGET_PS4
+#if LJ_TARGET_PS3 || LJ_TARGET_PS4 || LJ_TARGET_PSVITA
iof->fp = NULL; errno = ENOSYS;
#else
iof->fp = tmpfile();
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_jit.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_jit.c
index 0fadf8b9efe..96525faf271 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_jit.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_jit.c
@@ -1,6 +1,6 @@
/*
** JIT library.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lib_jit_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_math.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_math.c
index 3aa5c6b01bd..40f29142d70 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_math.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_math.c
@@ -1,6 +1,6 @@
/*
** Math library.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#include <math.h>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_os.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_os.c
index f62e8c8bb2e..bb5a141e3cd 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_os.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_os.c
@@ -1,13 +1,12 @@
/*
** OS library.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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
*/
#include <errno.h>
-#include <locale.h>
#include <time.h>
#define lib_os_c
@@ -27,6 +26,10 @@
#include <stdio.h>
#endif
+#if !LJ_TARGET_PSVITA
+#include <locale.h>
+#endif
+
/* ------------------------------------------------------------------------ */
#define LJLIB_MODULE_os
@@ -70,7 +73,7 @@ LJLIB_CF(os_rename)
LJLIB_CF(os_tmpname)
{
-#if LJ_TARGET_PS3 || LJ_TARGET_PS4
+#if LJ_TARGET_PS3 || LJ_TARGET_PS4 || LJ_TARGET_PSVITA
lj_err_caller(L, LJ_ERR_OSUNIQF);
return 0;
#else
@@ -254,6 +257,9 @@ LJLIB_CF(os_difftime)
LJLIB_CF(os_setlocale)
{
+#if LJ_TARGET_PSVITA
+ lua_pushliteral(L, "C");
+#else
GCstr *s = lj_lib_optstr(L, 1);
const char *str = s ? strdata(s) : NULL;
int opt = lj_lib_checkopt(L, 2, 6,
@@ -265,6 +271,7 @@ LJLIB_CF(os_setlocale)
else if (opt == 4) opt = LC_MONETARY;
else if (opt == 6) opt = LC_ALL;
lua_pushstring(L, setlocale(opt, str));
+#endif
return 1;
}
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_package.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_package.c
index 0e4a8ed0641..a668193b1c9 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_package.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_package.c
@@ -1,6 +1,6 @@
/*
** Package library.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_string.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_string.c
index 9ec6d0c3d18..c6168edbb67 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_string.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_string.c
@@ -1,6 +1,6 @@
/*
** String library.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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.3/src/lib_table.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_table.c
index e0e8302fcc9..fbfe863873b 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lib_table.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lib_table.c
@@ -1,6 +1,6 @@
/*
** Table library.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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.3/src/lj.supp b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj.supp
index 411f2617001..411f2617001 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj.supp
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj.supp
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_alloc.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_alloc.c
index f856a7a017f..7c7ec678726 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_alloc.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_alloc.c
@@ -179,23 +179,29 @@ static LJ_AINLINE int CALL_MUNMAP(void *ptr, size_t size)
#if defined(MAP_32BIT)
+#if defined(__sun__)
+#define MMAP_REGION_START ((uintptr_t)0x1000)
+#else
/* Actually this only gives us max. 1GB in current Linux kernels. */
+#define MMAP_REGION_START ((uintptr_t)0)
+#endif
+
static LJ_AINLINE void *CALL_MMAP(size_t size)
{
int olderr = errno;
- void *ptr = mmap(NULL, size, MMAP_PROT, MAP_32BIT|MMAP_FLAGS, -1, 0);
+ void *ptr = mmap((void *)MMAP_REGION_START, size, MMAP_PROT, MAP_32BIT|MMAP_FLAGS, -1, 0);
errno = olderr;
return ptr;
}
-#elif LJ_TARGET_OSX || LJ_TARGET_PS4 || 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(__DragonFly__) || 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,
** otherwise the lower 4GB are blocked. And the 32GB RLIMIT_DATA needs
** to be reduced to 250MB on FreeBSD.
*/
-#if LJ_TARGET_OSX
+#if LJ_TARGET_OSX || defined(__DragonFly__)
#define MMAP_REGION_START ((uintptr_t)0x10000)
#elif LJ_TARGET_PS4
#define MMAP_REGION_START ((uintptr_t)0x4000)
@@ -232,7 +238,7 @@ static LJ_AINLINE void *CALL_MMAP(size_t size)
return p;
}
if (p != CMFAIL) munmap(p, size);
-#ifdef __sun__
+#if defined(__sun__) || defined(__DragonFly__)
alloc_hint += 0x1000000; /* Need near-exhaustive linear scan. */
if (alloc_hint + size < MMAP_REGION_END) continue;
#endif
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_alloc.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_alloc.h
index f87a7cf3422..f87a7cf3422 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_alloc.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_alloc.h
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_api.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_api.c
index bc5290b241f..3bedb39fd70 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_api.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_api.c
@@ -1,6 +1,6 @@
/*
** Public Lua/C API.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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.3/src/lj_arch.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_arch.h
index 0b0720951c0..20d1eb1183e 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_arch.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_arch.h
@@ -1,6 +1,6 @@
/*
** Target architecture selection.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_ARCH_H
@@ -67,7 +67,8 @@
#elif defined(__MACH__) && defined(__APPLE__)
#define LUAJIT_OS LUAJIT_OS_OSX
#elif (defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || \
- defined(__NetBSD__) || defined(__OpenBSD__)) && !defined(__ORBIS__)
+ defined(__NetBSD__) || defined(__OpenBSD__) || \
+ defined(__DragonFly__)) && !defined(__ORBIS__)
#define LUAJIT_OS LUAJIT_OS_BSD
#elif (defined(__sun__) && defined(__svr4__)) || defined(__CYGWIN__)
#define LUAJIT_OS LUAJIT_OS_POSIX
@@ -111,6 +112,11 @@
#define NULL ((void*)0)
#endif
+#ifdef __psp2__
+#define LJ_TARGET_PSVITA 1
+#define LJ_TARGET_CONSOLE 1
+#endif
+
#if _XBOX_VER >= 200
#define LJ_TARGET_XBOX360 1
#define LJ_TARGET_CONSOLE 1
@@ -175,7 +181,9 @@
#define LJ_TARGET_UNIFYROT 2 /* Want only IR_BROR. */
#define LJ_ARCH_NUMMODE LJ_NUMMODE_DUAL
-#if __ARM_ARCH_7__ || __ARM_ARCH_7A__ || __ARM_ARCH_7R__ || __ARM_ARCH_7S__
+#if __ARM_ARCH____ARM_ARCH_8__ || __ARM_ARCH_8A__
+#define LJ_ARCH_VERSION 80
+#elif __ARM_ARCH_7__ || __ARM_ARCH_7A__ || __ARM_ARCH_7R__ || __ARM_ARCH_7S__ || __ARM_ARCH_7VE__
#define LJ_ARCH_VERSION 70
#elif __ARM_ARCH_6T2__
#define LJ_ARCH_VERSION 61
@@ -334,6 +342,9 @@
#if defined(__mips_soft_float)
#error "No support for MIPS CPUs without FPU"
#endif
+#if defined(_LP64)
+#error "No support for MIPS64"
+#endif
#endif
#endif
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_asm.c
index 264649aeb1c..804b4dc80b2 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_asm.c
@@ -1,6 +1,6 @@
/*
** IR assembler (SSA IR -> machine code).
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_asm_c
@@ -353,6 +353,7 @@ static Reg ra_rematk(ASMState *as, IRRef ref)
static int32_t ra_spill(ASMState *as, IRIns *ir)
{
int32_t slot = ir->s;
+ lua_assert(ir >= as->ir + REF_TRUE);
if (!ra_hasspill(slot)) {
if (irt_is64(ir->t)) {
slot = as->evenspill;
@@ -1372,6 +1373,11 @@ static void asm_head_side(ASMState *as)
int pass3 = 0;
IRRef i;
+ if (as->snapno && as->topslot > as->parent->topslot) {
+ /* Force snap #0 alloc to prevent register overwrite in stack check. */
+ as->snapno = 0;
+ asm_snap_alloc(as);
+ }
allow = asm_head_side_base(as, irp, allow);
/* Scan all parent SLOADs and collect register dependencies. */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_asm.h
index f5d0159b1e4..85f29763220 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_asm.h
@@ -1,6 +1,6 @@
/*
** IR assembler (SSA IR -> machine code).
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_ASM_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_arm.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_asm_arm.h
index 72f205d90ab..9e4cf4367f0 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_arm.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_asm_arm.h
@@ -1,6 +1,6 @@
/*
** ARM IR assembler (SSA IR -> machine code).
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
/* -- Register allocator extensions --------------------------------------- */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_mips.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_asm_mips.h
index e5c67b53e2a..78bd26d5db5 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_mips.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_asm_mips.h
@@ -1,6 +1,6 @@
/*
** MIPS IR assembler (SSA IR -> machine code).
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
/* -- Register allocator extensions --------------------------------------- */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_ppc.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_asm_ppc.h
index e1a496a7e0c..2c5d74a8d94 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_ppc.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_asm_ppc.h
@@ -1,6 +1,6 @@
/*
** PPC IR assembler (SSA IR -> machine code).
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
/* -- Register allocator extensions --------------------------------------- */
@@ -49,6 +49,8 @@ static void asm_exitstub_setup(ASMState *as, ExitNo nexits)
{
ExitNo i;
MCode *mxp = as->mctop;
+ if (mxp - (nexits + 3 + MCLIM_REDZONE) < as->mclim)
+ asm_mclimit(as);
/* 1: mflr r0; bl ->vm_exit_handler; li r0, traceno; bl <1; bl <1; ... */
for (i = nexits-1; (int32_t)i >= 0; i--)
*--mxp = PPCI_BL|(((-3-i)&0x00ffffffu)<<2);
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_x86.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_asm_x86.h
index fda911e50f2..0b6b2d4a5a7 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_asm_x86.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_asm_x86.h
@@ -1,6 +1,6 @@
/*
** x86/x64 IR assembler (SSA IR -> machine code).
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
/* -- Guard handling ------------------------------------------------------ */
@@ -325,6 +325,14 @@ static Reg asm_fuseload(ASMState *as, IRRef ref, RegSet allow)
as->mrm.base = as->mrm.idx = RID_NONE;
return RID_MRM;
}
+ } else if (ir->o == IR_KINT64) {
+ RegSet avail = as->freeset & ~as->modset & RSET_GPR;
+ lua_assert(allow != RSET_EMPTY);
+ if (!(avail & (avail-1))) { /* Fuse if less than two regs available. */
+ as->mrm.ofs = ptr2addr(ir_kint64(ir));
+ as->mrm.base = as->mrm.idx = RID_NONE;
+ return RID_MRM;
+ }
} else if (mayfuse(as, ref)) {
RegSet xallow = (allow & RSET_GPR) ? allow : RSET_GPR;
if (ir->o == IR_SLOAD) {
@@ -361,7 +369,7 @@ static Reg asm_fuseload(ASMState *as, IRRef ref, RegSet allow)
return RID_MRM;
}
}
- if (!(as->freeset & allow) &&
+ if (!(as->freeset & allow) && !irref_isk(ref) &&
(allow == RSET_EMPTY || ra_hasspill(ir->s) || iscrossref(as, ref)))
goto fusespill;
return ra_allocref(as, ref, allow);
@@ -571,7 +579,7 @@ static void asm_setupresult(ASMState *as, IRIns *ir, const CCallInfo *ci)
lua_assert(!irt_ispri(ir->t));
ra_destreg(as, ir, RID_RET);
}
- } else if (LJ_32 && irt_isfp(ir->t)) {
+ } else if (LJ_32 && irt_isfp(ir->t) && !(ci->flags & CCI_CASTU64)) {
emit_x87op(as, XI_FPOP); /* Pop unused result from x87 st0. */
}
}
@@ -1828,8 +1836,12 @@ static void asm_intarith(ASMState *as, IRIns *ir, x86Arith xa)
Reg dest, right;
int32_t k = 0;
if (as->flagmcp == as->mcp) { /* Drop test r,r instruction. */
- as->flagmcp = NULL;
- as->mcp += (LJ_64 && *as->mcp < XI_TESTb) ? 3 : 2;
+ MCode *p = as->mcp + ((LJ_64 && *as->mcp < XI_TESTb) ? 3 : 2);
+ if ((p[1] & 15) < 14) {
+ if ((p[1] & 15) >= 12) p[1] -= 4; /* L <->S, NL <-> NS */
+ as->flagmcp = NULL;
+ as->mcp = p;
+ } /* else: cannot transform LE/NLE to cc without use of OF. */
}
right = IR(rref)->r;
if (ra_hasreg(right)) {
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bc.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_bc.c
index d5d3d78db8c..a8f444c26e1 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bc.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_bc.c
@@ -1,6 +1,6 @@
/*
** Bytecode instruction modes.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_bc_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bc.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_bc.h
index 1a4ade3175d..7436fabfe17 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bc.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_bc.h
@@ -1,6 +1,6 @@
/*
** Bytecode instruction format.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_BC_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bcdump.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_bcdump.h
index 77a789e9eb7..812d0e15169 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bcdump.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_bcdump.h
@@ -1,6 +1,6 @@
/*
** Bytecode dump definitions.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_BCDUMP_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bcread.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_bcread.c
index c0baece4605..25859d2fa62 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bcread.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_bcread.c
@@ -1,6 +1,6 @@
/*
** Bytecode reader.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_bcread_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bcwrite.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_bcwrite.c
index dcdaa10a632..ff97450b8fe 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_bcwrite.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_bcwrite.c
@@ -1,6 +1,6 @@
/*
** Bytecode writer.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_bcwrite_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_carith.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_carith.c
index 9f94091d488..2a358a9bb0d 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_carith.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_carith.c
@@ -1,6 +1,6 @@
/*
** C data arithmetic.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#include "lj_obj.h"
@@ -62,7 +62,7 @@ static int carith_checkarg(lua_State *L, CTState *cts, CDArith *ca)
TValue *o2 = i == 0 ? o+1 : o-1;
CType *ct = ctype_raw(cts, cdataV(o2)->ctypeid);
ca->ct[i] = NULL;
- ca->p[i] = NULL;
+ ca->p[i] = (uint8_t *)strVdata(o);
ok = 0;
if (ctype_isenum(ct->info)) {
CTSize ofs;
@@ -79,7 +79,7 @@ static int carith_checkarg(lua_State *L, CTState *cts, CDArith *ca)
}
} else {
ca->ct[i] = NULL;
- ca->p[i] = NULL;
+ ca->p[i] = (void *)(intptr_t)1; /* To make it unequal. */
ok = 0;
}
}
@@ -234,7 +234,9 @@ static int lj_carith_meta(lua_State *L, CTState *cts, CDArith *ca, MMS mm)
const char *repr[2];
int i, isenum = -1, isstr = -1;
if (mm == MM_eq) { /* Equality checks never raise an error. */
- setboolV(L->top-1, 0);
+ int eq = ca->p[0] == ca->p[1];
+ setboolV(L->top-1, eq);
+ setboolV(&G(L)->tmptv2, eq); /* Remember for trace recorder. */
return 1;
}
for (i = 0; i < 2; i++) {
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_carith.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_carith.h
index 8b28556d8cf..8c4bdbbe2a6 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_carith.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_carith.h
@@ -1,6 +1,6 @@
/*
** C data arithmetic.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_CARITH_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccall.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ccall.c
index 70c9ba5ec1c..998417c1cf8 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccall.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ccall.c
@@ -1,6 +1,6 @@
/*
** FFI C call handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#include "lj_obj.h"
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccall.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ccall.h
index c3ea9e6f985..f5530109313 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccall.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ccall.h
@@ -1,6 +1,6 @@
/*
** FFI C call handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_CCALL_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccallback.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ccallback.c
index d872d671514..b210641f914 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccallback.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ccallback.c
@@ -1,6 +1,6 @@
/*
** FFI C callback handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#include "lj_obj.h"
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccallback.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ccallback.h
index 45b5ff02d5e..83dbe048b5b 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ccallback.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ccallback.h
@@ -1,6 +1,6 @@
/*
** FFI C callback handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_CCALLBACK_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cconv.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_cconv.c
index de4938e4fc6..8a270766fb9 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cconv.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_cconv.c
@@ -1,6 +1,6 @@
/*
** C type conversions.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#include "lj_obj.h"
@@ -702,6 +702,7 @@ static void cconv_substruct_init(CTState *cts, CType *d, uint8_t *dp,
} else if (ctype_isxattrib(df->info, CTA_SUBTYPE)) {
cconv_substruct_init(cts, ctype_rawchild(cts, df),
dp+df->size, o, len, ip);
+ if ((d->info & CTF_UNION)) break;
} /* Ignore all other entries in the chain. */
}
}
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cconv.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_cconv.h
index 17e0f050e46..2bd50ff46e9 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cconv.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_cconv.h
@@ -1,6 +1,6 @@
/*
** C type conversions.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_CCONV_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cdata.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_cdata.c
index 590ddf106c3..39fc13a9ff4 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cdata.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_cdata.c
@@ -1,6 +1,6 @@
/*
** C data management.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#include "lj_obj.h"
@@ -127,16 +127,16 @@ collect_attrib:
integer_key:
if (ctype_ispointer(ct->info)) {
CTSize sz = lj_ctype_size(cts, ctype_cid(ct->info)); /* Element size. */
- if (sz != CTSIZE_INVALID) {
- if (ctype_isptr(ct->info)) {
- p = (uint8_t *)cdata_getptr(p, ct->size);
- } else if ((ct->info & (CTF_VECTOR|CTF_COMPLEX))) {
- if ((ct->info & CTF_COMPLEX)) idx &= 1;
- *qual |= CTF_CONST; /* Valarray elements are constant. */
- }
- *pp = p + idx*(int32_t)sz;
- return ct;
+ if (sz == CTSIZE_INVALID)
+ lj_err_caller(cts->L, LJ_ERR_FFI_INVSIZE);
+ if (ctype_isptr(ct->info)) {
+ p = (uint8_t *)cdata_getptr(p, ct->size);
+ } else if ((ct->info & (CTF_VECTOR|CTF_COMPLEX))) {
+ if ((ct->info & CTF_COMPLEX)) idx &= 1;
+ *qual |= CTF_CONST; /* Valarray elements are constant. */
}
+ *pp = p + idx*(int32_t)sz;
+ return ct;
}
} else if (tviscdata(key)) { /* Integer cdata key. */
GCcdata *cdk = cdataV(key);
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cdata.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_cdata.h
index 6c8e7a1ad41..3a1275e6c16 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cdata.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_cdata.h
@@ -1,6 +1,6 @@
/*
** C data management.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_CDATA_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_char.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_char.c
index 11f23efe44d..11f23efe44d 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_char.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_char.c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_char.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_char.h
index c3c86d34b1d..c3c86d34b1d 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_char.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_char.h
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_clib.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_clib.c
index ccb99e55a4d..d3526090975 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_clib.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_clib.c
@@ -1,6 +1,6 @@
/*
** FFI C library loader.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#include "lj_obj.h"
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_clib.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_clib.h
index 47373288219..e5dc98e1cd7 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_clib.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_clib.h
@@ -1,6 +1,6 @@
/*
** FFI C library loader.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_CLIB_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cparse.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_cparse.c
index 6ffe16a2f18..b9df88d7702 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cparse.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_cparse.c
@@ -1,6 +1,6 @@
/*
** C declaration parser.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#include "lj_obj.h"
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cparse.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_cparse.h
index 586f494569d..441580de6fe 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_cparse.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_cparse.h
@@ -1,6 +1,6 @@
/*
** C declaration parser.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_CPARSE_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_crecord.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_crecord.c
index da9013f0cae..a46665e9af0 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_crecord.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_crecord.c
@@ -1,6 +1,6 @@
/*
** Trace recorder for C data operations.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_ffrecord_c
@@ -794,7 +794,7 @@ again:
}
} else if (tref_isstr(idx)) {
GCstr *name = strV(&rd->argv[1]);
- if (cd->ctypeid == CTID_CTYPEID)
+ if (cd && cd->ctypeid == CTID_CTYPEID)
ct = ctype_raw(cts, crec_constructor(J, cd, ptr));
if (ctype_isstruct(ct->info)) {
CTSize fofs;
@@ -835,6 +835,7 @@ again:
CType *cct = ctype_rawchild(cts, ct);
if (ctype_isstruct(cct->info)) {
ct = cct;
+ cd = NULL;
if (tref_isstr(idx)) goto again;
}
}
@@ -847,8 +848,11 @@ again:
/* Resolve reference for field. */
ct = ctype_get(cts, sid);
- if (ctype_isref(ct->info))
+ if (ctype_isref(ct->info)) {
ptr = emitir(IRT(IR_XLOAD, IRT_PTR), ptr, 0);
+ sid = ctype_cid(ct->info);
+ ct = ctype_get(cts, sid);
+ }
while (ctype_isattrib(ct->info))
ct = ctype_child(cts, ct); /* Skip attributes. */
@@ -1317,7 +1321,8 @@ static TRef crec_arith_ptr(jit_State *J, TRef *sp, CType **s, MMS mm)
}
/* Record ctype arithmetic metamethods. */
-static void crec_arith_meta(jit_State *J, CTState *cts, RecordFFData *rd)
+static TRef crec_arith_meta(jit_State *J, TRef *sp, CType **s, CTState *cts,
+ RecordFFData *rd)
{
cTValue *tv = NULL;
if (J->base[0]) {
@@ -1338,13 +1343,20 @@ static void crec_arith_meta(jit_State *J, CTState *cts, RecordFFData *rd)
if (tvisfunc(tv)) {
J->base[-1] = lj_ir_kfunc(J, funcV(tv)) | TREF_FRAME;
rd->nres = -1; /* Pending tailcall. */
- return;
+ return 0;
} /* NYI: non-function metamethods. */
- } else if ((MMS)rd->data == MM_eq) {
- J->base[0] = TREF_FALSE;
- return;
+ } else if ((MMS)rd->data == MM_eq) { /* Fallback cdata pointer comparison. */
+ if (sp[0] && sp[1] && ctype_isnum(s[0]->info) == ctype_isnum(s[1]->info)) {
+ /* Assume true comparison. Fixup and emit pending guard later. */
+ lj_ir_set(J, IRTG(IR_EQ, IRT_PTR), sp[0], sp[1]);
+ J->postproc = LJ_POST_FIXGUARD;
+ return TREF_TRUE;
+ } else {
+ return TREF_FALSE;
+ }
}
lj_trace_err(J, LJ_TRERR_BADTYPE);
+ return 0;
}
void LJ_FASTCALL recff_cdata_arith(jit_State *J, RecordFFData *rd)
@@ -1357,7 +1369,7 @@ void LJ_FASTCALL recff_cdata_arith(jit_State *J, RecordFFData *rd)
TRef tr = J->base[i];
CType *ct = ctype_get(cts, CTID_DOUBLE);
if (!tr) {
- goto trymeta;
+ lj_trace_err(J, LJ_TRERR_BADTYPE);
} else if (tref_iscdata(tr)) {
CTypeID id = argv2cdata(J, tr, &rd->argv[i])->ctypeid;
IRType t;
@@ -1387,11 +1399,12 @@ void LJ_FASTCALL recff_cdata_arith(jit_State *J, RecordFFData *rd)
}
if (ctype_isenum(ct->info)) ct = ctype_child(cts, ct);
if (ctype_isnum(ct->info)) {
- if (t == IRT_CDATA) goto trymeta;
- if (t == IRT_I64 || t == IRT_U64) lj_needsplit(J);
- tr = emitir(IRT(IR_XLOAD, t), tr, 0);
- } else if (!(ctype_isptr(ct->info) || ctype_isrefarray(ct->info))) {
- goto trymeta;
+ if (t == IRT_CDATA) {
+ tr = 0;
+ } else {
+ if (t == IRT_I64 || t == IRT_U64) lj_needsplit(J);
+ tr = emitir(IRT(IR_XLOAD, t), tr, 0);
+ }
}
} else if (tref_isnil(tr)) {
tr = lj_ir_kptr(J, NULL);
@@ -1411,10 +1424,17 @@ void LJ_FASTCALL recff_cdata_arith(jit_State *J, RecordFFData *rd)
emitir(IRTG(IR_EQ, IRT_STR), tr, lj_ir_kstr(J, str));
ct = ctype_child(cts, cct);
tr = lj_ir_kint(J, (int32_t)ofs);
- } /* else: interpreter will throw. */
- } /* else: interpreter will throw. */
+ } else { /* Interpreter will throw or return false. */
+ ct = ctype_get(cts, CTID_P_VOID);
+ }
+ } else if (ctype_isptr(ct->info)) {
+ tr = emitir(IRT(IR_ADD, IRT_PTR), tr, lj_ir_kintp(J, sizeof(GCstr)));
+ } else {
+ ct = ctype_get(cts, CTID_P_VOID);
+ }
} else if (!tref_isnum(tr)) {
- goto trymeta;
+ tr = 0;
+ ct = ctype_get(cts, CTID_P_VOID);
}
ok:
s[i] = ct;
@@ -1422,22 +1442,20 @@ void LJ_FASTCALL recff_cdata_arith(jit_State *J, RecordFFData *rd)
}
{
TRef tr;
- if ((tr = crec_arith_int64(J, sp, s, (MMS)rd->data)) ||
- (tr = crec_arith_ptr(J, sp, s, (MMS)rd->data))) {
- J->base[0] = tr;
- /* Fixup cdata comparisons, too. Avoids some cdata escapes. */
- if (J->postproc == LJ_POST_FIXGUARD && frame_iscont(J->L->base-1) &&
- !irt_isguard(J->guardemit)) {
- const BCIns *pc = frame_contpc(J->L->base-1) - 1;
- if (bc_op(*pc) <= BC_ISNEP) {
- setframe_pc(&J2G(J)->tmptv, pc);
- J2G(J)->tmptv.u32.lo = ((tref_istrue(tr) ^ bc_op(*pc)) & 1);
- J->postproc = LJ_POST_FIXCOMP;
- }
+ if (!(tr = crec_arith_int64(J, sp, s, (MMS)rd->data)) &&
+ !(tr = crec_arith_ptr(J, sp, s, (MMS)rd->data)) &&
+ !(tr = crec_arith_meta(J, sp, s, cts, rd)))
+ return;
+ J->base[0] = tr;
+ /* Fixup cdata comparisons, too. Avoids some cdata escapes. */
+ if (J->postproc == LJ_POST_FIXGUARD && frame_iscont(J->L->base-1) &&
+ !irt_isguard(J->guardemit)) {
+ const BCIns *pc = frame_contpc(J->L->base-1) - 1;
+ if (bc_op(*pc) <= BC_ISNEP) {
+ setframe_pc(&J2G(J)->tmptv, pc);
+ J2G(J)->tmptv.u32.lo = ((tref_istrue(tr) ^ bc_op(*pc)) & 1);
+ J->postproc = LJ_POST_FIXCOMP;
}
- } else {
- trymeta:
- crec_arith_meta(J, cts, rd);
}
}
}
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_crecord.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_crecord.h
index fb77ca60810..a4628cacad5 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_crecord.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_crecord.h
@@ -1,6 +1,6 @@
/*
** Trace recorder for C data operations.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_CRECORD_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ctype.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ctype.c
index e9fe0943f4e..ac301749425 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ctype.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ctype.c
@@ -1,6 +1,6 @@
/*
** C type management.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#include "lj_obj.h"
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ctype.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ctype.h
index ff8ee069b07..3df26f095c2 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ctype.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ctype.h
@@ -1,6 +1,6 @@
/*
** C type management.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_CTYPE_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_debug.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_debug.c
index 4653a4ec153..bd2fa1f5646 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_debug.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_debug.c
@@ -1,6 +1,6 @@
/*
** Debugging and introspection.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_debug_c
@@ -14,6 +14,7 @@
#include "lj_state.h"
#include "lj_frame.h"
#include "lj_bc.h"
+#include "lj_vm.h"
#if LJ_HASJIT
#include "lj_jit.h"
#endif
@@ -86,7 +87,8 @@ static BCPos debug_framepc(lua_State *L, GCfunc *fn, cTValue *nextframe)
if (frame_islua(f)) {
f = frame_prevl(f);
} else {
- if (frame_isc(f))
+ if (frame_isc(f) || (LJ_HASFFI && frame_iscont(f) &&
+ (f-1)->u32.lo == LJ_CONT_FFI_CALLBACK))
cf = cframe_raw(cframe_prev(cf));
f = frame_prevd(f);
}
@@ -463,7 +465,7 @@ int lj_debug_getinfo(lua_State *L, const char *what, lj_Debug *ar, int ext)
lj_debug_shortname(ar->short_src, name);
ar->linedefined = (int)firstline;
ar->lastlinedefined = (int)(firstline + pt->numline);
- ar->what = firstline ? "Lua" : "main";
+ ar->what = (firstline || !pt->numline) ? "Lua" : "main";
} else {
ar->source = "=[C]";
ar->short_src[0] = '[';
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_debug.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_debug.h
index bec6b4f35fe..fa8988c3e79 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_debug.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_debug.h
@@ -1,6 +1,6 @@
/*
** Debugging and introspection.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_DEBUG_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_def.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_def.h
index 47c6158c08f..213a4e70e03 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_def.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_def.h
@@ -1,6 +1,6 @@
/*
** LuaJIT common internal definitions.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_DEF_H
@@ -111,7 +111,7 @@ typedef uintptr_t BloomFilter;
#define bloomset(b, x) ((b) |= bloombit((x)))
#define bloomtest(b, x) ((b) & bloombit((x)))
-#if defined(__GNUC__)
+#if defined(__GNUC__) || defined(__psp2__)
#define LJ_NORET __attribute__((noreturn))
#define LJ_ALIGN(n) __attribute__((aligned(n)))
@@ -119,7 +119,7 @@ typedef uintptr_t BloomFilter;
#define LJ_AINLINE inline __attribute__((always_inline))
#define LJ_NOINLINE __attribute__((noinline))
-#if defined(__ELF__) || defined(__MACH__)
+#if defined(__ELF__) || defined(__MACH__) || defined(__psp2__)
#if !((defined(__sun__) && defined(__svr4__)) || defined(__CELLOS_LV2__))
#define LJ_NOAPI extern __attribute__((visibility("hidden")))
#endif
@@ -150,6 +150,9 @@ static LJ_AINLINE uint32_t lj_fls(uint32_t x)
#if defined(__arm__)
static LJ_AINLINE uint32_t lj_bswap(uint32_t x)
{
+#if defined(__psp2__)
+ return __builtin_rev(x);
+#else
uint32_t r;
#if __ARM_ARCH_6__ || __ARM_ARCH_6J__ || __ARM_ARCH_6T2__ || __ARM_ARCH_6Z__ ||\
__ARM_ARCH_6ZK__ || __ARM_ARCH_7__ || __ARM_ARCH_7A__ || __ARM_ARCH_7R__
@@ -163,6 +166,7 @@ static LJ_AINLINE uint32_t lj_bswap(uint32_t x)
#endif
return ((r & 0xff00ffffu) >> 8) ^ lj_ror(x, 8);
#endif
+#endif
}
static LJ_AINLINE uint64_t lj_bswap64(uint64_t x)
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_dispatch.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_dispatch.c
index 58d6c3e2b81..37256576ec2 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_dispatch.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_dispatch.c
@@ -1,6 +1,6 @@
/*
** Instruction dispatch handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_dispatch_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_dispatch.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_dispatch.h
index 5960e64a603..778affc8cdc 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_dispatch.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_dispatch.h
@@ -1,6 +1,6 @@
/*
** Instruction dispatch handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_DISPATCH_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_arm.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_emit_arm.h
index 3bac3679a60..8c5e5379c75 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_arm.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_emit_arm.h
@@ -1,6 +1,6 @@
/*
** ARM instruction emitter.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
/* -- Constant encoding --------------------------------------------------- */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_mips.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_emit_mips.h
index dc9197ad8e8..0fc07d9101d 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_mips.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_emit_mips.h
@@ -1,6 +1,6 @@
/*
** MIPS instruction emitter.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
/* -- Emit basic instructions --------------------------------------------- */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_ppc.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_emit_ppc.h
index 3a2ae3894ff..14edf00fd64 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_ppc.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_emit_ppc.h
@@ -1,6 +1,6 @@
/*
** PPC instruction emitter.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
/* -- Emit basic instructions --------------------------------------------- */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_x86.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_emit_x86.h
index 8cfb654f3d0..3a2f6510b9f 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_emit_x86.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_emit_x86.h
@@ -1,6 +1,6 @@
/*
** x86/x64 instruction emitter.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
/* -- Emit basic instructions --------------------------------------------- */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_err.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_err.c
index db182673384..081bfde4af5 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_err.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_err.c
@@ -1,6 +1,6 @@
/*
** Error handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_err_c
@@ -378,7 +378,7 @@ typedef struct UndocumentedDispatcherContext {
ULONG64 EstablisherFrame;
ULONG64 TargetIp;
PCONTEXT ContextRecord;
- PEXCEPTION_ROUTINE LanguageHandler;
+ void (*LanguageHandler)(void);
PVOID HandlerData;
PUNWIND_HISTORY_TABLE HistoryTable;
ULONG ScopeIndex;
@@ -499,8 +499,7 @@ static ptrdiff_t finderrfunc(lua_State *L)
{
cTValue *frame = L->base-1, *bot = tvref(L->stack);
void *cf = L->cframe;
- while (frame > bot) {
- lua_assert(cf != NULL);
+ while (frame > bot && cf) {
while (cframe_nres(cframe_raw(cf)) < 0) { /* cframe without frame? */
if (frame >= restorestack(L, -cframe_nres(cf)))
break;
@@ -518,12 +517,14 @@ static ptrdiff_t finderrfunc(lua_State *L)
case FRAME_C:
cf = cframe_prev(cf);
/* fallthrough */
+ case FRAME_VARG:
+ frame = frame_prevd(frame);
+ break;
case FRAME_CONT:
#if LJ_HASFFI
if ((frame-1)->u32.lo == LJ_CONT_FFI_CALLBACK)
cf = cframe_prev(cf);
#endif
- case FRAME_VARG:
frame = frame_prevd(frame);
break;
case FRAME_CP:
@@ -725,9 +726,23 @@ LJ_NOINLINE void lj_err_arg(lua_State *L, int narg, ErrMsg em)
/* Typecheck error for arguments. */
LJ_NOINLINE void lj_err_argtype(lua_State *L, int narg, const char *xname)
{
- TValue *o = narg < 0 ? L->top + narg : L->base + narg-1;
- const char *tname = o < L->top ? lj_typename(o) : lj_obj_typename[0];
- const char *msg = lj_str_pushf(L, err2msg(LJ_ERR_BADTYPE), xname, tname);
+ const char *tname, *msg;
+ if (narg <= LUA_REGISTRYINDEX) {
+ if (narg >= LUA_GLOBALSINDEX) {
+ tname = lj_obj_itypename[~LJ_TTAB];
+ } else {
+ GCfunc *fn = curr_func(L);
+ int idx = LUA_GLOBALSINDEX - narg;
+ if (idx <= fn->c.nupvalues)
+ tname = lj_typename(&fn->c.upvalue[idx-1]);
+ else
+ tname = lj_obj_typename[0];
+ }
+ } else {
+ TValue *o = narg < 0 ? L->top + narg : L->base + narg-1;
+ tname = o < L->top ? lj_typename(o) : lj_obj_typename[0];
+ }
+ msg = lj_str_pushf(L, err2msg(LJ_ERR_BADTYPE), xname, tname);
err_argmsg(L, narg, msg);
}
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_err.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_err.h
index 7ea512a348d..03a56f0362c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_err.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_err.h
@@ -1,6 +1,6 @@
/*
** Error handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_ERR_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_errmsg.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_errmsg.h
index 137831eb35c..1c9487607b6 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_errmsg.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_errmsg.h
@@ -1,6 +1,6 @@
/*
** VM error messages.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
/* This file may be included multiple times with different ERRDEF macros. */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ff.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ff.h
index d91a7395bae..73dad9695a6 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ff.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ff.h
@@ -1,6 +1,6 @@
/*
** Fast function IDs.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_FF_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ffrecord.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ffrecord.c
index 794bbd43cd5..69f71ab2efb 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ffrecord.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ffrecord.c
@@ -1,6 +1,6 @@
/*
** Fast function call recorder.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_ffrecord_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ffrecord.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ffrecord.h
index b3bc66279c0..f858ca29cfc 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ffrecord.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ffrecord.h
@@ -1,6 +1,6 @@
/*
** Fast function call recorder.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_FFRECORD_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_frame.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_frame.h
index fb533b0e548..cd57be223fc 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_frame.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_frame.h
@@ -1,6 +1,6 @@
/*
** Stack frames.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_FRAME_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_func.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_func.c
index 9a59b0f0cb2..eb8a9dbbfd8 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_func.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_func.c
@@ -1,6 +1,6 @@
/*
** Function handling (prototypes, functions and upvalues).
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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.3/src/lj_func.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_func.h
index 88732e83ef4..a6e534e7739 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_func.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_func.h
@@ -1,6 +1,6 @@
/*
** Function handling (prototypes, functions and upvalues).
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_FUNC_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gc.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_gc.c
index c2bc397d4bd..b498abaa84d 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gc.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_gc.c
@@ -1,6 +1,6 @@
/*
** Garbage collector.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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
@@ -631,6 +631,8 @@ static size_t gc_onestep(lua_State *L)
case GCSsweep: {
MSize old = g->gc.total;
setmref(g->gc.sweep, gc_sweep(g, mref(g->gc.sweep, GCRef), GCSWEEPMAX));
+ lua_assert(old >= g->gc.total);
+ g->gc.estimate -= old - g->gc.total;
if (gcref(*mref(g->gc.sweep, GCRef)) == NULL) {
gc_shrink(g, L);
if (gcref(g->gc.mmudata)) { /* Need any finalizations? */
@@ -643,8 +645,6 @@ static size_t gc_onestep(lua_State *L)
g->gc.debt = 0;
}
}
- lua_assert(old >= g->gc.total);
- g->gc.estimate -= old - g->gc.total;
return GCSWEEPMAX*GCSWEEPCOST;
}
case GCSfinalize:
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gc.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_gc.h
index c85d0756ba7..ba061bc5d9b 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gc.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_gc.h
@@ -1,6 +1,6 @@
/*
** Garbage collector.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_GC_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gdbjit.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_gdbjit.c
index 5e7fca1c16f..d3f3e6119b3 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gdbjit.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_gdbjit.c
@@ -1,6 +1,6 @@
/*
** Client for the GDB JIT API.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_gdbjit_c
@@ -356,6 +356,8 @@ static const ELFheader elfhdr_template = {
.eosabi = 2,
#elif defined(__OpenBSD__)
.eosabi = 12,
+#elif defined(__DragonFly__)
+ .eosabi = 0,
#elif (defined(__sun__) && defined(__svr4__))
.eosabi = 6,
#else
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gdbjit.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_gdbjit.h
index 9ae504fc55b..49c586301a8 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_gdbjit.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_gdbjit.h
@@ -1,6 +1,6 @@
/*
** Client for the GDB JIT API.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_GDBJIT_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ir.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ir.c
index b2170a10ebd..439f3fc3456 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ir.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ir.c
@@ -1,6 +1,6 @@
/*
** SSA IR (Intermediate Representation) emitter.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_ir_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ir.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ir.h
index 80763d88e12..8126482e849 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ir.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ir.h
@@ -1,6 +1,6 @@
/*
** SSA IR (Intermediate Representation) format.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_IR_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ircall.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ircall.h
index af30ba8fc97..893dac2f81c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_ircall.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_ircall.h
@@ -1,6 +1,6 @@
/*
** IR CALL* instruction definitions.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_IRCALL_H
@@ -86,6 +86,12 @@ typedef struct CCallInfo {
#define IRCALLCOND_FFI32(x) NULL
#endif
+#if LJ_TARGET_X86
+#define CCI_RANDFPR 0 /* Clang on OSX/x86 is overzealous. */
+#else
+#define CCI_RANDFPR CCI_NOFPRCLOBBER
+#endif
+
#if LJ_SOFTFP
#define ARG1_FP 2 /* Treat as 2 32 bit arguments. */
#else
@@ -112,7 +118,7 @@ typedef struct CCallInfo {
_(ANY, lj_gc_step_jit, 2, FS, NIL, CCI_L) \
_(ANY, lj_gc_barrieruv, 2, FS, NIL, 0) \
_(ANY, lj_mem_newgco, 2, FS, P32, CCI_L) \
- _(ANY, lj_math_random_step, 1, FS, NUM, CCI_CASTU64|CCI_NOFPRCLOBBER) \
+ _(ANY, lj_math_random_step, 1, FS, NUM, CCI_CASTU64|CCI_RANDFPR)\
_(ANY, lj_vm_modi, 2, FN, INT, 0) \
_(ANY, sinh, ARG1_FP, N, NUM, 0) \
_(ANY, cosh, ARG1_FP, N, NUM, 0) \
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_iropt.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_iropt.h
index e45ae2b7b02..4e424e70045 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_iropt.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_iropt.h
@@ -1,6 +1,6 @@
/*
** Common header for IR emitter and optimizations.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_IROPT_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_jit.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_jit.h
index b69e4f4ef89..eb7654770bc 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_jit.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_jit.h
@@ -1,6 +1,6 @@
/*
** Common definitions for the JIT compiler.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_JIT_H
@@ -279,6 +279,7 @@ typedef struct BPropEntry {
/* Scalar evolution analysis cache. */
typedef struct ScEvEntry {
+ MRef pc; /* Bytecode PC of FORI. */
IRRef1 idx; /* Index reference. */
IRRef1 start; /* Constant start reference. */
IRRef1 stop; /* Constant stop reference. */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lex.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_lex.c
index 4fa39313fff..e1dc3cdfde2 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lex.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_lex.c
@@ -1,6 +1,6 @@
/*
** Lexical analyzer.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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
@@ -378,6 +378,7 @@ int lj_lex_setup(lua_State *L, LexState *ls)
ls->vtop = 0;
ls->bcstack = NULL;
ls->sizebcstack = 0;
+ ls->token = 0;
ls->lookahead = TK_eof; /* No look-ahead token. */
ls->linenumber = 1;
ls->lastline = 1;
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lex.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_lex.h
index a7ff29a011a..fe017686456 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lex.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_lex.h
@@ -1,6 +1,6 @@
/*
** Lexical analyzer.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_LEX_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lib.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_lib.c
index 76c8a064a4f..856685ee367 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lib.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_lib.c
@@ -1,6 +1,6 @@
/*
** Library function support.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_lib_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lib.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_lib.h
index daacb921357..9320f34fdac 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_lib.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_lib.h
@@ -1,6 +1,6 @@
/*
** Library function support.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_LIB_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_load.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_load.c
index edfdc9037dc..ff7b85117ff 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_load.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_load.c
@@ -1,6 +1,6 @@
/*
** Load and dump code.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#include <errno.h>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_mcode.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_mcode.c
index 5a732960772..d95ebeb1fe7 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_mcode.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_mcode.c
@@ -1,6 +1,6 @@
/*
** Machine code management.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_mcode_c
@@ -145,7 +145,7 @@ static void mcode_free(jit_State *J, void *p, size_t sz)
/* -- MCode area protection ----------------------------------------------- */
-/* Define this ONLY if the page protection twiddling becomes a bottleneck. */
+/* Define this ONLY if page protection twiddling becomes a bottleneck. */
#ifdef LUAJIT_UNPROTECT_MCODE
/* It's generally considered to be a potential security risk to have
@@ -252,7 +252,20 @@ static void *mcode_alloc(jit_State *J, size_t sz)
#else
/* All memory addresses are reachable by relative jumps. */
-#define mcode_alloc(J, sz) mcode_alloc_at((J), 0, (sz), MCPROT_GEN)
+static void *mcode_alloc(jit_State *J, size_t sz)
+{
+#ifdef __OpenBSD__
+ /* Allow better executable memory allocation for OpenBSD W^X mode. */
+ void *p = mcode_alloc_at(J, 0, sz, MCPROT_RUN);
+ if (p && mcode_setprot(p, sz, MCPROT_GEN)) {
+ mcode_free(J, p, sz);
+ return NULL;
+ }
+ return p;
+#else
+ return mcode_alloc_at(J, 0, sz, MCPROT_GEN);
+#endif
+}
#endif
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_mcode.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_mcode.h
index 89344fc7345..ee604523496 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_mcode.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_mcode.h
@@ -1,6 +1,6 @@
/*
** Machine code management.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_MCODE_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_meta.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_meta.c
index 0a526671090..faaaf70264a 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_meta.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_meta.c
@@ -1,6 +1,6 @@
/*
** Metamethod handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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.3/src/lj_meta.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_meta.h
index 8d7c2cd416d..2c1ad0dd9b8 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_meta.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_meta.h
@@ -1,6 +1,6 @@
/*
** Metamethod handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_META_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_obj.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_obj.c
index c7f3bc1214f..7fab714e5c9 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_obj.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_obj.c
@@ -1,6 +1,6 @@
/*
** Miscellaneous object handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_obj_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_obj.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_obj.h
index cc999aa41a2..6e8381cbadf 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_obj.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_obj.h
@@ -1,6 +1,6 @@
/*
** LuaJIT VM tags, values and objects.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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.3/src/lj_opt_dce.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_opt_dce.c
index be801894714..7f1faafe647 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_dce.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_opt_dce.c
@@ -1,6 +1,6 @@
/*
** DCE: Dead Code Elimination. Pre-LOOP only -- ASM already performs DCE.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_opt_dce_c
@@ -69,6 +69,7 @@ void lj_opt_dce(jit_State *J)
if ((J->flags & JIT_F_OPT_DCE)) {
dce_marksnap(J);
dce_propagate(J);
+ memset(J->bpropcache, 0, sizeof(J->bpropcache)); /* Invalidate cache. */
}
}
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_fold.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_opt_fold.c
index 8a5b41cc223..d00fdd56f5a 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_fold.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_opt_fold_c
@@ -505,13 +505,14 @@ LJFOLDF(kfold_strref_snew)
} else {
/* Reassociate: strref(snew(strref(str, a), len), b) ==> strref(str, a+b) */
IRIns *ir = IR(fleft->op1);
- IRRef1 str = ir->op1; /* IRIns * is not valid across emitir. */
- lua_assert(ir->o == IR_STRREF);
- PHIBARRIER(ir);
- fins->op2 = emitir(IRTI(IR_ADD), ir->op2, fins->op2); /* Clobbers fins! */
- fins->op1 = str;
- fins->ot = IRT(IR_STRREF, IRT_P32);
- return RETRYFOLD;
+ if (ir->o == IR_STRREF) {
+ IRRef1 str = ir->op1; /* IRIns * is not valid across emitir. */
+ PHIBARRIER(ir);
+ fins->op2 = emitir(IRTI(IR_ADD), ir->op2, fins->op2); /* Clobbers fins! */
+ fins->op1 = str;
+ fins->ot = IRT(IR_STRREF, IRT_P32);
+ return RETRYFOLD;
+ }
}
return NEXTFOLD;
}
@@ -1005,11 +1006,16 @@ LJFOLDF(simplify_conv_flt_num)
LJFOLD(TOBIT CONV KNUM)
LJFOLDF(simplify_tobit_conv)
{
- if ((fleft->op2 & IRCONV_SRCMASK) == IRT_INT ||
- (fleft->op2 & IRCONV_SRCMASK) == IRT_U32) {
- /* Fold even across PHI to avoid expensive num->int conversions in loop. */
+ /* Fold even across PHI to avoid expensive num->int conversions in loop. */
+ if ((fleft->op2 & IRCONV_SRCMASK) == IRT_INT) {
lua_assert(irt_isnum(fleft->t));
return fleft->op1;
+ } else if ((fleft->op2 & IRCONV_SRCMASK) == IRT_U32) {
+ lua_assert(irt_isnum(fleft->t));
+ fins->o = IR_CONV;
+ fins->op1 = fleft->op1;
+ fins->op2 = (IRT_INT<<5)|IRT_U32;
+ return RETRYFOLD;
}
return NEXTFOLD;
}
@@ -1825,7 +1831,8 @@ LJFOLDF(merge_eqne_snew_kgc)
if (len <= FOLD_SNEW_MAX_LEN) {
IROp op = (IROp)fins->o;
IRRef strref = fleft->op1;
- lua_assert(IR(strref)->o == IR_STRREF);
+ if (IR(strref)->o != IR_STRREF)
+ return NEXTFOLD;
if (op == IR_EQ) {
emitir(IRTGI(IR_EQ), fleft->op2, lj_ir_kint(J, len));
/* Caveat: fins/fleft/fright is no longer valid after emitir. */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_loop.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_opt_loop.c
index fa001151a03..b7d1923edb7 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_loop.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_opt_loop.c
@@ -1,6 +1,6 @@
/*
** LOOP: Loop Optimizations.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_opt_loop_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_mem.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_opt_mem.c
index c8cdc3e5f01..a4d96fc0f9c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_mem.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_opt_mem_c
@@ -740,21 +740,19 @@ retry:
case ALIAS_MUST:
/* Emit conversion if the loaded type doesn't match the forwarded type. */
if (!irt_sametype(fins->t, IR(store->op2)->t)) {
- IRType st = irt_type(fins->t);
- if (st == IRT_I8 || st == IRT_I16) { /* Trunc + sign-extend. */
- st |= IRCONV_SEXT;
- } else if (st == IRT_U8 || st == IRT_U16) { /* Trunc + zero-extend. */
- } else if (st == IRT_INT) {
- st = irt_type(IR(store->op2)->t); /* Needs dummy CONV.int.*. */
- } else { /* I64/U64 are boxed, U32 is hidden behind a CONV.num.u32. */
- goto store_fwd;
+ IRType dt = irt_type(fins->t), st = irt_type(IR(store->op2)->t);
+ if (dt == IRT_I8 || dt == IRT_I16) { /* Trunc + sign-extend. */
+ st = dt | IRCONV_SEXT;
+ dt = IRT_INT;
+ } else if (dt == IRT_U8 || dt == IRT_U16) { /* Trunc + zero-extend. */
+ st = dt;
+ dt = IRT_INT;
}
- fins->ot = IRTI(IR_CONV);
+ fins->ot = IRT(IR_CONV, dt);
fins->op1 = store->op2;
- fins->op2 = (IRT_INT<<5)|st;
+ fins->op2 = (dt<<5)|st;
return RETRYFOLD;
}
- store_fwd:
return store->op2; /* Store forwarding. */
}
ref = store->prev;
@@ -795,6 +793,7 @@ TRef LJ_FASTCALL lj_opt_dse_xstore(jit_State *J)
IRRef ref = *refp;
if (J->chain[IR_CALLXS] > lim) lim = J->chain[IR_CALLXS];
if (J->chain[IR_XBAR] > lim) lim = J->chain[IR_XBAR];
+ if (J->chain[IR_XSNEW] > lim) lim = J->chain[IR_XSNEW];
while (ref > lim) { /* Search for redundant or conflicting stores. */
IRIns *store = IR(ref);
switch (aa_xref(J, xr, fins, store)) {
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_narrow.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_opt_narrow.c
index 2cecf65daf4..58b3763dba5 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_narrow.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_opt_narrow_c
@@ -247,10 +247,16 @@ static void narrow_stripov_backprop(NarrowConv *nc, IRRef ref, int depth)
if (bp) {
ref = bp->val;
} else if (++depth < NARROW_MAX_BACKPROP && nc->sp < nc->maxsp) {
+ NarrowIns *savesp = nc->sp;
narrow_stripov_backprop(nc, ir->op1, depth);
- narrow_stripov_backprop(nc, ir->op2, depth);
- *nc->sp++ = NARROWINS(IRT(ir->o - IR_ADDOV + IR_ADD, IRT_INT), ref);
- return;
+ if (nc->sp < nc->maxsp) {
+ narrow_stripov_backprop(nc, ir->op2, depth);
+ if (nc->sp < nc->maxsp) {
+ *nc->sp++ = NARROWINS(IRT(ir->o - IR_ADDOV + IR_ADD, IRT_INT), ref);
+ return;
+ }
+ }
+ nc->sp = savesp; /* Path too deep, need to backtrack. */
}
}
*nc->sp++ = NARROWINS(NARROW_REF, ref);
@@ -263,6 +269,8 @@ static int narrow_conv_backprop(NarrowConv *nc, IRRef ref, int depth)
IRIns *ir = IR(ref);
IRRef cref;
+ if (nc->sp >= nc->maxsp) return 10; /* Path too deep. */
+
/* Check the easy cases first. */
if (ir->o == IR_CONV && (ir->op2 & IRCONV_SRCMASK) == IRT_INT) {
if ((nc->mode & IRCONV_CONVMASK) <= IRCONV_ANY)
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_sink.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_opt_sink.c
index 3a333461603..a98e9dfe3b4 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_sink.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_opt_sink.c
@@ -1,6 +1,6 @@
/*
** SINK: Allocation Sinking and Store Sinking.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_opt_sink_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_split.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_opt_split.c
index 99d10584f24..1cee5093b6d 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_opt_split.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_opt_split.c
@@ -1,6 +1,6 @@
/*
** SPLIT: Split 64 bit IR instructions into 32 bit IR instructions.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_opt_split_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_parse.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_parse.c
index e8aafba2081..abfac3c0c81 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_parse.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_parse.c
@@ -1,6 +1,6 @@
/*
** Lua parser (source code -> bytecode).
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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
@@ -685,10 +685,12 @@ static BCPos bcemit_jmp(FuncState *fs)
BCPos j = fs->pc - 1;
BCIns *ip = &fs->bcbase[j].ins;
fs->jpc = NO_JMP;
- if ((int32_t)j >= (int32_t)fs->lasttarget && bc_op(*ip) == BC_UCLO)
+ if ((int32_t)j >= (int32_t)fs->lasttarget && bc_op(*ip) == BC_UCLO) {
setbc_j(ip, NO_JMP);
- else
+ fs->lasttarget = j+1;
+ } else {
j = bcemit_AJ(fs, BC_JMP, fs->freereg, NO_JMP);
+ }
jmp_append(fs, &j, jpc);
return j;
}
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_parse.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_parse.h
index 532657a0115..dc4fd405d18 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_parse.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_parse.h
@@ -1,6 +1,6 @@
/*
** Lua parser (source code -> bytecode).
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_PARSE_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_record.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_record.c
index c6848fc09c8..843108c85a7 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_record.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_record.c
@@ -1,6 +1,6 @@
/*
** Trace recorder (bytecode -> SSA IR).
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_record_c
@@ -421,6 +421,7 @@ static void rec_for_loop(jit_State *J, const BCIns *fori, ScEvEntry *scev,
J->base[ra+FORL_IDX] = idx = emitir(IRT(IR_ADD, t), idx, step);
J->base[ra+FORL_EXT] = idx;
scev->idx = tref_ref(idx);
+ setmref(scev->pc, fori);
J->maxslot = ra+FORL_EXT+1;
}
@@ -436,7 +437,7 @@ static LoopEvent rec_for(jit_State *J, const BCIns *fori, int isforl)
IRType t;
if (isforl) { /* Handle FORL/JFORL opcodes. */
TRef idx = tr[FORL_IDX];
- if (tref_ref(idx) == J->scev.idx) {
+ if (mref(J->scev.pc, const BCIns) == fori && tref_ref(idx) == J->scev.idx) {
t = J->scev.t.irt;
stop = J->scev.stop;
idx = emitir(IRT(IR_ADD, t), idx, J->scev.step);
@@ -744,6 +745,8 @@ void lj_record_ret(jit_State *J, BCReg rbase, ptrdiff_t gotresults)
} else if (J->parent == 0 && !bc_isret(bc_op(J->cur.startins))) {
/* Return to lower frame would leave the loop in a root trace. */
lj_trace_err(J, LJ_TRERR_LLEAVE);
+ } else if (J->needsnap) { /* Tailcalled to ff with side-effects. */
+ lj_trace_err(J, LJ_TRERR_NYIRETL); /* No way to insert snapshot here. */
} else { /* Return to lower frame. Guard for the target we return to. */
TRef trpt = lj_ir_kgc(J, obj2gco(pt), IRT_PROTO);
TRef trpc = lj_ir_kptr(J, (void *)frame_pc(frame));
@@ -1059,7 +1062,7 @@ static void rec_idx_abc(jit_State *J, TRef asizeref, TRef ikey, uint32_t asize)
lua_assert(irt_isint(J->scev.t) && ir->o == IR_SLOAD);
stop = numberVint(&(J->L->base - J->baseslot)[ir->op1 + FORL_STOP]);
/* Runtime value for stop of loop is within bounds? */
- if ((int64_t)stop + ofs < (int64_t)asize) {
+ if ((uint64_t)stop + ofs < (uint64_t)asize) {
/* Emit invariant bounds check for stop. */
emitir(IRTG(IR_ABC, IRT_P32), asizeref, ofs == 0 ? J->scev.stop :
emitir(IRTI(IR_ADD), J->scev.stop, ofsref));
@@ -2153,6 +2156,7 @@ void lj_record_setup(jit_State *J)
memset(J->chain, 0, sizeof(J->chain));
memset(J->bpropcache, 0, sizeof(J->bpropcache));
J->scev.idx = REF_NIL;
+ setmref(J->scev.pc, NULL);
J->baseslot = 1; /* Invoking function is at base[-1]. */
J->base = J->slot + J->baseslot;
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_record.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_record.h
index 940e105fb37..c9f4882a905 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_record.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_record.h
@@ -1,6 +1,6 @@
/*
** Trace recorder (bytecode -> SSA IR).
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_RECORD_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_snap.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_snap.c
index 1c978c26a9a..5c870bafd4c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_snap.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_snap.c
@@ -1,6 +1,6 @@
/*
** Snapshot handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_snap_c
@@ -104,8 +104,6 @@ static BCReg snapshot_framelinks(jit_State *J, SnapEntry *map)
if (frame_islua(frame)) {
map[f++] = SNAP_MKPC(frame_pc(frame));
frame = frame_prevl(frame);
- if (frame + funcproto(frame_func(frame))->framesize > ftop)
- ftop = frame + funcproto(frame_func(frame))->framesize;
} else if (frame_iscont(frame)) {
map[f++] = SNAP_MKFTSZ(frame_ftsz(frame));
map[f++] = SNAP_MKPC(frame_contpc(frame));
@@ -114,7 +112,10 @@ static BCReg snapshot_framelinks(jit_State *J, SnapEntry *map)
lua_assert(!frame_isc(frame));
map[f++] = SNAP_MKFTSZ(frame_ftsz(frame));
frame = frame_prevd(frame);
+ continue;
}
+ if (frame + funcproto(frame_func(frame))->framesize > ftop)
+ ftop = frame + funcproto(frame_func(frame))->framesize;
}
lua_assert(f == (MSize)(1 + J->framedepth));
return (BCReg)(ftop - lim);
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_snap.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_snap.h
index 1b2d74da71f..9a125be7fb9 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_snap.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_snap.h
@@ -1,6 +1,6 @@
/*
** Snapshot handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_SNAP_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_state.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_state.c
index f972fdcedf6..e654afaeb98 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_state.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_state.c
@@ -1,6 +1,6 @@
/*
** State and stack handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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
@@ -175,7 +175,7 @@ static void close_state(lua_State *L)
g->allocf(g->allocd, G2GG(g), sizeof(GG_State), 0);
}
-#if LJ_64
+#if LJ_64 && !(defined(LUAJIT_USE_VALGRIND) && defined(LUAJIT_USE_SYSMALLOC))
lua_State *lj_state_newstate(lua_Alloc f, void *ud)
#else
LUA_API lua_State *lua_newstate(lua_Alloc f, void *ud)
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_state.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_state.h
index 74249d9bb24..687889a2613 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_state.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_state.h
@@ -1,6 +1,6 @@
/*
** State and stack handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_STATE_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_str.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_str.c
index b5fd45e5004..3239bfc957c 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_str.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_str.c
@@ -1,6 +1,6 @@
/*
** String handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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.3/src/lj_str.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_str.h
index 1602c980c9e..99697051d9b 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_str.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_str.h
@@ -1,6 +1,6 @@
/*
** String handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_STR_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_strscan.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_strscan.c
index a21c414ab4a..568f647d6a9 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_strscan.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_strscan.c
@@ -1,6 +1,6 @@
/*
** String scanning.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#include <math.h>
@@ -199,7 +199,7 @@ static StrScanFmt strscan_dec(const uint8_t *p, TValue *o,
*xip++ = d + ((*p != '.' ? *p : *++p) & 15); p++;
}
/* Scan and realign trailing digit. */
- if (i) *xip++ = 10 * ((*p != '.' ? *p : *++p) & 15), ex10--, p++;
+ if (i) *xip++ = 10 * ((*p != '.' ? *p : *++p) & 15), ex10--, dig++, p++;
/* Summarize rounding-effect of excess digits. */
if (dig > STRSCAN_MAXDIG) {
@@ -289,14 +289,15 @@ static StrScanFmt strscan_dec(const uint8_t *p, TValue *o,
/* Scale down until no more than 17 or 18 integer part digits remain. */
while (idig > 9) {
- uint32_t i, cy = 0;
+ uint32_t i = hi, cy = 0;
ex2 += 6;
- for (i = hi; i != lo; i = DNEXT(i)) {
+ do {
cy += xi[i];
xi[i] = (cy >> 6);
cy = 100 * (cy & 0x3f);
if (xi[i] == 0 && i == hi) hi = DNEXT(hi), idig--;
- }
+ i = DNEXT(i);
+ } while (i != lo);
while (cy) {
if (hi == lo) { xi[DPREV(lo)] |= 1; break; }
xi[lo] = (cy >> 6); lo = DNEXT(lo);
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_strscan.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_strscan.h
index 15abd6afb22..77606893640 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_strscan.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_strscan.h
@@ -1,6 +1,6 @@
/*
** String scanning.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_STRSCAN_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_tab.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_tab.c
index fc7d0f1c148..a8062db7cf7 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_tab.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_tab.c
@@ -1,6 +1,6 @@
/*
** Table handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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.3/src/lj_tab.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_tab.h
index 44b1bbbd979..f0d228eb20a 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_tab.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_tab.h
@@ -1,6 +1,6 @@
/*
** Table handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_TAB_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_target.h
index 820a97a4565..1a242325f5b 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_target.h
@@ -1,6 +1,6 @@
/*
** Definitions for target CPU.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_TARGET_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_arm.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_target_arm.h
index 63a0c925dc0..6d4d0aed00e 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_arm.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_target_arm.h
@@ -1,6 +1,6 @@
/*
** Definitions for ARM CPUs.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_TARGET_ARM_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_mips.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_target_mips.h
index e0fc152d663..0ab140bf327 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_mips.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_target_mips.h
@@ -1,6 +1,6 @@
/*
** Definitions for MIPS CPUs.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_TARGET_MIPS_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_ppc.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_target_ppc.h
index 475e0465149..2caeeb044c7 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_ppc.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_target_ppc.h
@@ -1,6 +1,6 @@
/*
** Definitions for PPC CPUs.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_TARGET_PPC_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_x86.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_target_x86.h
index 41f401b0484..d12a1b87c00 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_target_x86.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_target_x86.h
@@ -1,6 +1,6 @@
/*
** Definitions for x86 and x64 CPUs.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_TARGET_X86_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_trace.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_trace.c
index 9e5e400f4a1..e51ec5467a0 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_trace.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_trace.c
@@ -1,6 +1,6 @@
/*
** Trace management.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_trace_c
@@ -607,6 +607,7 @@ static TValue *trace_state(lua_State *L, lua_CFunction dummy, void *ud)
}
lj_opt_split(J);
lj_opt_sink(J);
+ if (!J->loopref) J->cur.snap[J->cur.nsnap-1].count = SNAPCOUNT_DONE;
J->state = LJ_TRACE_ASM;
break;
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_trace.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_trace.h
index f3109081b54..4fbe5cf257a 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_trace.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_trace.h
@@ -1,6 +1,6 @@
/*
** Trace management.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_TRACE_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_traceerr.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_traceerr.h
index 521560a18de..9bef117aba1 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_traceerr.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_traceerr.h
@@ -1,6 +1,6 @@
/*
** Trace compiler error messages.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
/* This file may be included multiple times with different TREDEF macros. */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_udata.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_udata.c
index 6cd357ec5bf..d401a3d8e85 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_udata.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_udata.c
@@ -1,6 +1,6 @@
/*
** Userdata handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_udata_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_udata.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_udata.h
index e03d9a3a8d3..676e970f488 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_udata.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_udata.h
@@ -1,6 +1,6 @@
/*
** Userdata handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_UDATA_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vm.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_vm.h
index 4a8f03f0797..036cabc57fe 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vm.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_vm.h
@@ -1,6 +1,6 @@
/*
** Assembler VM interface definitions.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_VM_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vmevent.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_vmevent.c
index e14ad5b60c9..81fe47d4dc9 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vmevent.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_vmevent.c
@@ -1,6 +1,6 @@
/*
** VM event handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#include <stdio.h>
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vmevent.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_vmevent.h
index 51bae015a1d..231e00ecdf9 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vmevent.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_vmevent.h
@@ -1,6 +1,6 @@
/*
** VM event handling.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LJ_VMEVENT_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vmmath.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_vmmath.c
index 63886aa7e36..31c6029fce1 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lj_vmmath.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lj_vmmath.c
@@ -1,6 +1,6 @@
/*
** Math helper functions for assembler VM.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#define lj_vmmath_c
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/ljamalg.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/ljamalg.c
index 52a86153c43..9b237b7e9d2 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/ljamalg.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/ljamalg.c
@@ -1,6 +1,6 @@
/*
** LuaJIT core and libraries amalgamation.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
/*
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lua.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lua.h
index 64a930e3e38..64a930e3e38 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lua.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lua.h
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lua.hpp b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lua.hpp
index 07e9002dc5a..07e9002dc5a 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lua.hpp
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lua.hpp
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/luaconf.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/luaconf.h
index affb7da8f59..84fa6418766 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/luaconf.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/luaconf.h
@@ -1,6 +1,6 @@
/*
** Configuration header.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef luaconf_h
@@ -37,7 +37,7 @@
#endif
#define LUA_LROOT "/usr/local"
#define LUA_LUADIR "/lua/5.1/"
-#define LUA_LJDIR "/luajit-2.0.3/"
+#define LUA_LJDIR "/luajit-2.0.4/"
#ifdef LUA_ROOT
#define LUA_JROOT LUA_ROOT
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/luajit.c b/Build/source/libs/luajit/LuaJIT-2.0.4/src/luajit.c
index 4cccf04e6af..85d713fb421 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/luajit.c
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/luajit.c
@@ -1,6 +1,6 @@
/*
** LuaJIT frontend. Runs commands, scripts, read-eval-print (REPL) etc.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 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
@@ -301,17 +301,17 @@ static int loadjitmodule(lua_State *L)
lua_concat(L, 2);
if (lua_pcall(L, 1, 1, 0)) {
const char *msg = lua_tostring(L, -1);
- if (msg && !strncmp(msg, "module ", 7)) {
- err:
- l_message(progname,
- "unknown luaJIT command or jit.* modules not installed");
- return 1;
- } else {
- return report(L, 1);
- }
+ if (msg && !strncmp(msg, "module ", 7))
+ goto nomodule;
+ return report(L, 1);
}
lua_getfield(L, -1, "start");
- if (lua_isnil(L, -1)) goto err;
+ if (lua_isnil(L, -1)) {
+ nomodule:
+ l_message(progname,
+ "unknown luaJIT command or jit.* modules not installed");
+ return 1;
+ }
lua_remove(L, -2); /* Drop module table. */
return 0;
}
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/luajit.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/luajit.h
index be721cf4b8e..9ced18eb826 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/luajit.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/luajit.h
@@ -1,7 +1,7 @@
/*
** LuaJIT -- a Just-In-Time Compiler for Lua. http://luajit.org/
**
-** Copyright (C) 2005-2014 Mike Pall. All rights reserved.
+** Copyright (C) 2005-2015 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.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_VERSION "LuaJIT 2.0.4"
+#define LUAJIT_VERSION_NUM 20004 /* Version 2.0.4 = 02.00.04. */
+#define LUAJIT_VERSION_SYM luaJIT_version_2_0_4
+#define LUAJIT_COPYRIGHT "Copyright (C) 2005-2015 Mike Pall"
#define LUAJIT_URL "http://luajit.org/"
/* Modes for luaJIT_setmode. */
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lualib.h b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lualib.h
index 90687bdd1bf..58dd3349aa9 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/lualib.h
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/lualib.h
@@ -1,6 +1,6 @@
/*
** Standard library header.
-** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+** Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LUALIB_H
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/msvcbuild.bat b/Build/source/libs/luajit/LuaJIT-2.0.4/src/msvcbuild.bat
index 9160e0f889e..4b501855ad2 100755
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/msvcbuild.bat
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/msvcbuild.bat
@@ -1,5 +1,5 @@
@rem Script to build LuaJIT with MSVC.
-@rem Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
+@rem Copyright (C) 2005-2015 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)
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/ps4build.bat b/Build/source/libs/luajit/LuaJIT-2.0.4/src/ps4build.bat
index 42fc9a64a99..42fc9a64a99 100755
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/ps4build.bat
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/ps4build.bat
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.4/src/psvitabuild.bat b/Build/source/libs/luajit/LuaJIT-2.0.4/src/psvitabuild.bat
new file mode 100755
index 00000000000..3991dc65353
--- /dev/null
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/psvitabuild.bat
@@ -0,0 +1,93 @@
+@rem Script to build LuaJIT with the PS Vita SDK.
+@rem Donated to the public domain.
+@rem
+@rem Open a "Visual Studio .NET Command Prompt" (32 bit host compiler)
+@rem Then cd to this directory and run this script.
+
+@if not defined INCLUDE goto :FAIL
+@if not defined SCE_PSP2_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 32 bit host compiler.
+@minilua
+@if errorlevel 8 goto :FAIL
+
+@set DASMFLAGS=-D FPU -D HFABI
+minilua %DASM% -LN %DASMFLAGS% -o host\buildvm_arch.h vm_arm.dasc
+@if errorlevel 1 goto :BAD
+
+%LJCOMPILE% /I "." /I %DASMDIR% -DLUAJIT_TARGET=LUAJIT_ARCH_ARM -DLUAJIT_OS=LUAJIT_OS_OTHER -DLUAJIT_DISABLE_JIT -DLUAJIT_DISABLE_FFI -DLJ_TARGET_PSVITA=1 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_PSP2_SDK_DIR%\host_tools\build\bin\psp2snc" -c -w -DLUAJIT_DISABLE_FFI -DLUAJIT_USE_SYSMALLOC
+@set LJLIB="%SCE_PSP2_SDK_DIR%\host_tools\build\bin\psp2ld32" -r --output=
+@set INCLUDE=""
+
+"%SCE_PSP2_SDK_DIR%\host_tools\build\bin\psp2as" -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%
+
+%LJCOMPILE% ljamalg.c
+@if errorlevel 1 goto :BAD
+%LJLIB%%TARGETLIB% ljamalg.o lj_vm.o
+@if errorlevel 1 goto :BAD
+
+@del *.o *.obj *.manifest minilua.exe buildvm.exe
+@echo.
+@echo === Successfully built LuaJIT for PS Vita ===
+
+@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 (32 bit host compiler). The PS Vita SDK must be installed, too.
+:END
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_arm.dasc b/Build/source/libs/luajit/LuaJIT-2.0.4/src/vm_arm.dasc
index 82cba909cf3..457efa63ce2 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_arm.dasc
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014 Mike Pall. See Copyright Notice in luajit.h
+|// Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
|
|.arch arm
|.section code_op, code_sub
@@ -335,7 +335,7 @@ static void build_subroutines(BuildCtx *ctx)
| // - The GC shrinks the stack in between.
| // - A return back from a lua_call() with (high) nresults adjustment.
| str BASE, L->top // Save current top held in BASE (yes).
- | mov CARG2, KBASE
+ | lsr CARG2, KBASE, #3
| mov CARG1, L
| bl extern lj_state_growstack // (lua_State *L, int n)
| ldr BASE, L->top // Need the (realloced) L->top in BASE.
@@ -389,7 +389,7 @@ static void build_subroutines(BuildCtx *ctx)
| str BASE, L->base
| add PC, PC, #4 // Must point after first instruction.
| str RC, L->top
- | lsr CARG3, RA, #3
+ | lsr CARG2, RA, #3
|2:
| // L->base = new base, L->top = top
| str PC, SAVE_PC
@@ -539,9 +539,8 @@ static void build_subroutines(BuildCtx *ctx)
|1:
| beq ->cont_ffi_callback // cont = 1: return from FFI callback.
| // cont = 0: tailcall from C function.
- | ldr CARG3, [BASE, FRAME_FUNC]
- | sub CARG4, CARG4, #16
- | sub RC, CARG4, BASE
+ | sub CARG4, CARG4, #16
+ | sub RC, CARG4, BASE
| b ->vm_call_tail
|.endif
|
@@ -3241,10 +3240,10 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
| mvn RC, RC
| ldr UPVAL:CARG2, [LFUNC:CARG2, RA]
| ldr STR:CARG3, [KBASE, RC, lsl #2]
- | mvn CARG4, #~LJ_TSTR
| ldrb RB, UPVAL:CARG2->marked
- | ldr CARG2, UPVAL:CARG2->v
| ldrb RC, UPVAL:CARG2->closed
+ | ldr CARG2, UPVAL:CARG2->v
+ | mvn CARG4, #~LJ_TSTR
| tst RB, #LJ_GC_BLACK // isblack(uv)
| ldrb RB, STR:CARG3->marked
| strd CARG34, [CARG2]
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_mips.dasc b/Build/source/libs/luajit/LuaJIT-2.0.4/src/vm_mips.dasc
index 0ec13e608ee..ac8346bbddc 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_mips.dasc
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014 Mike Pall. See Copyright Notice in luajit.h
+|// Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
|
|.arch mips
|.section code_op, code_sub
@@ -398,7 +398,7 @@ static void build_subroutines(BuildCtx *ctx)
| // - A return back from a lua_call() with (high) nresults adjustment.
| load_got lj_state_growstack
| move MULTRES, RD
- | move CARG2, TMP2
+ | srl CARG2, TMP2, 3
| call_intern lj_state_growstack // (lua_State *L, int n)
|. move CARG1, L
| lw TMP2, SAVE_NRES
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_ppc.dasc b/Build/source/libs/luajit/LuaJIT-2.0.4/src/vm_ppc.dasc
index da75f556daf..ad8a023e479 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_ppc.dasc
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014 Mike Pall. See Copyright Notice in luajit.h
+|// Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
|
|.arch ppc
|.section code_op, code_sub
@@ -75,6 +75,29 @@
|.endif
|.endmacro
|
+|.macro clrso, reg
+|.if PPE
+| li reg, 0
+| mtxer reg
+|.else
+| mcrxr cr0
+|.endif
+|.endmacro
+|
+|.macro checkov, reg, noov
+|.if PPE
+| mfxer reg
+| add reg, reg, reg
+| cmpwi reg, 0
+| li reg, 0
+| mtxer reg
+| bgey noov
+|.else
+| mcrxr cr0
+| bley noov
+|.endif
+|.endmacro
+|
|//-----------------------------------------------------------------------
|
|// Fixed register assignments for the interpreter.
@@ -563,7 +586,7 @@ static void build_subroutines(BuildCtx *ctx)
| // - A return back from a lua_call() with (high) nresults adjustment.
| stp BASE, L->top // Save current top held in BASE (yes).
| mr SAVE0, RD
- | mr CARG2, TMP2
+ | srwi CARG2, TMP2, 3
| mr CARG1, L
| bl extern lj_state_growstack // (lua_State *L, int n)
| lwz TMP2, SAVE_NRES
@@ -2587,7 +2610,7 @@ static void build_subroutines(BuildCtx *ctx)
| stw CARG2, DISPATCH_GL(vmstate)(DISPATCH)
| savex_ 0,1,2,3
| stw CARG1, 0(sp) // Store extended stack chain.
- | mcrxr cr0 // Clear SO flag.
+ | clrso TMP1
| savex_ 4,5,6,7
| addi CARG2, sp, 16+32*8+32*4 // Recompute original value of sp.
| savex_ 8,9,10,11
@@ -2706,7 +2729,7 @@ static void build_subroutines(BuildCtx *ctx)
| cmpwi CARG2, 0
| li CARG1, 0
| beqlr
- | mcrxr cr0 // Clear SO for -2147483648 % -1 and return 0.
+ | clrso TMP0 // Clear SO for -2147483648 % -1 and return 0.
| blr
|
|//-----------------------------------------------------------------------
@@ -3309,7 +3332,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
|4:
|.if not GPR64
| // Potential overflow.
- | mcrxr cr0; bley <1 // Ignore unrelated overflow.
+ | checkov TMP1, <1 // Ignore unrelated overflow.
|.endif
| lus TMP1, 0x41e0 // 2^31.
| li TMP0, 0
@@ -3494,7 +3517,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
|2:
| ins_next2
|4: // Overflow.
- | mcrxr cr0; bley <1 // Ignore unrelated overflow.
+ | checkov TMP0, <1 // Ignore unrelated overflow.
| ins_arithfallback b
|5: // FP variant.
||if (vk == 1) {
@@ -4692,7 +4715,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
| b <1
if (vk) {
|6: // Potential overflow.
- | mcrxr cr0; bley <4 // Ignore unrelated overflow.
+ | checkov TMP0, <4 // Ignore unrelated overflow.
| b <2
}
|.endif
@@ -4832,7 +4855,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
| // Traces on PPC don't store the trace number, so use 0.
| stw ZERO, DISPATCH_GL(vmstate)(DISPATCH)
| lwzx TRACE:TMP2, TMP1, RD
- | mcrxr cr0 // Clear SO flag.
+ | clrso TMP1
| lp TMP2, TRACE:TMP2->mcode
| stw BASE, DISPATCH_GL(jit_base)(DISPATCH)
| mtctr TMP2
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_ppcspe.dasc b/Build/source/libs/luajit/LuaJIT-2.0.4/src/vm_ppcspe.dasc
index adcec244a3d..53ea2d96581 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_ppcspe.dasc
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014 Mike Pall. See Copyright Notice in luajit.h
+|// Copyright (C) 2005-2015 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.3/src/vm_x86.dasc b/Build/source/libs/luajit/LuaJIT-2.0.4/src/vm_x86.dasc
index 8a9b536df5e..6cdb8cbd273 100644
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/vm_x86.dasc
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/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-2014 Mike Pall. See Copyright Notice in luajit.h
+|// Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
|
|.if P64
|.arch x64
@@ -1617,7 +1617,7 @@ static void build_subroutines(BuildCtx *ctx)
| mov RD, 1+3
| jmp ->fff_res
|
- |.ffunc_1 ipairs_aux
+ |.ffunc_2 ipairs_aux
| cmp dword [BASE+4], LJ_TTAB; jne ->fff_fallback
| cmp dword [BASE+12], LJ_TISNUM
|.if DUALNUM
@@ -2198,7 +2198,7 @@ static void build_subroutines(BuildCtx *ctx)
|.endif
|
|.ffunc_nnr math_fmod
- |1: ; fprem; fnstsw ax; sahf; jp <1
+ |1: ; fprem; fnstsw ax; and ax, 0x400; jnz <1
| fpop1
| jmp ->fff_resn
|
@@ -2564,8 +2564,8 @@ static void build_subroutines(BuildCtx *ctx)
|
|.define TOBIT_BIAS, 0x59c00000 // 2^52 + 2^51 (float, not double!).
|
- |.macro .ffunc_bit, name, kind
- | .ffunc_1 name
+ |.macro .ffunc_bit, name, kind, fdef
+ | fdef name
|.if kind == 2
|.if SSE
| sseconst_tobit xmm1, RBa
@@ -2608,6 +2608,10 @@ static void build_subroutines(BuildCtx *ctx)
|2:
|.endmacro
|
+ |.macro .ffunc_bit, name, kind
+ | .ffunc_bit name, kind, .ffunc_1
+ |.endmacro
+ |
|.ffunc_bit bit_tobit, 0
|.if DUALNUM or SSE
|.if not SSE
@@ -2681,7 +2685,7 @@ static void build_subroutines(BuildCtx *ctx)
|
|.macro .ffunc_bit_sh, name, ins
|.if DUALNUM
- | .ffunc_bit name, 1
+ | .ffunc_bit name, 1, .ffunc_2
| // Note: no inline conversion from number for 2nd argument!
| cmp dword [BASE+12], LJ_TISNUM; jne ->fff_fallback
| mov RA, dword [BASE+8]
@@ -5320,8 +5324,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
| jnz <4
| movzx RA, PC_RA
| not RAa
- | lea RA, [BASE+RA*8]
- | mov LFUNC:KBASE, [RA-8] // Need to prepare KBASE.
+ | mov LFUNC:KBASE, [BASE+RA*8-8] // Need to prepare KBASE.
| mov KBASE, LFUNC:KBASE->pc
| mov KBASE, [KBASE+PC2PROTO(k)]
| jmp <4
diff --git a/Build/source/libs/luajit/LuaJIT-2.0.3/src/xedkbuild.bat b/Build/source/libs/luajit/LuaJIT-2.0.4/src/xedkbuild.bat
index 240ec878daf..240ec878daf 100755
--- a/Build/source/libs/luajit/LuaJIT-2.0.3/src/xedkbuild.bat
+++ b/Build/source/libs/luajit/LuaJIT-2.0.4/src/xedkbuild.bat
diff --git a/Build/source/libs/luajit/configure b/Build/source/libs/luajit/configure
index e6cd0c830f0..039ddf2e84c 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.3.
+# Generated by GNU Autoconf 2.69 for luajit for TeX Live 2.0.4.
#
# Report bugs to <tex-k@tug.org>.
#
@@ -590,12 +590,12 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='luajit for TeX Live'
PACKAGE_TARNAME='luajit-for-tex-live'
-PACKAGE_VERSION='2.0.3'
-PACKAGE_STRING='luajit for TeX Live 2.0.3'
+PACKAGE_VERSION='2.0.4'
+PACKAGE_STRING='luajit for TeX Live 2.0.4'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
-ac_unique_file="LuaJIT-2.0.3/src/luajit.h"
+ac_unique_file="LuaJIT-2.0.4/src/luajit.h"
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
@@ -1343,7 +1343,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.3 to adapt to many kinds of systems.
+\`configure' configures luajit for TeX Live 2.0.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1414,7 +1414,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.3:";;
+ short | recursive ) echo "Configuration of luajit for TeX Live 2.0.4:";;
esac
cat <<\_ACEOF
@@ -1533,7 +1533,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-luajit for TeX Live configure 2.0.3
+luajit for TeX Live configure 2.0.4
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1994,7 +1994,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.3, which was
+It was created by luajit for TeX Live $as_me 2.0.4, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3917,7 +3917,7 @@ fi
# Define the identity of the package.
PACKAGE='luajit-for-tex-live'
- VERSION='2.0.3'
+ VERSION='2.0.4'
cat >>confdefs.h <<_ACEOF
@@ -4072,13 +4072,13 @@ else
if test "x$enable_compiler_warnings" != xno; then
kpse_cv_warning_cflags="-Wimplicit -Wreturn-type"
case `$CC -dumpversion` in #(
- 3.4.* | 4.*) :
+ 3.4.* | 4.* | 5.*) :
kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wdeclaration-after-statement" ;; #(
*) :
;;
esac
case `$CC -dumpversion` in #(
- 3.[234].* | 4.*) :
+ 3.[234].* | 4.* | 5.*) :
kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wno-unknown-pragmas" ;; #(
*) :
;;
@@ -4090,7 +4090,7 @@ esac
kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wparentheses -Wswitch -Wtrigraphs -Wpointer-arith"
kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wcast-qual -Wcast-align -Wwrite-strings"
case `$CC -dumpversion` in #(
- 3.4.* | 4.*) :
+ 3.4.* | 4.* | 5.*) :
kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wold-style-definition" ;; #(
*) :
;;
@@ -5158,10 +5158,10 @@ $as_echo "no, using $LN_S" >&6; }
fi
-LUAJITVERSION=2.0.3
+LUAJITVERSION=2.0.4
-LUAJIT_LT_VERSINFO=2:3:0
+LUAJIT_LT_VERSINFO=2:4:0
case `pwd` in
@@ -13955,7 +13955,7 @@ case $host_os in #(
LJHOST='Other' ;;
esac
lj_save_CPPFLAGS=$CPPFLAGS
-CPPFLAGS="$CPPFLAGS -I$srcdir/LuaJIT-2.0.3/src $LUAJIT_DEFINES -dM"
+CPPFLAGS="$CPPFLAGS -I$srcdir/LuaJIT-2.0.4/src $LUAJIT_DEFINES -dM"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <lj_arch.h>
@@ -14113,7 +14113,7 @@ fi
echo timestamp >config.force
fi
-LUAJIT_TREE=LuaJIT-2.0.3
+LUAJIT_TREE=LuaJIT-2.0.4
ac_config_headers="$ac_config_headers config.h"
@@ -14680,7 +14680,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.3, which was
+This file was extended by luajit for TeX Live $as_me 2.0.4, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -14746,7 +14746,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.3
+luajit for TeX Live config.status 2.0.4
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 f63d59fe317..794770bc8f8 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.3.
+# Generated by GNU Autoconf 2.69 for luajit native 2.0.4.
#
# Report bugs to <tex-k@tug.org>.
#
@@ -580,12 +580,12 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='luajit native'
PACKAGE_TARNAME='luajit-native'
-PACKAGE_VERSION='2.0.3'
-PACKAGE_STRING='luajit native 2.0.3'
+PACKAGE_VERSION='2.0.4'
+PACKAGE_STRING='luajit native 2.0.4'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
-ac_unique_file="../LuaJIT-2.0.3/src/luajit.h"
+ac_unique_file="../LuaJIT-2.0.4/src/luajit.h"
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
@@ -1286,7 +1286,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.3 to adapt to many kinds of systems.
+\`configure' configures luajit native 2.0.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1356,7 +1356,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of luajit native 2.0.3:";;
+ short | recursive ) echo "Configuration of luajit native 2.0.4:";;
esac
cat <<\_ACEOF
@@ -1453,7 +1453,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-luajit native configure 2.0.3
+luajit native configure 2.0.4
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1847,7 +1847,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.3, which was
+It was created by luajit native $as_me 2.0.4, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3770,7 +3770,7 @@ fi
# Define the identity of the package.
PACKAGE='luajit-native'
- VERSION='2.0.3'
+ VERSION='2.0.4'
cat >>confdefs.h <<_ACEOF
@@ -3925,13 +3925,13 @@ else
if test "x$enable_compiler_warnings" != xno; then
kpse_cv_warning_cflags="-Wimplicit -Wreturn-type"
case `$CC -dumpversion` in #(
- 3.4.* | 4.*) :
+ 3.4.* | 4.* | 5.*) :
kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wdeclaration-after-statement" ;; #(
*) :
;;
esac
case `$CC -dumpversion` in #(
- 3.[234].* | 4.*) :
+ 3.[234].* | 4.* | 5.*) :
kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wno-unknown-pragmas" ;; #(
*) :
;;
@@ -3943,7 +3943,7 @@ esac
kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wparentheses -Wswitch -Wtrigraphs -Wpointer-arith"
kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wcast-qual -Wcast-align -Wwrite-strings"
case `$CC -dumpversion` in #(
- 3.4.* | 4.*) :
+ 3.4.* | 4.* | 5.*) :
kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wold-style-definition" ;; #(
*) :
;;
@@ -5304,7 +5304,7 @@ esac
-LUAJIT_TREE=../LuaJIT-2.0.3
+LUAJIT_TREE=../LuaJIT-2.0.4
ac_config_headers="$ac_config_headers config.h"
@@ -5851,7 +5851,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.3, which was
+This file was extended by luajit native $as_me 2.0.4, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -5917,7 +5917,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.3
+luajit native config.status 2.0.4
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 754170bc4a4..562fb72ce96 100644
--- a/Build/source/libs/luajit/version.ac
+++ b/Build/source/libs/luajit/version.ac
@@ -1,5 +1,5 @@
dnl
-dnl Copyright (C) 2014 Peter Breitenlohner <tex-live@tug.org>
+dnl Copyright (C) 2014, 2015 Peter Breitenlohner <tex-live@tug.org>
dnl
dnl This file is free software; the copyright holder
dnl gives unlimited permission to copy and/or distribute it,
@@ -8,4 +8,4 @@ dnl
dnl --------------------------------------------------------
dnl
dnl m4-include this file to define the current luajit version
-m4_define([luajit_version], [2.0.3])
+m4_define([luajit_version], [2.0.4])