Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/torch/luajit-rocks.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonan Collobert <ronan@collobert.com>2015-03-10 20:17:37 +0300
committerRonan Collobert <ronan@collobert.com>2015-03-10 20:17:37 +0300
commit4cb96fbe7f8dedaea23f92edf269b24a82b9c1c2 (patch)
tree158859c23834919dd57bd4eea22e9c0638500f11
parent64dd0fdd569de98820acb337a0f96a701789bdee (diff)
parent0458550e6b40205b68bb484a04a6c04cca66828f (diff)
Merge commit '0458550e6b40205b68bb484a04a6c04cca66828f'
-rw-r--r--luajit-2.0/COPYRIGHT2
-rw-r--r--luajit-2.0/Makefile2
-rw-r--r--luajit-2.0/README2
-rw-r--r--luajit-2.0/doc/bluequad-print.css2
-rw-r--r--luajit-2.0/doc/bluequad.css2
-rw-r--r--luajit-2.0/doc/changes.html4
-rw-r--r--luajit-2.0/doc/contact.html6
-rw-r--r--luajit-2.0/doc/ext_c_api.html4
-rw-r--r--luajit-2.0/doc/ext_ffi.html4
-rw-r--r--luajit-2.0/doc/ext_ffi_api.html4
-rw-r--r--luajit-2.0/doc/ext_ffi_semantics.html4
-rw-r--r--luajit-2.0/doc/ext_ffi_tutorial.html4
-rw-r--r--luajit-2.0/doc/ext_jit.html6
-rw-r--r--luajit-2.0/doc/extensions.html4
-rw-r--r--luajit-2.0/doc/faq.html4
-rw-r--r--luajit-2.0/doc/install.html4
-rw-r--r--luajit-2.0/doc/luajit.html6
-rw-r--r--luajit-2.0/doc/running.html4
-rw-r--r--luajit-2.0/doc/status.html4
-rw-r--r--luajit-2.0/dynasm/dasm_arm.h2
-rw-r--r--luajit-2.0/dynasm/dasm_arm.lua9
-rw-r--r--luajit-2.0/dynasm/dasm_mips.h2
-rw-r--r--luajit-2.0/dynasm/dasm_mips.lua2
-rw-r--r--luajit-2.0/dynasm/dasm_ppc.h2
-rw-r--r--luajit-2.0/dynasm/dasm_ppc.lua2
-rw-r--r--luajit-2.0/dynasm/dasm_proto.h2
-rw-r--r--luajit-2.0/dynasm/dasm_x64.lua2
-rw-r--r--luajit-2.0/dynasm/dasm_x86.h2
-rw-r--r--luajit-2.0/dynasm/dasm_x86.lua2
-rw-r--r--luajit-2.0/dynasm/dynasm.lua4
-rw-r--r--luajit-2.0/etc/luajit.12
-rw-r--r--luajit-2.0/src/Makefile12
-rw-r--r--luajit-2.0/src/host/buildvm.c2
-rw-r--r--luajit-2.0/src/host/buildvm.h2
-rw-r--r--luajit-2.0/src/host/buildvm_asm.c2
-rw-r--r--luajit-2.0/src/host/buildvm_fold.c2
-rw-r--r--luajit-2.0/src/host/buildvm_lib.c2
-rw-r--r--luajit-2.0/src/host/buildvm_peobj.c2
-rw-r--r--luajit-2.0/src/host/genminilua.lua2
-rw-r--r--luajit-2.0/src/jit/bc.lua2
-rw-r--r--luajit-2.0/src/jit/bcsave.lua2
-rw-r--r--luajit-2.0/src/jit/dis_arm.lua2
-rw-r--r--luajit-2.0/src/jit/dis_mips.lua2
-rw-r--r--luajit-2.0/src/jit/dis_mipsel.lua2
-rw-r--r--luajit-2.0/src/jit/dis_ppc.lua2
-rw-r--r--luajit-2.0/src/jit/dis_x64.lua2
-rw-r--r--luajit-2.0/src/jit/dis_x86.lua2
-rw-r--r--luajit-2.0/src/jit/dump.lua2
-rw-r--r--luajit-2.0/src/jit/v.lua2
-rw-r--r--luajit-2.0/src/lib_aux.c2
-rw-r--r--luajit-2.0/src/lib_base.c2
-rw-r--r--luajit-2.0/src/lib_bit.c2
-rw-r--r--luajit-2.0/src/lib_debug.c2
-rw-r--r--luajit-2.0/src/lib_ffi.c2
-rw-r--r--luajit-2.0/src/lib_init.c2
-rw-r--r--luajit-2.0/src/lib_io.c2
-rw-r--r--luajit-2.0/src/lib_jit.c2
-rw-r--r--luajit-2.0/src/lib_math.c2
-rw-r--r--luajit-2.0/src/lib_os.c2
-rw-r--r--luajit-2.0/src/lib_package.c2
-rw-r--r--luajit-2.0/src/lib_string.c2
-rw-r--r--luajit-2.0/src/lib_table.c2
-rw-r--r--luajit-2.0/src/lj_api.c2
-rw-r--r--luajit-2.0/src/lj_arch.h9
-rw-r--r--luajit-2.0/src/lj_asm.c7
-rw-r--r--luajit-2.0/src/lj_asm.h2
-rw-r--r--luajit-2.0/src/lj_asm_arm.h2
-rw-r--r--luajit-2.0/src/lj_asm_mips.h2
-rw-r--r--luajit-2.0/src/lj_asm_ppc.h2
-rw-r--r--luajit-2.0/src/lj_asm_x86.h10
-rw-r--r--luajit-2.0/src/lj_bc.c2
-rw-r--r--luajit-2.0/src/lj_bc.h2
-rw-r--r--luajit-2.0/src/lj_bcdump.h2
-rw-r--r--luajit-2.0/src/lj_bcread.c2
-rw-r--r--luajit-2.0/src/lj_bcwrite.c2
-rw-r--r--luajit-2.0/src/lj_carith.c2
-rw-r--r--luajit-2.0/src/lj_carith.h2
-rw-r--r--luajit-2.0/src/lj_ccall.c2
-rw-r--r--luajit-2.0/src/lj_ccall.h2
-rw-r--r--luajit-2.0/src/lj_ccallback.c2
-rw-r--r--luajit-2.0/src/lj_ccallback.h2
-rw-r--r--luajit-2.0/src/lj_cconv.c2
-rw-r--r--luajit-2.0/src/lj_cconv.h2
-rw-r--r--luajit-2.0/src/lj_cdata.c2
-rw-r--r--luajit-2.0/src/lj_cdata.h2
-rw-r--r--luajit-2.0/src/lj_clib.c2
-rw-r--r--luajit-2.0/src/lj_clib.h2
-rw-r--r--luajit-2.0/src/lj_cparse.c2
-rw-r--r--luajit-2.0/src/lj_cparse.h2
-rw-r--r--luajit-2.0/src/lj_crecord.c2
-rw-r--r--luajit-2.0/src/lj_crecord.h2
-rw-r--r--luajit-2.0/src/lj_ctype.c2
-rw-r--r--luajit-2.0/src/lj_ctype.h2
-rw-r--r--luajit-2.0/src/lj_debug.c2
-rw-r--r--luajit-2.0/src/lj_debug.h2
-rw-r--r--luajit-2.0/src/lj_def.h2
-rw-r--r--luajit-2.0/src/lj_dispatch.c2
-rw-r--r--luajit-2.0/src/lj_dispatch.h2
-rw-r--r--luajit-2.0/src/lj_emit_arm.h2
-rw-r--r--luajit-2.0/src/lj_emit_mips.h2
-rw-r--r--luajit-2.0/src/lj_emit_ppc.h2
-rw-r--r--luajit-2.0/src/lj_emit_x86.h2
-rw-r--r--luajit-2.0/src/lj_err.c25
-rw-r--r--luajit-2.0/src/lj_err.h2
-rw-r--r--luajit-2.0/src/lj_errmsg.h2
-rw-r--r--luajit-2.0/src/lj_ff.h2
-rw-r--r--luajit-2.0/src/lj_ffrecord.c2
-rw-r--r--luajit-2.0/src/lj_ffrecord.h2
-rw-r--r--luajit-2.0/src/lj_frame.h2
-rw-r--r--luajit-2.0/src/lj_func.c2
-rw-r--r--luajit-2.0/src/lj_func.h2
-rw-r--r--luajit-2.0/src/lj_gc.c2
-rw-r--r--luajit-2.0/src/lj_gc.h2
-rw-r--r--luajit-2.0/src/lj_gdbjit.c2
-rw-r--r--luajit-2.0/src/lj_gdbjit.h2
-rw-r--r--luajit-2.0/src/lj_ir.c2
-rw-r--r--luajit-2.0/src/lj_ir.h2
-rw-r--r--luajit-2.0/src/lj_ircall.h2
-rw-r--r--luajit-2.0/src/lj_iropt.h2
-rw-r--r--luajit-2.0/src/lj_jit.h2
-rw-r--r--luajit-2.0/src/lj_lex.c3
-rw-r--r--luajit-2.0/src/lj_lex.h2
-rw-r--r--luajit-2.0/src/lj_lib.c2
-rw-r--r--luajit-2.0/src/lj_lib.h2
-rw-r--r--luajit-2.0/src/lj_load.c2
-rw-r--r--luajit-2.0/src/lj_mcode.c19
-rw-r--r--luajit-2.0/src/lj_mcode.h2
-rw-r--r--luajit-2.0/src/lj_meta.c2
-rw-r--r--luajit-2.0/src/lj_meta.h2
-rw-r--r--luajit-2.0/src/lj_obj.c2
-rw-r--r--luajit-2.0/src/lj_obj.h2
-rw-r--r--luajit-2.0/src/lj_opt_dce.c2
-rw-r--r--luajit-2.0/src/lj_opt_fold.c13
-rw-r--r--luajit-2.0/src/lj_opt_loop.c2
-rw-r--r--luajit-2.0/src/lj_opt_mem.c3
-rw-r--r--luajit-2.0/src/lj_opt_narrow.c2
-rw-r--r--luajit-2.0/src/lj_opt_sink.c2
-rw-r--r--luajit-2.0/src/lj_opt_split.c2
-rw-r--r--luajit-2.0/src/lj_parse.c8
-rw-r--r--luajit-2.0/src/lj_parse.h2
-rw-r--r--luajit-2.0/src/lj_record.c4
-rw-r--r--luajit-2.0/src/lj_record.h2
-rw-r--r--luajit-2.0/src/lj_snap.c2
-rw-r--r--luajit-2.0/src/lj_snap.h2
-rw-r--r--luajit-2.0/src/lj_state.c2
-rw-r--r--luajit-2.0/src/lj_state.h2
-rw-r--r--luajit-2.0/src/lj_str.c2
-rw-r--r--luajit-2.0/src/lj_str.h2
-rw-r--r--luajit-2.0/src/lj_strscan.c11
-rw-r--r--luajit-2.0/src/lj_strscan.h2
-rw-r--r--luajit-2.0/src/lj_tab.c2
-rw-r--r--luajit-2.0/src/lj_tab.h2
-rw-r--r--luajit-2.0/src/lj_target.h2
-rw-r--r--luajit-2.0/src/lj_target_arm.h2
-rw-r--r--luajit-2.0/src/lj_target_mips.h2
-rw-r--r--luajit-2.0/src/lj_target_ppc.h2
-rw-r--r--luajit-2.0/src/lj_target_x86.h2
-rw-r--r--luajit-2.0/src/lj_trace.c2
-rw-r--r--luajit-2.0/src/lj_trace.h2
-rw-r--r--luajit-2.0/src/lj_traceerr.h2
-rw-r--r--luajit-2.0/src/lj_udata.c2
-rw-r--r--luajit-2.0/src/lj_udata.h2
-rw-r--r--luajit-2.0/src/lj_vm.h2
-rw-r--r--luajit-2.0/src/lj_vmevent.c2
-rw-r--r--luajit-2.0/src/lj_vmevent.h2
-rw-r--r--luajit-2.0/src/lj_vmmath.c2
-rw-r--r--luajit-2.0/src/ljamalg.c2
-rw-r--r--luajit-2.0/src/luaconf.h2
-rw-r--r--luajit-2.0/src/luajit.c2
-rw-r--r--luajit-2.0/src/luajit.h4
-rw-r--r--luajit-2.0/src/lualib.h2
-rw-r--r--luajit-2.0/src/msvcbuild.bat2
-rw-r--r--luajit-2.0/src/vm_arm.dasc15
-rw-r--r--luajit-2.0/src/vm_mips.dasc4
-rw-r--r--luajit-2.0/src/vm_ppc.dasc4
-rw-r--r--luajit-2.0/src/vm_ppcspe.dasc2
-rw-r--r--luajit-2.0/src/vm_x86.dasc7
177 files changed, 285 insertions, 236 deletions
diff --git a/luajit-2.0/COPYRIGHT b/luajit-2.0/COPYRIGHT
index 08936df..1ef7df6 100644
--- a/luajit-2.0/COPYRIGHT
+++ b/luajit-2.0/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/luajit-2.0/Makefile b/luajit-2.0/Makefile
index b23b648..0891b71 100644
--- a/luajit-2.0/Makefile
+++ b/luajit-2.0/Makefile
@@ -10,7 +10,7 @@
# 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
diff --git a/luajit-2.0/README b/luajit-2.0/README
index 902a6d2..d151bb7 100644
--- a/luajit-2.0/README
+++ b/luajit-2.0/README
@@ -5,7 +5,7 @@ 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/luajit-2.0/doc/bluequad-print.css b/luajit-2.0/doc/bluequad-print.css
index 21da868..07f5c84 100644
--- a/luajit-2.0/doc/bluequad-print.css
+++ b/luajit-2.0/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/luajit-2.0/doc/bluequad.css b/luajit-2.0/doc/bluequad.css
index 05b092e..ae53143 100644
--- a/luajit-2.0/doc/bluequad.css
+++ b/luajit-2.0/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/luajit-2.0/doc/changes.html b/luajit-2.0/doc/changes.html
index 9841229..3d8f5db 100644
--- a/luajit-2.0/doc/changes.html
+++ b/luajit-2.0/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">
@@ -918,7 +918,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/luajit-2.0/doc/contact.html b/luajit-2.0/doc/contact.html
index 0483a82..0ef01a7 100644
--- a/luajit-2.0/doc/contact.html
+++ b/luajit-2.0/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/luajit-2.0/doc/ext_c_api.html b/luajit-2.0/doc/ext_c_api.html
index 4850336..6598180 100644
--- a/luajit-2.0/doc/ext_c_api.html
+++ b/luajit-2.0/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/luajit-2.0/doc/ext_ffi.html b/luajit-2.0/doc/ext_ffi.html
index fa9ca97..77b8e26 100644
--- a/luajit-2.0/doc/ext_ffi.html
+++ b/luajit-2.0/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/luajit-2.0/doc/ext_ffi_api.html b/luajit-2.0/doc/ext_ffi_api.html
index dcffcfa..8f577e9 100644
--- a/luajit-2.0/doc/ext_ffi_api.html
+++ b/luajit-2.0/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/luajit-2.0/doc/ext_ffi_semantics.html b/luajit-2.0/doc/ext_ffi_semantics.html
index 7e5f703..c267b55 100644
--- a/luajit-2.0/doc/ext_ffi_semantics.html
+++ b/luajit-2.0/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/luajit-2.0/doc/ext_ffi_tutorial.html b/luajit-2.0/doc/ext_ffi_tutorial.html
index 8e4eaf7..8f99bfb 100644
--- a/luajit-2.0/doc/ext_ffi_tutorial.html
+++ b/luajit-2.0/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">
@@ -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/luajit-2.0/doc/ext_jit.html b/luajit-2.0/doc/ext_jit.html
index 098be5e..27351dd 100644
--- a/luajit-2.0/doc/ext_jit.html
+++ b/luajit-2.0/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/luajit-2.0/doc/extensions.html b/luajit-2.0/doc/extensions.html
index 20b597f..e9cd136 100644
--- a/luajit-2.0/doc/extensions.html
+++ b/luajit-2.0/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/luajit-2.0/doc/faq.html b/luajit-2.0/doc/faq.html
index ffc2ae8..9902f09 100644
--- a/luajit-2.0/doc/faq.html
+++ b/luajit-2.0/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/luajit-2.0/doc/install.html b/luajit-2.0/doc/install.html
index f816315..7369aeb 100644
--- a/luajit-2.0/doc/install.html
+++ b/luajit-2.0/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">
@@ -636,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/luajit-2.0/doc/luajit.html b/luajit-2.0/doc/luajit.html
index ddbc016..45507c1 100644
--- a/luajit-2.0/doc/luajit.html
+++ b/luajit-2.0/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">
@@ -150,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>
@@ -224,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/luajit-2.0/doc/running.html b/luajit-2.0/doc/running.html
index c01c52d..c2ec511 100644
--- a/luajit-2.0/doc/running.html
+++ b/luajit-2.0/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">
@@ -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/luajit-2.0/doc/status.html b/luajit-2.0/doc/status.html
index ddcaed3..e3655d4 100644
--- a/luajit-2.0/doc/status.html
+++ b/luajit-2.0/doc/status.html
@@ -4,7 +4,7 @@
<title>Status &amp; Roadmap</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Mike Pall">
-<meta name="Copyright" content="Copyright (C) 2005-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">
@@ -115,7 +115,7 @@ Please refer to the
</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/luajit-2.0/dynasm/dasm_arm.h b/luajit-2.0/dynasm/dasm_arm.h
index 435bbf5..57e0116 100644
--- a/luajit-2.0/dynasm/dasm_arm.h
+++ b/luajit-2.0/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/luajit-2.0/dynasm/dasm_arm.lua b/luajit-2.0/dynasm/dasm_arm.lua
index b3a8827..90a259c 100644
--- a/luajit-2.0/dynasm/dasm_arm.lua
+++ b/luajit-2.0/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/luajit-2.0/dynasm/dasm_mips.h b/luajit-2.0/dynasm/dasm_mips.h
index 4359588..2f4c2d2 100644
--- a/luajit-2.0/dynasm/dasm_mips.h
+++ b/luajit-2.0/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/luajit-2.0/dynasm/dasm_mips.lua b/luajit-2.0/dynasm/dasm_mips.lua
index 82942cb..ae0dbd7 100644
--- a/luajit-2.0/dynasm/dasm_mips.lua
+++ b/luajit-2.0/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/luajit-2.0/dynasm/dasm_ppc.h b/luajit-2.0/dynasm/dasm_ppc.h
index 5ccff25..7df4936 100644
--- a/luajit-2.0/dynasm/dasm_ppc.h
+++ b/luajit-2.0/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/luajit-2.0/dynasm/dasm_ppc.lua b/luajit-2.0/dynasm/dasm_ppc.lua
index 61da50e..91f4ff9 100644
--- a/luajit-2.0/dynasm/dasm_ppc.lua
+++ b/luajit-2.0/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/luajit-2.0/dynasm/dasm_proto.h b/luajit-2.0/dynasm/dasm_proto.h
index e77bb84..a8bc6fd 100644
--- a/luajit-2.0/dynasm/dasm_proto.h
+++ b/luajit-2.0/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/luajit-2.0/dynasm/dasm_x64.lua b/luajit-2.0/dynasm/dasm_x64.lua
index 91d676d..b1b6202 100644
--- a/luajit-2.0/dynasm/dasm_x64.lua
+++ b/luajit-2.0/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/luajit-2.0/dynasm/dasm_x86.h b/luajit-2.0/dynasm/dasm_x86.h
index 97cbbea..652e8c9 100644
--- a/luajit-2.0/dynasm/dasm_x86.h
+++ b/luajit-2.0/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/luajit-2.0/dynasm/dasm_x86.lua b/luajit-2.0/dynasm/dasm_x86.lua
index 5f82f4f..7ca061d 100644
--- a/luajit-2.0/dynasm/dasm_x86.lua
+++ b/luajit-2.0/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.
------------------------------------------------------------------------------
diff --git a/luajit-2.0/dynasm/dynasm.lua b/luajit-2.0/dynasm/dynasm.lua
index 0ea8697..fffda75 100644
--- a/luajit-2.0/dynasm/dynasm.lua
+++ b/luajit-2.0/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/luajit-2.0/etc/luajit.1 b/luajit-2.0/etc/luajit.1
index 723a708..fd38b0a 100644
--- a/luajit-2.0/etc/luajit.1
+++ b/luajit-2.0/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/luajit-2.0/src/Makefile b/luajit-2.0/src/Makefile
index c558003..33b0a43 100644
--- a/luajit-2.0/src/Makefile
+++ b/luajit-2.0/src/Makefile
@@ -7,7 +7,7 @@
# 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
@@ -290,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)
@@ -310,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/luajit-2.0/src/host/buildvm.c b/luajit-2.0/src/host/buildvm.c
index 7687ad7..07122a6 100644
--- a/luajit-2.0/src/host/buildvm.c
+++ b/luajit-2.0/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/luajit-2.0/src/host/buildvm.h b/luajit-2.0/src/host/buildvm.h
index f9dc8c4..b262185 100644
--- a/luajit-2.0/src/host/buildvm.h
+++ b/luajit-2.0/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/luajit-2.0/src/host/buildvm_asm.c b/luajit-2.0/src/host/buildvm_asm.c
index 079e9a8..2c9a2d4 100644
--- a/luajit-2.0/src/host/buildvm_asm.c
+++ b/luajit-2.0/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"
diff --git a/luajit-2.0/src/host/buildvm_fold.c b/luajit-2.0/src/host/buildvm_fold.c
index 7f5d9f2..daed7ec 100644
--- a/luajit-2.0/src/host/buildvm_fold.c
+++ b/luajit-2.0/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/luajit-2.0/src/host/buildvm_lib.c b/luajit-2.0/src/host/buildvm_lib.c
index eafdab9..c37301d 100644
--- a/luajit-2.0/src/host/buildvm_lib.c
+++ b/luajit-2.0/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/luajit-2.0/src/host/buildvm_peobj.c b/luajit-2.0/src/host/buildvm_peobj.c
index 138b042..4279f50 100644
--- a/luajit-2.0/src/host/buildvm_peobj.c
+++ b/luajit-2.0/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/luajit-2.0/src/host/genminilua.lua b/luajit-2.0/src/host/genminilua.lua
index 04c5518..cd0d946 100644
--- a/luajit-2.0/src/host/genminilua.lua
+++ b/luajit-2.0/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/luajit-2.0/src/jit/bc.lua b/luajit-2.0/src/jit/bc.lua
index 9df19c7..a179d50 100644
--- a/luajit-2.0/src/jit/bc.lua
+++ b/luajit-2.0/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
----------------------------------------------------------------------------
--
diff --git a/luajit-2.0/src/jit/bcsave.lua b/luajit-2.0/src/jit/bcsave.lua
index 122bb24..2ba234d 100644
--- a/luajit-2.0/src/jit/bcsave.lua
+++ b/luajit-2.0/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
----------------------------------------------------------------------------
--
diff --git a/luajit-2.0/src/jit/dis_arm.lua b/luajit-2.0/src/jit/dis_arm.lua
index b3d0ebc..59be715 100644
--- a/luajit-2.0/src/jit/dis_arm.lua
+++ b/luajit-2.0/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/luajit-2.0/src/jit/dis_mips.lua b/luajit-2.0/src/jit/dis_mips.lua
index 47a7a83..acdd2be 100644
--- a/luajit-2.0/src/jit/dis_mips.lua
+++ b/luajit-2.0/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/luajit-2.0/src/jit/dis_mipsel.lua b/luajit-2.0/src/jit/dis_mipsel.lua
index d19de31..dd9d26a 100644
--- a/luajit-2.0/src/jit/dis_mipsel.lua
+++ b/luajit-2.0/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/luajit-2.0/src/jit/dis_ppc.lua b/luajit-2.0/src/jit/dis_ppc.lua
index cfaf982..d05c431 100644
--- a/luajit-2.0/src/jit/dis_ppc.lua
+++ b/luajit-2.0/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/luajit-2.0/src/jit/dis_x64.lua b/luajit-2.0/src/jit/dis_x64.lua
index 4f49169..a80981b 100644
--- a/luajit-2.0/src/jit/dis_x64.lua
+++ b/luajit-2.0/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/luajit-2.0/src/jit/dis_x86.lua b/luajit-2.0/src/jit/dis_x86.lua
index 0b865ab..078d609 100644
--- a/luajit-2.0/src/jit/dis_x86.lua
+++ b/luajit-2.0/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/luajit-2.0/src/jit/dump.lua b/luajit-2.0/src/jit/dump.lua
index 556ce88..589543f 100644
--- a/luajit-2.0/src/jit/dump.lua
+++ b/luajit-2.0/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
----------------------------------------------------------------------------
--
diff --git a/luajit-2.0/src/jit/v.lua b/luajit-2.0/src/jit/v.lua
index 197e67c..c622443 100644
--- a/luajit-2.0/src/jit/v.lua
+++ b/luajit-2.0/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
----------------------------------------------------------------------------
--
diff --git a/luajit-2.0/src/lib_aux.c b/luajit-2.0/src/lib_aux.c
index e88dc7c..4a1b70d 100644
--- a/luajit-2.0/src/lib_aux.c
+++ b/luajit-2.0/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
diff --git a/luajit-2.0/src/lib_base.c b/luajit-2.0/src/lib_base.c
index 30e88f1..17b9525 100644
--- a/luajit-2.0/src/lib_base.c
+++ b/luajit-2.0/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/luajit-2.0/src/lib_bit.c b/luajit-2.0/src/lib_bit.c
index 739924b..583e04b 100644
--- a/luajit-2.0/src/lib_bit.c
+++ b/luajit-2.0/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/luajit-2.0/src/lib_debug.c b/luajit-2.0/src/lib_debug.c
index 97f032f..e87c35c 100644
--- a/luajit-2.0/src/lib_debug.c
+++ b/luajit-2.0/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/luajit-2.0/src/lib_ffi.c b/luajit-2.0/src/lib_ffi.c
index 2549678..f6df39d 100644
--- a/luajit-2.0/src/lib_ffi.c
+++ b/luajit-2.0/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
diff --git a/luajit-2.0/src/lib_init.c b/luajit-2.0/src/lib_init.c
index a729d12..85c194a 100644
--- a/luajit-2.0/src/lib_init.c
+++ b/luajit-2.0/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/luajit-2.0/src/lib_io.c b/luajit-2.0/src/lib_io.c
index 90f310b..037aa28 100644
--- a/luajit-2.0/src/lib_io.c
+++ b/luajit-2.0/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
diff --git a/luajit-2.0/src/lib_jit.c b/luajit-2.0/src/lib_jit.c
index 0fadf8b..96525fa 100644
--- a/luajit-2.0/src/lib_jit.c
+++ b/luajit-2.0/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/luajit-2.0/src/lib_math.c b/luajit-2.0/src/lib_math.c
index 3aa5c6b..40f2914 100644
--- a/luajit-2.0/src/lib_math.c
+++ b/luajit-2.0/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/luajit-2.0/src/lib_os.c b/luajit-2.0/src/lib_os.c
index 713ec93..bb5a141 100644
--- a/luajit-2.0/src/lib_os.c
+++ b/luajit-2.0/src/lib_os.c
@@ -1,6 +1,6 @@
/*
** 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
diff --git a/luajit-2.0/src/lib_package.c b/luajit-2.0/src/lib_package.c
index e341039..ac38c81 100644
--- a/luajit-2.0/src/lib_package.c
+++ b/luajit-2.0/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/luajit-2.0/src/lib_string.c b/luajit-2.0/src/lib_string.c
index 9ec6d0c..c6168ed 100644
--- a/luajit-2.0/src/lib_string.c
+++ b/luajit-2.0/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/luajit-2.0/src/lib_table.c b/luajit-2.0/src/lib_table.c
index e0e8302..fbfe863 100644
--- a/luajit-2.0/src/lib_table.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_api.c b/luajit-2.0/src/lj_api.c
index bc5290b..3bedb39 100644
--- a/luajit-2.0/src/lj_api.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_arch.h b/luajit-2.0/src/lj_arch.h
index f1c6e5e..d3a9d57 100644
--- a/luajit-2.0/src/lj_arch.h
+++ b/luajit-2.0/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
@@ -181,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
@@ -340,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/luajit-2.0/src/lj_asm.c b/luajit-2.0/src/lj_asm.c
index 2afa92d..804b4dc 100644
--- a/luajit-2.0/src/lj_asm.c
+++ b/luajit-2.0/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
@@ -1373,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/luajit-2.0/src/lj_asm.h b/luajit-2.0/src/lj_asm.h
index f5d0159..85f2976 100644
--- a/luajit-2.0/src/lj_asm.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_asm_arm.h b/luajit-2.0/src/lj_asm_arm.h
index 72f205d..9e4cf43 100644
--- a/luajit-2.0/src/lj_asm_arm.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_asm_mips.h b/luajit-2.0/src/lj_asm_mips.h
index e5c67b5..78bd26d 100644
--- a/luajit-2.0/src/lj_asm_mips.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_asm_ppc.h b/luajit-2.0/src/lj_asm_ppc.h
index 0a3d35e..2c5d74a 100644
--- a/luajit-2.0/src/lj_asm_ppc.h
+++ b/luajit-2.0/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 --------------------------------------- */
diff --git a/luajit-2.0/src/lj_asm_x86.h b/luajit-2.0/src/lj_asm_x86.h
index 04b7964..0b6b2d4 100644
--- a/luajit-2.0/src/lj_asm_x86.h
+++ b/luajit-2.0/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 ------------------------------------------------------ */
@@ -1836,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/luajit-2.0/src/lj_bc.c b/luajit-2.0/src/lj_bc.c
index d5d3d78..a8f444c 100644
--- a/luajit-2.0/src/lj_bc.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_bc.h b/luajit-2.0/src/lj_bc.h
index 1a4ade3..7436fab 100644
--- a/luajit-2.0/src/lj_bc.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_bcdump.h b/luajit-2.0/src/lj_bcdump.h
index 77a789e..812d0e1 100644
--- a/luajit-2.0/src/lj_bcdump.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_bcread.c b/luajit-2.0/src/lj_bcread.c
index c0baece..25859d2 100644
--- a/luajit-2.0/src/lj_bcread.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_bcwrite.c b/luajit-2.0/src/lj_bcwrite.c
index dcdaa10..ff97450 100644
--- a/luajit-2.0/src/lj_bcwrite.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_carith.c b/luajit-2.0/src/lj_carith.c
index 9a451b2..2a358a9 100644
--- a/luajit-2.0/src/lj_carith.c
+++ b/luajit-2.0/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"
diff --git a/luajit-2.0/src/lj_carith.h b/luajit-2.0/src/lj_carith.h
index 8b28556..8c4bdbb 100644
--- a/luajit-2.0/src/lj_carith.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_ccall.c b/luajit-2.0/src/lj_ccall.c
index 70c9ba5..998417c 100644
--- a/luajit-2.0/src/lj_ccall.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_ccall.h b/luajit-2.0/src/lj_ccall.h
index c3ea9e6..f553010 100644
--- a/luajit-2.0/src/lj_ccall.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_ccallback.c b/luajit-2.0/src/lj_ccallback.c
index d872d67..b210641 100644
--- a/luajit-2.0/src/lj_ccallback.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_ccallback.h b/luajit-2.0/src/lj_ccallback.h
index 45b5ff0..83dbe04 100644
--- a/luajit-2.0/src/lj_ccallback.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_cconv.c b/luajit-2.0/src/lj_cconv.c
index 90cd36e..8a27076 100644
--- a/luajit-2.0/src/lj_cconv.c
+++ b/luajit-2.0/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"
diff --git a/luajit-2.0/src/lj_cconv.h b/luajit-2.0/src/lj_cconv.h
index 17e0f05..2bd50ff 100644
--- a/luajit-2.0/src/lj_cconv.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_cdata.c b/luajit-2.0/src/lj_cdata.c
index ebaea6d..39fc13a 100644
--- a/luajit-2.0/src/lj_cdata.c
+++ b/luajit-2.0/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"
diff --git a/luajit-2.0/src/lj_cdata.h b/luajit-2.0/src/lj_cdata.h
index 6c8e7a1..3a1275e 100644
--- a/luajit-2.0/src/lj_cdata.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_clib.c b/luajit-2.0/src/lj_clib.c
index ccb99e5..d352609 100644
--- a/luajit-2.0/src/lj_clib.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_clib.h b/luajit-2.0/src/lj_clib.h
index 4737328..e5dc98e 100644
--- a/luajit-2.0/src/lj_clib.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_cparse.c b/luajit-2.0/src/lj_cparse.c
index 6ffe16a..b9df88d 100644
--- a/luajit-2.0/src/lj_cparse.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_cparse.h b/luajit-2.0/src/lj_cparse.h
index 586f494..441580d 100644
--- a/luajit-2.0/src/lj_cparse.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_crecord.c b/luajit-2.0/src/lj_crecord.c
index fe08b93..a46665e 100644
--- a/luajit-2.0/src/lj_crecord.c
+++ b/luajit-2.0/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
diff --git a/luajit-2.0/src/lj_crecord.h b/luajit-2.0/src/lj_crecord.h
index fb77ca6..a4628ca 100644
--- a/luajit-2.0/src/lj_crecord.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_ctype.c b/luajit-2.0/src/lj_ctype.c
index e9fe094..ac30174 100644
--- a/luajit-2.0/src/lj_ctype.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_ctype.h b/luajit-2.0/src/lj_ctype.h
index ff8ee06..3df26f0 100644
--- a/luajit-2.0/src/lj_ctype.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_debug.c b/luajit-2.0/src/lj_debug.c
index e4ab9c1..bd2fa1f 100644
--- a/luajit-2.0/src/lj_debug.c
+++ b/luajit-2.0/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
diff --git a/luajit-2.0/src/lj_debug.h b/luajit-2.0/src/lj_debug.h
index bec6b4f..fa8988c 100644
--- a/luajit-2.0/src/lj_debug.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_def.h b/luajit-2.0/src/lj_def.h
index 8624aed..e666c9e 100644
--- a/luajit-2.0/src/lj_def.h
+++ b/luajit-2.0/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
diff --git a/luajit-2.0/src/lj_dispatch.c b/luajit-2.0/src/lj_dispatch.c
index 58d6c3e..3725657 100644
--- a/luajit-2.0/src/lj_dispatch.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_dispatch.h b/luajit-2.0/src/lj_dispatch.h
index 5960e64..778affc 100644
--- a/luajit-2.0/src/lj_dispatch.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_emit_arm.h b/luajit-2.0/src/lj_emit_arm.h
index 3bac367..8c5e537 100644
--- a/luajit-2.0/src/lj_emit_arm.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_emit_mips.h b/luajit-2.0/src/lj_emit_mips.h
index dc9197a..0fc07d9 100644
--- a/luajit-2.0/src/lj_emit_mips.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_emit_ppc.h b/luajit-2.0/src/lj_emit_ppc.h
index 3a2ae38..14edf00 100644
--- a/luajit-2.0/src/lj_emit_ppc.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_emit_x86.h b/luajit-2.0/src/lj_emit_x86.h
index 8cfb654..3a2f651 100644
--- a/luajit-2.0/src/lj_emit_x86.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_err.c b/luajit-2.0/src/lj_err.c
index 3097795..081bfde 100644
--- a/luajit-2.0/src/lj_err.c
+++ b/luajit-2.0/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
@@ -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;
@@ -727,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/luajit-2.0/src/lj_err.h b/luajit-2.0/src/lj_err.h
index 7ea512a..03a56f0 100644
--- a/luajit-2.0/src/lj_err.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_errmsg.h b/luajit-2.0/src/lj_errmsg.h
index 137831e..1c94876 100644
--- a/luajit-2.0/src/lj_errmsg.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_ff.h b/luajit-2.0/src/lj_ff.h
index d91a739..73dad96 100644
--- a/luajit-2.0/src/lj_ff.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_ffrecord.c b/luajit-2.0/src/lj_ffrecord.c
index 794bbd4..69f71ab 100644
--- a/luajit-2.0/src/lj_ffrecord.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_ffrecord.h b/luajit-2.0/src/lj_ffrecord.h
index b3bc662..f858ca2 100644
--- a/luajit-2.0/src/lj_ffrecord.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_frame.h b/luajit-2.0/src/lj_frame.h
index fb533b0..cd57be2 100644
--- a/luajit-2.0/src/lj_frame.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_func.c b/luajit-2.0/src/lj_func.c
index 9a59b0f..eb8a9db 100644
--- a/luajit-2.0/src/lj_func.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_func.h b/luajit-2.0/src/lj_func.h
index 88732e8..a6e534e 100644
--- a/luajit-2.0/src/lj_func.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_gc.c b/luajit-2.0/src/lj_gc.c
index c856df4..b498aba 100644
--- a/luajit-2.0/src/lj_gc.c
+++ b/luajit-2.0/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
diff --git a/luajit-2.0/src/lj_gc.h b/luajit-2.0/src/lj_gc.h
index c85d075..ba061bc 100644
--- a/luajit-2.0/src/lj_gc.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_gdbjit.c b/luajit-2.0/src/lj_gdbjit.c
index d999986..d3f3e61 100644
--- a/luajit-2.0/src/lj_gdbjit.c
+++ b/luajit-2.0/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
diff --git a/luajit-2.0/src/lj_gdbjit.h b/luajit-2.0/src/lj_gdbjit.h
index 9ae504f..49c5863 100644
--- a/luajit-2.0/src/lj_gdbjit.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_ir.c b/luajit-2.0/src/lj_ir.c
index b2170a1..439f3fc 100644
--- a/luajit-2.0/src/lj_ir.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_ir.h b/luajit-2.0/src/lj_ir.h
index 80763d8..8126482 100644
--- a/luajit-2.0/src/lj_ir.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_ircall.h b/luajit-2.0/src/lj_ircall.h
index 92d61df..893dac2 100644
--- a/luajit-2.0/src/lj_ircall.h
+++ b/luajit-2.0/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
diff --git a/luajit-2.0/src/lj_iropt.h b/luajit-2.0/src/lj_iropt.h
index e45ae2b..4e424e7 100644
--- a/luajit-2.0/src/lj_iropt.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_jit.h b/luajit-2.0/src/lj_jit.h
index ecd79de..eb76547 100644
--- a/luajit-2.0/src/lj_jit.h
+++ b/luajit-2.0/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
diff --git a/luajit-2.0/src/lj_lex.c b/luajit-2.0/src/lj_lex.c
index 4fa3931..e1dc3cd 100644
--- a/luajit-2.0/src/lj_lex.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_lex.h b/luajit-2.0/src/lj_lex.h
index a7ff29a..fe01768 100644
--- a/luajit-2.0/src/lj_lex.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_lib.c b/luajit-2.0/src/lj_lib.c
index 76c8a06..856685e 100644
--- a/luajit-2.0/src/lj_lib.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_lib.h b/luajit-2.0/src/lj_lib.h
index daacb92..9320f34 100644
--- a/luajit-2.0/src/lj_lib.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_load.c b/luajit-2.0/src/lj_load.c
index edfdc90..ff7b851 100644
--- a/luajit-2.0/src/lj_load.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_mcode.c b/luajit-2.0/src/lj_mcode.c
index 5a73296..d95ebeb 100644
--- a/luajit-2.0/src/lj_mcode.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_mcode.h b/luajit-2.0/src/lj_mcode.h
index 89344fc..ee60452 100644
--- a/luajit-2.0/src/lj_mcode.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_meta.c b/luajit-2.0/src/lj_meta.c
index 0a52667..faaaf70 100644
--- a/luajit-2.0/src/lj_meta.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_meta.h b/luajit-2.0/src/lj_meta.h
index 8d7c2cd..2c1ad0d 100644
--- a/luajit-2.0/src/lj_meta.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_obj.c b/luajit-2.0/src/lj_obj.c
index c7f3bc1..7fab714 100644
--- a/luajit-2.0/src/lj_obj.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_obj.h b/luajit-2.0/src/lj_obj.h
index cc999aa..6e8381c 100644
--- a/luajit-2.0/src/lj_obj.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_opt_dce.c b/luajit-2.0/src/lj_opt_dce.c
index fdfe934..7f1faaf 100644
--- a/luajit-2.0/src/lj_opt_dce.c
+++ b/luajit-2.0/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
diff --git a/luajit-2.0/src/lj_opt_fold.c b/luajit-2.0/src/lj_opt_fold.c
index a15f927..d00fdd5 100644
--- a/luajit-2.0/src/lj_opt_fold.c
+++ b/luajit-2.0/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
@@ -1006,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;
}
diff --git a/luajit-2.0/src/lj_opt_loop.c b/luajit-2.0/src/lj_opt_loop.c
index fa00115..b7d1923 100644
--- a/luajit-2.0/src/lj_opt_loop.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_opt_mem.c b/luajit-2.0/src/lj_opt_mem.c
index d5f5290..a4d96fc 100644
--- a/luajit-2.0/src/lj_opt_mem.c
+++ b/luajit-2.0/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
@@ -793,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/luajit-2.0/src/lj_opt_narrow.c b/luajit-2.0/src/lj_opt_narrow.c
index 2cecf65..b7bd323 100644
--- a/luajit-2.0/src/lj_opt_narrow.c
+++ b/luajit-2.0/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
diff --git a/luajit-2.0/src/lj_opt_sink.c b/luajit-2.0/src/lj_opt_sink.c
index 3a33346..a98e9df 100644
--- a/luajit-2.0/src/lj_opt_sink.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_opt_split.c b/luajit-2.0/src/lj_opt_split.c
index 99d1058..1cee509 100644
--- a/luajit-2.0/src/lj_opt_split.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_parse.c b/luajit-2.0/src/lj_parse.c
index e8aafba..abfac3c 100644
--- a/luajit-2.0/src/lj_parse.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_parse.h b/luajit-2.0/src/lj_parse.h
index 532657a..dc4fd40 100644
--- a/luajit-2.0/src/lj_parse.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_record.c b/luajit-2.0/src/lj_record.c
index 12b76bb..843108c 100644
--- a/luajit-2.0/src/lj_record.c
+++ b/luajit-2.0/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
@@ -745,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));
diff --git a/luajit-2.0/src/lj_record.h b/luajit-2.0/src/lj_record.h
index 940e105..c9f4882 100644
--- a/luajit-2.0/src/lj_record.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_snap.c b/luajit-2.0/src/lj_snap.c
index 803533c..5c870ba 100644
--- a/luajit-2.0/src/lj_snap.c
+++ b/luajit-2.0/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
diff --git a/luajit-2.0/src/lj_snap.h b/luajit-2.0/src/lj_snap.h
index 1b2d74d..9a125be 100644
--- a/luajit-2.0/src/lj_snap.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_state.c b/luajit-2.0/src/lj_state.c
index b9eaef4..e654afa 100644
--- a/luajit-2.0/src/lj_state.c
+++ b/luajit-2.0/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
diff --git a/luajit-2.0/src/lj_state.h b/luajit-2.0/src/lj_state.h
index 74249d9..687889a 100644
--- a/luajit-2.0/src/lj_state.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_str.c b/luajit-2.0/src/lj_str.c
index aead8b5..ca60bcc 100644
--- a/luajit-2.0/src/lj_str.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_str.h b/luajit-2.0/src/lj_str.h
index 1602c98..9969705 100644
--- a/luajit-2.0/src/lj_str.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_strscan.c b/luajit-2.0/src/lj_strscan.c
index a21c414..568f647 100644
--- a/luajit-2.0/src/lj_strscan.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_strscan.h b/luajit-2.0/src/lj_strscan.h
index 15abd6a..7760689 100644
--- a/luajit-2.0/src/lj_strscan.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_tab.c b/luajit-2.0/src/lj_tab.c
index fc7d0f1..a8062db 100644
--- a/luajit-2.0/src/lj_tab.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_tab.h b/luajit-2.0/src/lj_tab.h
index 44b1bbb..f0d228e 100644
--- a/luajit-2.0/src/lj_tab.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_target.h b/luajit-2.0/src/lj_target.h
index 820a97a..1a24232 100644
--- a/luajit-2.0/src/lj_target.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_target_arm.h b/luajit-2.0/src/lj_target_arm.h
index 63a0c92..6d4d0ae 100644
--- a/luajit-2.0/src/lj_target_arm.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_target_mips.h b/luajit-2.0/src/lj_target_mips.h
index e0fc152..0ab140b 100644
--- a/luajit-2.0/src/lj_target_mips.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_target_ppc.h b/luajit-2.0/src/lj_target_ppc.h
index 475e046..2caeeb0 100644
--- a/luajit-2.0/src/lj_target_ppc.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_target_x86.h b/luajit-2.0/src/lj_target_x86.h
index 41f401b..d12a1b8 100644
--- a/luajit-2.0/src/lj_target_x86.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_trace.c b/luajit-2.0/src/lj_trace.c
index 0f48809..e51ec54 100644
--- a/luajit-2.0/src/lj_trace.c
+++ b/luajit-2.0/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
diff --git a/luajit-2.0/src/lj_trace.h b/luajit-2.0/src/lj_trace.h
index f310908..4fbe5cf 100644
--- a/luajit-2.0/src/lj_trace.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_traceerr.h b/luajit-2.0/src/lj_traceerr.h
index 521560a..9bef117 100644
--- a/luajit-2.0/src/lj_traceerr.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_udata.c b/luajit-2.0/src/lj_udata.c
index 6cd357e..d401a3d 100644
--- a/luajit-2.0/src/lj_udata.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_udata.h b/luajit-2.0/src/lj_udata.h
index e03d9a3..676e970 100644
--- a/luajit-2.0/src/lj_udata.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_vm.h b/luajit-2.0/src/lj_vm.h
index 4a8f03f..036cabc 100644
--- a/luajit-2.0/src/lj_vm.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_vmevent.c b/luajit-2.0/src/lj_vmevent.c
index e14ad5b..81fe47d 100644
--- a/luajit-2.0/src/lj_vmevent.c
+++ b/luajit-2.0/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/luajit-2.0/src/lj_vmevent.h b/luajit-2.0/src/lj_vmevent.h
index 51bae01..231e00e 100644
--- a/luajit-2.0/src/lj_vmevent.h
+++ b/luajit-2.0/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/luajit-2.0/src/lj_vmmath.c b/luajit-2.0/src/lj_vmmath.c
index 63886aa..31c6029 100644
--- a/luajit-2.0/src/lj_vmmath.c
+++ b/luajit-2.0/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/luajit-2.0/src/ljamalg.c b/luajit-2.0/src/ljamalg.c
index 52a8615..9b237b7 100644
--- a/luajit-2.0/src/ljamalg.c
+++ b/luajit-2.0/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/luajit-2.0/src/luaconf.h b/luajit-2.0/src/luaconf.h
index affb7da..7f57bae 100644
--- a/luajit-2.0/src/luaconf.h
+++ b/luajit-2.0/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
diff --git a/luajit-2.0/src/luajit.c b/luajit-2.0/src/luajit.c
index 4e85908..855508b 100644
--- a/luajit-2.0/src/luajit.c
+++ b/luajit-2.0/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
diff --git a/luajit-2.0/src/luajit.h b/luajit-2.0/src/luajit.h
index be721cf..901807a 100644
--- a/luajit-2.0/src/luajit.h
+++ b/luajit-2.0/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
@@ -33,7 +33,7 @@
#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_COPYRIGHT "Copyright (C) 2005-2015 Mike Pall"
#define LUAJIT_URL "http://luajit.org/"
/* Modes for luaJIT_setmode. */
diff --git a/luajit-2.0/src/lualib.h b/luajit-2.0/src/lualib.h
index 1c1e317..96530e7 100644
--- a/luajit-2.0/src/lualib.h
+++ b/luajit-2.0/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/luajit-2.0/src/msvcbuild.bat b/luajit-2.0/src/msvcbuild.bat
index 9160e0f..4b50185 100644
--- a/luajit-2.0/src/msvcbuild.bat
+++ b/luajit-2.0/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/luajit-2.0/src/vm_arm.dasc b/luajit-2.0/src/vm_arm.dasc
index 82cba90..457efa6 100644
--- a/luajit-2.0/src/vm_arm.dasc
+++ b/luajit-2.0/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/luajit-2.0/src/vm_mips.dasc b/luajit-2.0/src/vm_mips.dasc
index 0ec13e6..ac8346b 100644
--- a/luajit-2.0/src/vm_mips.dasc
+++ b/luajit-2.0/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/luajit-2.0/src/vm_ppc.dasc b/luajit-2.0/src/vm_ppc.dasc
index 7ae40ec..ad8a023 100644
--- a/luajit-2.0/src/vm_ppc.dasc
+++ b/luajit-2.0/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
@@ -586,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
diff --git a/luajit-2.0/src/vm_ppcspe.dasc b/luajit-2.0/src/vm_ppcspe.dasc
index adcec24..53ea2d9 100644
--- a/luajit-2.0/src/vm_ppcspe.dasc
+++ b/luajit-2.0/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/luajit-2.0/src/vm_x86.dasc b/luajit-2.0/src/vm_x86.dasc
index bd7056f..4544a3b 100644
--- a/luajit-2.0/src/vm_x86.dasc
+++ b/luajit-2.0/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
@@ -5320,8 +5320,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