===============================================================================
-LuaJIT -- a Just-In-Time Compiler for Lua. http://luajit.org/
+LuaJIT -- a Just-In-Time Compiler for Lua. https://luajit.org/
Copyright (C) 2005-2020 Mike Pall. All rights reserved.
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-[ MIT license: http://www.opensource.org/licenses/mit-license.php ]
+[ MIT license: https://www.opensource.org/licenses/mit-license.php ]
===============================================================================
[ LuaJIT includes code from Lua 5.1/5.2, which has this license statement: ]
This is a version (aka dlmalloc) of malloc/free/realloc written by
Doug Lea and released to the public domain, as explained at
-http://creativecommons.org/licenses/publicdomain
+https://creativecommons.org/licenses/publicdomain
===============================================================================
LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language.
-Project Homepage: http://luajit.org/
+Project Homepage: https://luajit.org/
LuaJIT is Copyright (C) 2005-2020 Mike Pall.
LuaJIT is free software, released under the MIT license.
<p>
If you want to report bugs, propose fixes or suggest enhancements,
please use the
-<a href="https://github.com/LuaJIT/LuaJIT/issues">GitHub issue tracker</a>.
+<a href="https://github.com/LuaJIT/LuaJIT/issues"><span class="ext">»</span> GitHub issue tracker</a>.
</p>
<p>
Please send general questions to the
-<a href="https://luajit.org/list.html">LuaJIT mailing list</a>.
+<a href="https://luajit.org/list.html"><span class="ext">»</span> LuaJIT mailing list</a>.
</p>
<p>
You can also send any questions you have directly to me:
afterwards. The associated metatable automatically applies to all uses
of this type, no matter how the objects are created or where they
originate from. Note that pre-defined operations on types have
-precedence (e.g. declared field names cannot be overriden).
+precedence (e.g. declared field names cannot be overridden).
</p>
<p>
All standard Lua metamethods are implemented. These are called directly,
<a href="ext_ffi_api.html#ffi_new">constructor</a>. This is equivalent
to <tt>ffi.new(ct, ...)</tt>, unless a <tt>__new</tt> metamethod is
defined. The <tt>__new</tt> metamethod is called with the ctype object
-plus any other arguments passed to the contructor. Note that you have to
+plus any other arguments passed to the constructor. Note that you have to
use <tt>ffi.new</tt> inside of it, since calling <tt>ct(...)</tt> would
cause infinite recursion.</li>
<p>
The main use for parameterized types are libraries implementing abstract
data types
-(<a href="https://www.freelists.org/post/luajit/ffi-type-of-pointer-to,8">example</a>),
+(<a href="https://www.freelists.org/post/luajit/ffi-type-of-pointer-to,8"><span class="ext">»</span> example</a>),
similar to what can be achieved with C++ template metaprogramming.
Another use case are derived types of anonymous structs, which avoids
pollution of the global struct namespace.
<h2 id="zlib">Accessing the zlib Compression Library</h2>
<p>
The following code shows how to access the <a
-href="https://zlib.net/">zlib</a> compression library from Lua code.
+href="https://zlib.net/"><span class="ext">»</span> zlib</a> compression library from Lua code.
We'll define two convenience wrapper functions that take a string and
compress or uncompress it to another string:
</p>
missing standard prefixes/suffixes, we can simply load the
<tt>"z"</tt> library. On Windows it's named <tt>zlib1.dll</tt> and
you'll have to download it first from the
-<a href="https://zlib.net/">zlib site</a>. The check for
+<a href="https://zlib.net/"><span class="ext">»</span> zlib site</a>. The check for
<tt>ffi.os</tt> makes sure we pass the right name to
<tt>ffi.load()</tt>.
</p>
<div id="main">
<p>
LuaJIT is fully upwards-compatible with Lua 5.1. It supports all
-<a href="https://www.lua.org/manual/5.1/manual.html#5">standard Lua
+<a href="https://www.lua.org/manual/5.1/manual.html#5"><span class="ext">»</span> standard Lua
library functions</a> and the full set of
-<a href="https://www.lua.org/manual/5.1/manual.html#3">Lua/C API
+<a href="https://www.lua.org/manual/5.1/manual.html#3"><span class="ext">»</span> Lua/C API
functions</a>.
</p>
<p>
<h3 id="bit"><tt>bit.*</tt> — Bitwise operations</h3>
<p>
LuaJIT supports all bitwise operations as defined by
-<a href="https://bitop.luajit.org">Lua BitOp</a>:
+<a href="https://bitop.luajit.org"><span class="ext">»</span> Lua BitOp</a>:
</p>
<pre class="code">
bit.tobit bit.tohex bit.bnot bit.band bit.bor bit.bxor
<p>
This module is a LuaJIT built-in — you don't need to download or
install Lua BitOp. The Lua BitOp site has full documentation for all
-<a href="https://bitop.luajit.org/api.html">Lua BitOp API functions</a>.
+<a href="https://bitop.luajit.org/api.html"><span class="ext">»</span> Lua BitOp API functions</a>.
</p>
<p>
Please make sure to <tt>require</tt> the module before using any of
<dt>Q: Where can I learn more about LuaJIT and Lua?</dt>
<dd>
<ul style="padding: 0;">
-<li>The <a href="https://luajit.org/list.html">LuaJIT mailing list</a> focuses on topics
+<li>The <a href="https://luajit.org/list.html"><span class="ext">»</span> LuaJIT mailing list</a> focuses on topics
related to LuaJIT.</li>
<li>The <a href="http://wiki.luajit.org/"><span class="ext">»</span> LuaJIT wiki</a> gathers community
resources about LuaJIT.</li>
<li>News about Lua itself can be found at the
-<a href="https://www.lua.org/lua-l.html">Lua mailing list</a>.
+<a href="https://www.lua.org/lua-l.html"><span class="ext">»</span> Lua mailing list</a>.
The mailing list archives are worth checking out for older postings
about LuaJIT.</li>
-<li>The <a href="https://lua.org">main Lua.org site</a> has complete
-<a href="https://www.lua.org/docs.html">documentation</a> of the language
+<li>The <a href="https://lua.org"><span class="ext">»</span> main Lua.org site</a> has complete
+<a href="https://www.lua.org/docs.html"><span class="ext">»</span> documentation</a> of the language
and links to books and papers about Lua.</li>
<li>The community-managed <a href="http://lua-users.org/wiki/"><span class="ext">»</span> Lua Wiki</a>
has information about diverse topics.</li>
I'm planning to write more documentation about the internals of LuaJIT.
In the meantime, please use the following Google Scholar searches
to find relevant papers:<br>
-Search for: <a href="https://scholar.google.com/scholar?q=Trace+Compiler">Trace Compiler</a><br>
-Search for: <a href="https://scholar.google.com/scholar?q=JIT+Compiler">JIT Compiler</a><br>
-Search for: <a href="https://scholar.google.com/scholar?q=Dynamic+Language+Optimizations">Dynamic Language Optimizations</a><br>
-Search for: <a href="https://scholar.google.com/scholar?q=SSA+Form">SSA Form</a><br>
-Search for: <a href="https://scholar.google.com/scholar?q=Linear+Scan+Register+Allocation">Linear Scan Register Allocation</a><br>
+Search for: <a href="https://scholar.google.com/scholar?q=Trace+Compiler"><span class="ext">»</span> Trace Compiler</a><br>
+Search for: <a href="https://scholar.google.com/scholar?q=JIT+Compiler"><span class="ext">»</span> JIT Compiler</a><br>
+Search for: <a href="https://scholar.google.com/scholar?q=Dynamic+Language+Optimizations"><span class="ext">»</span> Dynamic Language Optimizations</a><br>
+Search for: <a href="https://scholar.google.com/scholar?q=SSA+Form"><span class="ext">»</span> SSA Form</a><br>
+Search for: <a href="https://scholar.google.com/scholar?q=Linear+Scan+Register+Allocation"><span class="ext">»</span> Linear Scan Register Allocation</a><br>
Here is a list of the <a href="http://lua-users.org/lists/lua-l/2009-11/msg00089.html"><span class="ext">»</span> innovative features in LuaJIT</a>.<br>
And, you know, reading the source is of course the only way to enlightenment. :-)
</dd>
<dd>LuaJIT is compatible to the Lua 5.1 language standard. It doesn't
support the implicit <tt>arg</tt> parameter for old-style vararg
functions from Lua 5.0.<br>Please convert your code to the
-<a href="https://www.lua.org/manual/5.1/manual.html#2.5.9">Lua 5.1
+<a href="https://www.lua.org/manual/5.1/manual.html#2.5.9"><span class="ext">»</span> Lua 5.1
vararg syntax</a>.</dd>
</dl>
In general, the only promising approach is to sandbox Lua code at the
process level and not the VM level.<br>
-More reading material at the <a href="http://lua-users.org/wiki/SandBoxes"><span class="ext">»</span> Lua Wiki</a> and <a href="https://en.wikipedia.org/wiki/Sandbox_(computer_security)">Wikipedia</a>.
+More reading material at the <a href="http://lua-users.org/wiki/SandBoxes"><span class="ext">»</span> Lua Wiki</a> and <a href="https://en.wikipedia.org/wiki/Sandbox_(computer_security)"><span class="ext">»</span> Wikipedia</a>.
</dd>
</dl>
<p>
Either install one of the open source SDKs
(<a href="http://mingw.org/"><span class="ext">»</span> MinGW</a> or
-<a href="https://www.cygwin.com/">Cygwin</a>), which come with a modified
+<a href="https://www.cygwin.com/"><span class="ext">»</span> Cygwin</a>), which come with a modified
GCC plus the required development headers.
Or install Microsoft's Visual Studio (MSVC).
</p>
make HOST_CC="gcc -m32" CROSS=mipsel-linux-
</pre>
<p>
-You can cross-compile for <b id="android">Android</b> using the <a href="https://developer.android.com/ndk/">Android NDK</a>.
+You can cross-compile for <b id="android">Android</b> using the <a href="https://developer.android.com/ndk/"><span class="ext">»</span> Android NDK</a>.
Please adapt the environment variables to match the install locations and the
desired target platform. E.g. Android 4.1 corresponds to ABI level 16.
</p>
will not be activated.</li>
<li>The <tt>bit.*</tt> module for bitwise operations
is already built-in. There's no need to statically link
-<a href="https://bitop.luajit.org/">Lua BitOp</a> to your application.</li>
+<a href="https://bitop.luajit.org/"><span class="ext">»</span> Lua BitOp</a> to your application.</li>
</ul>
<h2 id="distro">Hints for Distribution Maintainers</h2>
<div id="main">
<p>
LuaJIT is a <b>Just-In-Time Compiler</b> (JIT) for the
-<a href="https://www.lua.org/">Lua</a> programming language.
+<a href="https://www.lua.org/"><span class="ext">»</span> Lua</a> programming language.
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-2020 Mike Pall, released under the
-<a href="https://www.opensource.org/licenses/mit-license.php">MIT open source license</a>.
+<a href="https://www.opensource.org/licenses/mit-license.php"><span class="ext">»</span> MIT open source license</a>.
</p>
<p>
</p>
version of the regular <tt>lua</tt> stand-alone executable.
It supports the same basic options, too. <tt>luajit -h</tt>
prints a short list of the available options. Please have a look at the
-<a href="https://www.lua.org/manual/5.1/manual.html#6">Lua manual</a>
+<a href="https://www.lua.org/manual/5.1/manual.html#6"><span class="ext">»</span> Lua manual</a>
for details.
</p>
<p>
vernum = 10300,
release = "2011-05-05",
author = "Mike Pall",
- url = "http://luajit.org/dynasm.html",
+ url = "https://luajit.org/dynasm.html",
license = "MIT",
copyright = [[
Copyright (C) 2005-2020 Mike Pall. All rights reserved.
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-[ MIT license: http://www.opensource.org/licenses/mit-license.php ]
+[ MIT license: https://www.opensource.org/licenses/mit-license.php ]
]],
}
.B luajit
[\fIoptions\fR]... [\fIscript\fR [\fIargs\fR]...]
.SH "WEB SITE"
-.IR http://luajit.org
+.IR https://luajit.org
.SH DESCRIPTION
.PP
This is the command-line program to run Lua programs with \fBLuaJIT\fR.
.SH SEE ALSO
.PP
More details in the provided HTML docs or at:
-.IR http://luajit.org
+.IR https://luajit.org
.br
More about the Lua language can be found at:
-.IR http://lua.org/docs.html
+.IR https://lua.org/docs.html
.PP
lua(1)
Name: LuaJIT
Description: Just-in-time compiler for Lua
-URL: http://luajit.org
+URL: https://luajit.org
Version: ${version}
Requires:
Libs: -L${libdir} -l${libname}
lua_gettable(L, LUA_GLOBALSINDEX);
tv = L->top-1;
}
- shortcut = (tvisfunc(tv) && funcV(tv)->c.ffid == FF_tostring)
- && !gcrefu(basemt_it(G(L), LJ_TNUMX));
+ shortcut = (tvisfunc(tv) && funcV(tv)->c.ffid == FF_tostring) &&
+ !gcrefu(basemt_it(G(L), LJ_TNUMX));
for (i = 0; i < nargs; i++) {
const char *str;
size_t size;
**
** This is a version (aka dlmalloc) of malloc/free/realloc written by
** Doug Lea and released to the public domain, as explained at
-** http://creativecommons.org/licenses/publicdomain.
+** https://creativecommons.org/licenses/publicdomain.
**
** * Version pre-2.8.4 Wed Mar 29 19:46:29 2006 (dl at gee)
**
** If you want to use dlmalloc in another project, you should get
** the original from: ftp://gee.cs.oswego.edu/pub/misc/
** For thread-safe derivatives, take a look at:
-** - ptmalloc: http://www.malloc.de/
-** - nedmalloc: http://www.nedprod.com/programs/portable/nedmalloc/
+** - ptmalloc: https://www.malloc.de/
+** - nedmalloc: https://www.nedprod.com/programs/portable/nedmalloc/
*/
#define lj_alloc_c
/*
** $Id: lua.h,v 1.218.1.5 2008/08/06 13:30:12 roberto Exp $
** Lua - An Extensible Extension Language
-** Lua.org, PUC-Rio, Brazil (http://www.lua.org)
+** Lua.org, PUC-Rio, Brazil (https://www.lua.org)
** See Copyright Notice at the end of this file
*/
/*
-** LuaJIT -- a Just-In-Time Compiler for Lua. http://luajit.org/
+** LuaJIT -- a Just-In-Time Compiler for Lua. https://luajit.org/
**
** Copyright (C) 2005-2020 Mike Pall. All rights reserved.
**
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
**
-** [ MIT license: http://www.opensource.org/licenses/mit-license.php ]
+** [ MIT license: https://www.opensource.org/licenses/mit-license.php ]
*/
#ifndef _LUAJIT_H
#define LUAJIT_VERSION_NUM 20005 /* Version 2.0.5 = 02.00.05. */
#define LUAJIT_VERSION_SYM luaJIT_version_2_0_5
#define LUAJIT_COPYRIGHT "Copyright (C) 2005-2020 Mike Pall"
-#define LUAJIT_URL "http://luajit.org/"
+#define LUAJIT_URL "https://luajit.org/"
/* Modes for luaJIT_setmode. */
#define LUAJIT_MODE_MASK 0x00ff