diff options
author | Ronan Collobert <ronan@collobert.com> | 2015-03-10 20:17:37 +0300 |
---|---|---|
committer | Ronan Collobert <ronan@collobert.com> | 2015-03-10 20:17:37 +0300 |
commit | 4cb96fbe7f8dedaea23f92edf269b24a82b9c1c2 (patch) | |
tree | 158859c23834919dd57bd4eea22e9c0638500f11 | |
parent | 64dd0fdd569de98820acb337a0f96a701789bdee (diff) | |
parent | 0458550e6b40205b68bb484a04a6c04cca66828f (diff) |
Merge commit '0458550e6b40205b68bb484a04a6c04cca66828f'
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 © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall <span class="noprint"> · <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 © 2005-2014 Mike Pall. +Copyright © 2005-2015 Mike Pall. </p> @@ -92,7 +92,7 @@ Copyright © 2005-2014 Mike Pall. </div> <div id="foot"> <hr class="hide"> -Copyright © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall <span class="noprint"> · <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 © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall <span class="noprint"> · <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 © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall <span class="noprint"> · <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 © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall <span class="noprint"> · <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 © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall <span class="noprint"> · <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 © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall <span class="noprint"> · <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> — JIT compiler optimization control</h2> @@ -189,7 +189,7 @@ if you want to know more. </div> <div id="foot"> <hr class="hide"> -Copyright © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall <span class="noprint"> · <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 © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall <span class="noprint"> · <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 © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall <span class="noprint"> · <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 © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall <span class="noprint"> · <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 © 2005-2014 Mike Pall, released under the +LuaJIT is Copyright © 2005-2015 Mike Pall, released under the <a href="http://www.opensource.org/licenses/mit-license.php"><span class="ext">»</span> 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 © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall <span class="noprint"> · <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 © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall <span class="noprint"> · <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 & 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 © 2005-2014 Mike Pall +Copyright © 2005-2015 Mike Pall <span class="noprint"> · <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 |