mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-04-20 05:53:26 +00:00
Merge branch 'dontstarve' of https://github.com/fesily/LuaJIT into dontstarve
This commit is contained in:
commit
63d89e7e3e
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/.relver export-subst
|
@ -1,7 +1,7 @@
|
|||||||
===============================================================================
|
===============================================================================
|
||||||
LuaJIT -- a Just-In-Time Compiler for Lua. https://luajit.org/
|
LuaJIT -- a Just-In-Time Compiler for Lua. https://luajit.org/
|
||||||
|
|
||||||
Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
41
Makefile
41
Makefile
@ -10,16 +10,21 @@
|
|||||||
# For MSVC, please follow the instructions given in src/msvcbuild.bat.
|
# 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.
|
# For MinGW and Cygwin, cd to src and run make with the Makefile there.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
# Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
MAJVER= 2
|
MAJVER= 2
|
||||||
MINVER= 1
|
MINVER= 1
|
||||||
RELVER= 0
|
|
||||||
PREREL= -beta3
|
|
||||||
VERSION= $(MAJVER).$(MINVER).$(RELVER)$(PREREL)
|
|
||||||
ABIVER= 5.1
|
ABIVER= 5.1
|
||||||
|
|
||||||
|
# LuaJIT uses rolling releases. The release version is based on the time of
|
||||||
|
# the latest git commit. The 'git' command must be available during the build.
|
||||||
|
RELVER= $(shell cat src/luajit_relver.txt 2>/dev/null || : )
|
||||||
|
# Note: setting it with := doesn't work, since it will change during the build.
|
||||||
|
|
||||||
|
MMVERSION= $(MAJVER).$(MINVER)
|
||||||
|
VERSION= $(MMVERSION).$(RELVER)
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
#
|
#
|
||||||
# Change the installation path as needed. This automatically adjusts
|
# Change the installation path as needed. This automatically adjusts
|
||||||
@ -33,10 +38,10 @@ DPREFIX= $(DESTDIR)$(PREFIX)
|
|||||||
INSTALL_BIN= $(DPREFIX)/bin
|
INSTALL_BIN= $(DPREFIX)/bin
|
||||||
INSTALL_LIB= $(DPREFIX)/$(MULTILIB)
|
INSTALL_LIB= $(DPREFIX)/$(MULTILIB)
|
||||||
INSTALL_SHARE= $(DPREFIX)/share
|
INSTALL_SHARE= $(DPREFIX)/share
|
||||||
INSTALL_DEFINC= $(DPREFIX)/include/luajit-$(MAJVER).$(MINVER)
|
INSTALL_DEFINC= $(DPREFIX)/include/luajit-$(MMVERSION)
|
||||||
INSTALL_INC= $(INSTALL_DEFINC)
|
INSTALL_INC= $(INSTALL_DEFINC)
|
||||||
|
|
||||||
INSTALL_LJLIBD= $(INSTALL_SHARE)/luajit-$(VERSION)
|
INSTALL_LJLIBD= $(INSTALL_SHARE)/luajit-$(MMVERSION)
|
||||||
INSTALL_JITLIB= $(INSTALL_LJLIBD)/jit
|
INSTALL_JITLIB= $(INSTALL_LJLIBD)/jit
|
||||||
INSTALL_LMODD= $(INSTALL_SHARE)/lua
|
INSTALL_LMODD= $(INSTALL_SHARE)/lua
|
||||||
INSTALL_LMOD= $(INSTALL_LMODD)/$(ABIVER)
|
INSTALL_LMOD= $(INSTALL_LMODD)/$(ABIVER)
|
||||||
@ -50,10 +55,10 @@ INSTALL_TSYMNAME= luajit
|
|||||||
INSTALL_ANAME= libluajit-$(ABIVER).a
|
INSTALL_ANAME= libluajit-$(ABIVER).a
|
||||||
INSTALL_SOSHORT1= libluajit-$(ABIVER).so
|
INSTALL_SOSHORT1= libluajit-$(ABIVER).so
|
||||||
INSTALL_SOSHORT2= libluajit-$(ABIVER).so.$(MAJVER)
|
INSTALL_SOSHORT2= libluajit-$(ABIVER).so.$(MAJVER)
|
||||||
INSTALL_SONAME= $(INSTALL_SOSHORT2).$(MINVER).$(RELVER)
|
INSTALL_SONAME= libluajit-$(ABIVER).so.$(VERSION)
|
||||||
INSTALL_DYLIBSHORT1= libluajit-$(ABIVER).dylib
|
INSTALL_DYLIBSHORT1= libluajit-$(ABIVER).dylib
|
||||||
INSTALL_DYLIBSHORT2= libluajit-$(ABIVER).$(MAJVER).dylib
|
INSTALL_DYLIBSHORT2= libluajit-$(ABIVER).$(MAJVER).dylib
|
||||||
INSTALL_DYLIBNAME= libluajit-$(ABIVER).$(MAJVER).$(MINVER).$(RELVER).dylib
|
INSTALL_DYLIBNAME= libluajit-$(ABIVER).$(VERSION).dylib
|
||||||
INSTALL_PCNAME= luajit.pc
|
INSTALL_PCNAME= luajit.pc
|
||||||
|
|
||||||
INSTALL_STATIC= $(INSTALL_LIB)/$(INSTALL_ANAME)
|
INSTALL_STATIC= $(INSTALL_LIB)/$(INSTALL_ANAME)
|
||||||
@ -78,7 +83,8 @@ INSTALL_F= install -m 0644
|
|||||||
UNINSTALL= $(RM)
|
UNINSTALL= $(RM)
|
||||||
LDCONFIG= ldconfig -n 2>/dev/null
|
LDCONFIG= ldconfig -n 2>/dev/null
|
||||||
SED_PC= sed -e "s|^prefix=.*|prefix=$(PREFIX)|" \
|
SED_PC= sed -e "s|^prefix=.*|prefix=$(PREFIX)|" \
|
||||||
-e "s|^multilib=.*|multilib=$(MULTILIB)|"
|
-e "s|^multilib=.*|multilib=$(MULTILIB)|" \
|
||||||
|
-e "s|^relver=.*|relver=$(RELVER)|"
|
||||||
ifneq ($(INSTALL_DEFINC),$(INSTALL_INC))
|
ifneq ($(INSTALL_DEFINC),$(INSTALL_INC))
|
||||||
SED_PC+= -e "s|^includedir=.*|includedir=$(INSTALL_INC)|"
|
SED_PC+= -e "s|^includedir=.*|includedir=$(INSTALL_INC)|"
|
||||||
endif
|
endif
|
||||||
@ -115,9 +121,9 @@ endif
|
|||||||
INSTALL_DEP= src/luajit
|
INSTALL_DEP= src/luajit
|
||||||
|
|
||||||
default all $(INSTALL_DEP):
|
default all $(INSTALL_DEP):
|
||||||
@echo "==== Building LuaJIT $(VERSION) ===="
|
@echo "==== Building LuaJIT $(MMVERSION) ===="
|
||||||
$(MAKE) -C src
|
$(MAKE) -C src
|
||||||
@echo "==== Successfully built LuaJIT $(VERSION) ===="
|
@echo "==== Successfully built LuaJIT $(MMVERSION) ===="
|
||||||
|
|
||||||
install: $(INSTALL_DEP)
|
install: $(INSTALL_DEP)
|
||||||
@echo "==== Installing LuaJIT $(VERSION) to $(PREFIX) ===="
|
@echo "==== Installing LuaJIT $(VERSION) to $(PREFIX) ===="
|
||||||
@ -136,18 +142,12 @@ install: $(INSTALL_DEP)
|
|||||||
$(RM) $(FILE_PC).tmp
|
$(RM) $(FILE_PC).tmp
|
||||||
cd src && $(INSTALL_F) $(FILES_INC) $(INSTALL_INC)
|
cd src && $(INSTALL_F) $(FILES_INC) $(INSTALL_INC)
|
||||||
cd src/jit && $(INSTALL_F) $(FILES_JITLIB) $(INSTALL_JITLIB)
|
cd src/jit && $(INSTALL_F) $(FILES_JITLIB) $(INSTALL_JITLIB)
|
||||||
|
$(SYMLINK) $(INSTALL_TNAME) $(INSTALL_TSYM)
|
||||||
@echo "==== Successfully installed LuaJIT $(VERSION) to $(PREFIX) ===="
|
@echo "==== Successfully installed LuaJIT $(VERSION) to $(PREFIX) ===="
|
||||||
@echo ""
|
|
||||||
@echo "Note: the development releases deliberately do NOT install a symlink for luajit"
|
|
||||||
@echo "You can do this now by running this command (with sudo):"
|
|
||||||
@echo ""
|
|
||||||
@echo " $(SYMLINK) $(INSTALL_TNAME) $(INSTALL_TSYM)"
|
|
||||||
@echo ""
|
|
||||||
|
|
||||||
|
|
||||||
uninstall:
|
uninstall:
|
||||||
@echo "==== Uninstalling LuaJIT $(VERSION) from $(PREFIX) ===="
|
@echo "==== Uninstalling LuaJIT $(VERSION) from $(PREFIX) ===="
|
||||||
$(UNINSTALL) $(INSTALL_T) $(INSTALL_STATIC) $(INSTALL_DYN) $(INSTALL_SHORT1) $(INSTALL_SHORT2) $(INSTALL_MAN)/$(FILE_MAN) $(INSTALL_PC)
|
$(UNINSTALL) $(INSTALL_TSYM) $(INSTALL_T) $(INSTALL_STATIC) $(INSTALL_DYN) $(INSTALL_SHORT1) $(INSTALL_SHORT2) $(INSTALL_MAN)/$(FILE_MAN) $(INSTALL_PC)
|
||||||
for file in $(FILES_JITLIB); do \
|
for file in $(FILES_JITLIB); do \
|
||||||
$(UNINSTALL) $(INSTALL_JITLIB)/$$file; \
|
$(UNINSTALL) $(INSTALL_JITLIB)/$$file; \
|
||||||
done
|
done
|
||||||
@ -161,8 +161,9 @@ uninstall:
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
amalg:
|
amalg:
|
||||||
@echo "Building LuaJIT $(VERSION)"
|
@echo "==== Building LuaJIT $(MMVERSION) (amalgamation) ===="
|
||||||
$(MAKE) -C src amalg
|
$(MAKE) -C src amalg
|
||||||
|
@echo "==== Successfully built LuaJIT $(MMVERSION) (amalgamation) ===="
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(MAKE) -C src clean
|
$(MAKE) -C src clean
|
||||||
|
6
README
6
README
@ -1,11 +1,11 @@
|
|||||||
README for LuaJIT 2.1.0-beta3
|
README for LuaJIT 2.1
|
||||||
-----------------------------
|
---------------------
|
||||||
|
|
||||||
LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language.
|
LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language.
|
||||||
|
|
||||||
Project Homepage: https://luajit.org/
|
Project Homepage: https://luajit.org/
|
||||||
|
|
||||||
LuaJIT is Copyright (C) 2005-2022 Mike Pall.
|
LuaJIT is Copyright (C) 2005-2023 Mike Pall.
|
||||||
LuaJIT is free software, released under the MIT license.
|
LuaJIT is free software, released under the MIT license.
|
||||||
See full Copyright Notice in the COPYRIGHT file or in luajit.h.
|
See full Copyright Notice in the COPYRIGHT file or in luajit.h.
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 2004-2022 Mike Pall.
|
/* Copyright (C) 2004-2023 Mike Pall.
|
||||||
*
|
*
|
||||||
* You are welcome to use the general ideas of this design for your own sites.
|
* 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.
|
* But please do not steal the stylesheet, the layout or the color scheme.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 2004-2022 Mike Pall.
|
/* Copyright (C) 2004-2023 Mike Pall.
|
||||||
*
|
*
|
||||||
* You are welcome to use the general ideas of this design for your own sites.
|
* 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.
|
* But please do not steal the stylesheet, the layout or the color scheme.
|
||||||
@ -206,11 +206,9 @@ img.right {
|
|||||||
.ext {
|
.ext {
|
||||||
color: #ff8000;
|
color: #ff8000;
|
||||||
}
|
}
|
||||||
.new {
|
.note {
|
||||||
font-size: 6pt;
|
padding: 0.5em 1em;
|
||||||
vertical-align: middle;
|
border-left: 3px solid #bfcfff;
|
||||||
background: #ff8000;
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
}
|
||||||
#site {
|
#site {
|
||||||
clear: both;
|
clear: both;
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<title>Contact</title>
|
<title>Contact</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="Copyright" content="Copyright (C) 2005-2022">
|
<meta name="Copyright" content="Copyright (C) 2005-2023">
|
||||||
<meta name="Language" content="en">
|
<meta name="Language" content="en">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
||||||
@ -46,9 +46,9 @@
|
|||||||
<a href="ext_profiler.html">Profiler</a>
|
<a href="ext_profiler.html">Profiler</a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="status.html">Status</a>
|
<a href="https://luajit.org/status.html">Status <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="faq.html">FAQ</a>
|
<a href="https://luajit.org/faq.html">FAQ <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
@ -94,7 +94,7 @@ don't like that, please complain to Google or Microsoft, not me.
|
|||||||
<h2>Copyright</h2>
|
<h2>Copyright</h2>
|
||||||
<p>
|
<p>
|
||||||
All documentation is
|
All documentation is
|
||||||
Copyright © 2005-2022 Mike Pall.
|
Copyright © 2005-2023 Mike Pall.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
@ -102,7 +102,7 @@ Copyright © 2005-2022 Mike Pall.
|
|||||||
</div>
|
</div>
|
||||||
<div id="foot">
|
<div id="foot">
|
||||||
<hr class="hide">
|
<hr class="hide">
|
||||||
Copyright © 2005-2022
|
Copyright © 2005-2023
|
||||||
<span class="noprint">
|
<span class="noprint">
|
||||||
·
|
·
|
||||||
<a href="contact.html">Contact</a>
|
<a href="contact.html">Contact</a>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<title>String Buffer Library</title>
|
<title>String Buffer Library</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="Copyright" content="Copyright (C) 2005-2022">
|
<meta name="Copyright" content="Copyright (C) 2005-2023">
|
||||||
<meta name="Language" content="en">
|
<meta name="Language" content="en">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
||||||
@ -57,9 +57,9 @@
|
|||||||
<a href="ext_profiler.html">Profiler</a>
|
<a href="ext_profiler.html">Profiler</a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="status.html">Status</a>
|
<a href="https://luajit.org/status.html">Status <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="faq.html">FAQ</a>
|
<a href="https://luajit.org/faq.html">FAQ <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
@ -88,12 +88,6 @@ The string buffer library also includes a high-performance
|
|||||||
<a href="serialize">serializer</a> for Lua objects.
|
<a href="serialize">serializer</a> for Lua objects.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h2 id="wip" style="color:#ff0000">Work in Progress</h2>
|
|
||||||
<p>
|
|
||||||
<b style="color:#ff0000">This library is a work in progress. More
|
|
||||||
functionality will be added soon.</b>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<h2 id="use">Using the String Buffer Library</h2>
|
<h2 id="use">Using the String Buffer Library</h2>
|
||||||
<p>
|
<p>
|
||||||
The string buffer library is built into LuaJIT by default, but it's not
|
The string buffer library is built into LuaJIT by default, but it's not
|
||||||
@ -685,7 +679,7 @@ mappings of files are OK, but only if the file does not change.
|
|||||||
</div>
|
</div>
|
||||||
<div id="foot">
|
<div id="foot">
|
||||||
<hr class="hide">
|
<hr class="hide">
|
||||||
Copyright © 2005-2022
|
Copyright © 2005-2023
|
||||||
<span class="noprint">
|
<span class="noprint">
|
||||||
·
|
·
|
||||||
<a href="contact.html">Contact</a>
|
<a href="contact.html">Contact</a>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<title>Lua/C API Extensions</title>
|
<title>Lua/C API Extensions</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="Copyright" content="Copyright (C) 2005-2022">
|
<meta name="Copyright" content="Copyright (C) 2005-2023">
|
||||||
<meta name="Language" content="en">
|
<meta name="Language" content="en">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
||||||
@ -46,9 +46,9 @@
|
|||||||
<a href="ext_profiler.html">Profiler</a>
|
<a href="ext_profiler.html">Profiler</a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="status.html">Status</a>
|
<a href="https://luajit.org/status.html">Status <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="faq.html">FAQ</a>
|
<a href="https://luajit.org/faq.html">FAQ <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
@ -173,7 +173,7 @@ Also note that this mechanism is not without overhead.
|
|||||||
</div>
|
</div>
|
||||||
<div id="foot">
|
<div id="foot">
|
||||||
<hr class="hide">
|
<hr class="hide">
|
||||||
Copyright © 2005-2022
|
Copyright © 2005-2023
|
||||||
<span class="noprint">
|
<span class="noprint">
|
||||||
·
|
·
|
||||||
<a href="contact.html">Contact</a>
|
<a href="contact.html">Contact</a>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<title>FFI Library</title>
|
<title>FFI Library</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="Copyright" content="Copyright (C) 2005-2022">
|
<meta name="Copyright" content="Copyright (C) 2005-2023">
|
||||||
<meta name="Language" content="en">
|
<meta name="Language" content="en">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
||||||
@ -46,9 +46,9 @@
|
|||||||
<a href="ext_profiler.html">Profiler</a>
|
<a href="ext_profiler.html">Profiler</a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="status.html">Status</a>
|
<a href="https://luajit.org/status.html">Status <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="faq.html">FAQ</a>
|
<a href="https://luajit.org/faq.html">FAQ <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
@ -316,7 +316,7 @@ without undue conversion penalties.
|
|||||||
</div>
|
</div>
|
||||||
<div id="foot">
|
<div id="foot">
|
||||||
<hr class="hide">
|
<hr class="hide">
|
||||||
Copyright © 2005-2022
|
Copyright © 2005-2023
|
||||||
<span class="noprint">
|
<span class="noprint">
|
||||||
·
|
·
|
||||||
<a href="contact.html">Contact</a>
|
<a href="contact.html">Contact</a>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<title>ffi.* API Functions</title>
|
<title>ffi.* API Functions</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="Copyright" content="Copyright (C) 2005-2022">
|
<meta name="Copyright" content="Copyright (C) 2005-2023">
|
||||||
<meta name="Language" content="en">
|
<meta name="Language" content="en">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
||||||
@ -51,9 +51,9 @@ td.abiparam { font-weight: bold; width: 6em; }
|
|||||||
<a href="ext_profiler.html">Profiler</a>
|
<a href="ext_profiler.html">Profiler</a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="status.html">Status</a>
|
<a href="https://luajit.org/status.html">Status <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="faq.html">FAQ</a>
|
<a href="https://luajit.org/faq.html">FAQ <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
@ -558,7 +558,7 @@ named <tt>i</tt>.
|
|||||||
</div>
|
</div>
|
||||||
<div id="foot">
|
<div id="foot">
|
||||||
<hr class="hide">
|
<hr class="hide">
|
||||||
Copyright © 2005-2022
|
Copyright © 2005-2023
|
||||||
<span class="noprint">
|
<span class="noprint">
|
||||||
·
|
·
|
||||||
<a href="contact.html">Contact</a>
|
<a href="contact.html">Contact</a>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<title>FFI Semantics</title>
|
<title>FFI Semantics</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="Copyright" content="Copyright (C) 2005-2022">
|
<meta name="Copyright" content="Copyright (C) 2005-2023">
|
||||||
<meta name="Language" content="en">
|
<meta name="Language" content="en">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
||||||
@ -51,9 +51,9 @@ td.convop { font-style: italic; width: 40%; }
|
|||||||
<a href="ext_profiler.html">Profiler</a>
|
<a href="ext_profiler.html">Profiler</a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="status.html">Status</a>
|
<a href="https://luajit.org/status.html">Status <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="faq.html">FAQ</a>
|
<a href="https://luajit.org/faq.html">FAQ <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
@ -1246,7 +1246,7 @@ compiled.</li>
|
|||||||
</div>
|
</div>
|
||||||
<div id="foot">
|
<div id="foot">
|
||||||
<hr class="hide">
|
<hr class="hide">
|
||||||
Copyright © 2005-2022
|
Copyright © 2005-2023
|
||||||
<span class="noprint">
|
<span class="noprint">
|
||||||
·
|
·
|
||||||
<a href="contact.html">Contact</a>
|
<a href="contact.html">Contact</a>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<title>FFI Tutorial</title>
|
<title>FFI Tutorial</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="Copyright" content="Copyright (C) 2005-2022">
|
<meta name="Copyright" content="Copyright (C) 2005-2023">
|
||||||
<meta name="Language" content="en">
|
<meta name="Language" content="en">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
||||||
@ -53,9 +53,9 @@ td.idiomlua b { font-weight: normal; color: #2142bf; }
|
|||||||
<a href="ext_profiler.html">Profiler</a>
|
<a href="ext_profiler.html">Profiler</a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="status.html">Status</a>
|
<a href="https://luajit.org/status.html">Status <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="faq.html">FAQ</a>
|
<a href="https://luajit.org/faq.html">FAQ <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
@ -587,7 +587,7 @@ it to a local variable in the function scope is unnecessary.
|
|||||||
</div>
|
</div>
|
||||||
<div id="foot">
|
<div id="foot">
|
||||||
<hr class="hide">
|
<hr class="hide">
|
||||||
Copyright © 2005-2022
|
Copyright © 2005-2023
|
||||||
<span class="noprint">
|
<span class="noprint">
|
||||||
·
|
·
|
||||||
<a href="contact.html">Contact</a>
|
<a href="contact.html">Contact</a>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<title>jit.* Library</title>
|
<title>jit.* Library</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="Copyright" content="Copyright (C) 2005-2022">
|
<meta name="Copyright" content="Copyright (C) 2005-2023">
|
||||||
<meta name="Language" content="en">
|
<meta name="Language" content="en">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
||||||
@ -46,9 +46,9 @@
|
|||||||
<a href="ext_profiler.html">Profiler</a>
|
<a href="ext_profiler.html">Profiler</a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="status.html">Status</a>
|
<a href="https://luajit.org/status.html">Status <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="faq.html">FAQ</a>
|
<a href="https://luajit.org/faq.html">FAQ <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
@ -135,7 +135,9 @@ Contains the LuaJIT version string.
|
|||||||
<h3 id="jit_version_num"><tt>jit.version_num</tt></h3>
|
<h3 id="jit_version_num"><tt>jit.version_num</tt></h3>
|
||||||
<p>
|
<p>
|
||||||
Contains the version number of the LuaJIT core. Version xx.yy.zz
|
Contains the version number of the LuaJIT core. Version xx.yy.zz
|
||||||
is represented by the decimal number xxyyzz.
|
is represented by the decimal number xxyyzz.<br>
|
||||||
|
<b>DEPRECATED after the switch to
|
||||||
|
<a href="https://luajit.org/status.html#release"><span class="ext">»</span> rolling releases</a>. zz is frozen at 99.</b>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h3 id="jit_os"><tt>jit.os</tt></h3>
|
<h3 id="jit_os"><tt>jit.os</tt></h3>
|
||||||
@ -185,7 +187,7 @@ if you want to know more.
|
|||||||
</div>
|
</div>
|
||||||
<div id="foot">
|
<div id="foot">
|
||||||
<hr class="hide">
|
<hr class="hide">
|
||||||
Copyright © 2005-2022
|
Copyright © 2005-2023
|
||||||
<span class="noprint">
|
<span class="noprint">
|
||||||
·
|
·
|
||||||
<a href="contact.html">Contact</a>
|
<a href="contact.html">Contact</a>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<title>Profiler</title>
|
<title>Profiler</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="Copyright" content="Copyright (C) 2005-2022">
|
<meta name="Copyright" content="Copyright (C) 2005-2023">
|
||||||
<meta name="Language" content="en">
|
<meta name="Language" content="en">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
||||||
@ -46,9 +46,9 @@
|
|||||||
<a class="current" href="ext_profiler.html">Profiler</a>
|
<a class="current" href="ext_profiler.html">Profiler</a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="status.html">Status</a>
|
<a href="https://luajit.org/status.html">Status <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="faq.html">FAQ</a>
|
<a href="https://luajit.org/faq.html">FAQ <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
@ -349,7 +349,7 @@ use.
|
|||||||
</div>
|
</div>
|
||||||
<div id="foot">
|
<div id="foot">
|
||||||
<hr class="hide">
|
<hr class="hide">
|
||||||
Copyright © 2005-2022
|
Copyright © 2005-2023
|
||||||
<span class="noprint">
|
<span class="noprint">
|
||||||
·
|
·
|
||||||
<a href="contact.html">Contact</a>
|
<a href="contact.html">Contact</a>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<title>Extensions</title>
|
<title>Extensions</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="Copyright" content="Copyright (C) 2005-2022">
|
<meta name="Copyright" content="Copyright (C) 2005-2023">
|
||||||
<meta name="Language" content="en">
|
<meta name="Language" content="en">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
||||||
@ -63,14 +63,15 @@ td.excinterop {
|
|||||||
<a href="ext_profiler.html">Profiler</a>
|
<a href="ext_profiler.html">Profiler</a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="status.html">Status</a>
|
<a href="https://luajit.org/status.html">Status <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="faq.html">FAQ</a>
|
<a href="https://luajit.org/faq.html">FAQ <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
</div>
|
</div>
|
||||||
<div id="main">
|
<div id="main">
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
LuaJIT is fully upwards-compatible with Lua 5.1. It supports all
|
LuaJIT is fully upwards-compatible with Lua 5.1. It supports all
|
||||||
<a href="https://www.lua.org/manual/5.1/manual.html#5"><span class="ext">»</span> standard Lua
|
<a href="https://www.lua.org/manual/5.1/manual.html#5"><span class="ext">»</span> standard Lua
|
||||||
@ -462,7 +463,7 @@ C++ destructors.</li>
|
|||||||
</div>
|
</div>
|
||||||
<div id="foot">
|
<div id="foot">
|
||||||
<hr class="hide">
|
<hr class="hide">
|
||||||
Copyright © 2005-2022
|
Copyright © 2005-2023
|
||||||
<span class="noprint">
|
<span class="noprint">
|
||||||
·
|
·
|
||||||
<a href="contact.html">Contact</a>
|
<a href="contact.html">Contact</a>
|
||||||
|
195
doc/faq.html
195
doc/faq.html
@ -1,195 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Frequently Asked Questions (FAQ)</title>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="Copyright" content="Copyright (C) 2005-2022">
|
|
||||||
<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">
|
|
||||||
<style type="text/css">
|
|
||||||
dd { margin-left: 1.5em; }
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="site">
|
|
||||||
<a href="https://luajit.org"><span>Lua<span id="logo">JIT</span></span></a>
|
|
||||||
</div>
|
|
||||||
<div id="head">
|
|
||||||
<h1>Frequently Asked Questions (FAQ)</h1>
|
|
||||||
</div>
|
|
||||||
<div id="nav">
|
|
||||||
<ul><li>
|
|
||||||
<a href="luajit.html">LuaJIT</a>
|
|
||||||
<ul><li>
|
|
||||||
<a href="https://luajit.org/download.html">Download <span class="ext">»</span></a>
|
|
||||||
</li><li>
|
|
||||||
<a href="install.html">Installation</a>
|
|
||||||
</li><li>
|
|
||||||
<a href="running.html">Running</a>
|
|
||||||
</li></ul>
|
|
||||||
</li><li>
|
|
||||||
<a href="extensions.html">Extensions</a>
|
|
||||||
<ul><li>
|
|
||||||
<a href="ext_ffi.html">FFI Library</a>
|
|
||||||
<ul><li>
|
|
||||||
<a href="ext_ffi_tutorial.html">FFI Tutorial</a>
|
|
||||||
</li><li>
|
|
||||||
<a href="ext_ffi_api.html">ffi.* API</a>
|
|
||||||
</li><li>
|
|
||||||
<a href="ext_ffi_semantics.html">FFI Semantics</a>
|
|
||||||
</li></ul>
|
|
||||||
</li><li>
|
|
||||||
<a href="ext_buffer.html">String Buffers</a>
|
|
||||||
</li><li>
|
|
||||||
<a href="ext_jit.html">jit.* Library</a>
|
|
||||||
</li><li>
|
|
||||||
<a href="ext_c_api.html">Lua/C API</a>
|
|
||||||
</li><li>
|
|
||||||
<a href="ext_profiler.html">Profiler</a>
|
|
||||||
</li></ul>
|
|
||||||
</li><li>
|
|
||||||
<a href="status.html">Status</a>
|
|
||||||
</li><li>
|
|
||||||
<a class="current" href="faq.html">FAQ</a>
|
|
||||||
</li><li>
|
|
||||||
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
|
||||||
</li></ul>
|
|
||||||
</div>
|
|
||||||
<div id="main">
|
|
||||||
<dl id="info">
|
|
||||||
<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"><span class="ext">»</span> LuaJIT mailing list</a> focuses on topics
|
|
||||||
related to LuaJIT.</li>
|
|
||||||
<li>News about Lua itself can be found at the
|
|
||||||
<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"><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>
|
|
||||||
</ul></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<dl id="tech">
|
|
||||||
<dt>Q: Where can I learn more about the compiler technology used by LuaJIT?</dt>
|
|
||||||
<dd>
|
|
||||||
Please use the following Google Scholar searches to find relevant papers:<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>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<dl id="arg">
|
|
||||||
<dt>Q: Why do I get this error: "attempt to index global 'arg' (a nil value)"?<br>
|
|
||||||
Q: My vararg functions fail after switching to LuaJIT!</dt>
|
|
||||||
<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"><span class="ext">»</span> Lua 5.1
|
|
||||||
vararg syntax</a>.</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<dl id="x87">
|
|
||||||
<dt>Q: Why do I get this error: "bad FPU precision"?<br>
|
|
||||||
<dt>Q: I get weird behavior after initializing Direct3D.<br>
|
|
||||||
<dt>Q: Some FPU operations crash after I load a Delphi DLL.<br>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
|
|
||||||
DirectX/Direct3D (up to version 9) sets the x87 FPU to single-precision
|
|
||||||
mode by default. This violates the Windows ABI and interferes with the
|
|
||||||
operation of many programs — LuaJIT is affected, too. Please make
|
|
||||||
sure you always use the <tt>D3DCREATE_FPU_PRESERVE</tt> flag when
|
|
||||||
initializing Direct3D.<br>
|
|
||||||
|
|
||||||
Direct3D version 10 or higher do not show this behavior anymore.
|
|
||||||
Consider testing your application with older versions, too.<br>
|
|
||||||
|
|
||||||
Similarly, the Borland/Delphi runtime modifies the FPU control word and
|
|
||||||
enables FP exceptions. Of course, this violates the Windows ABI, too.
|
|
||||||
Please check the Delphi docs for the Set8087CW method.</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<dl id="ctrlc">
|
|
||||||
<dt>Q: Sometimes Ctrl-C fails to stop my Lua program. Why?</dt>
|
|
||||||
<dd>The interrupt signal handler sets a Lua debug hook. But this is
|
|
||||||
ignored by compiled code. If your program is running in a tight loop
|
|
||||||
and never falls back to the interpreter, the debug hook never runs and
|
|
||||||
can't throw the "interrupted!" error.<br>
|
|
||||||
You have to press Ctrl-C twice to stop your program. That's similar
|
|
||||||
to when it's stuck running inside a C function under the Lua interpreter.</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<dl id="order">
|
|
||||||
<dt>Q: Table iteration with <tt>pairs()</tt> does not result in the same order?</dt>
|
|
||||||
<dd>The order of table iteration is explicitly <b>undefined</b> by
|
|
||||||
the Lua language standard.<br>
|
|
||||||
Different Lua implementations or versions may use different orders for
|
|
||||||
otherwise identical tables. Different ways of constructing a table may
|
|
||||||
result in different orders, too.<br>
|
|
||||||
Due to improved VM security, LuaJIT 2.1 may even use a different order
|
|
||||||
on separate VM invocations or when string keys are newly interned.<br><br>
|
|
||||||
If your program relies on a deterministic order, it has a bug. Rewrite it,
|
|
||||||
so it doesn't rely on the key order. Or sort the table keys, if you must.</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<dl id="sandbox">
|
|
||||||
<dt>Q: Can Lua code be safely sandboxed?</dt>
|
|
||||||
<dd>
|
|
||||||
Maybe for an extremely restricted subset of Lua and if you relentlessly
|
|
||||||
scrutinize every single interface function you offer to the untrusted code.<br>
|
|
||||||
|
|
||||||
Although Lua provides some sandboxing functionality (<tt>setfenv()</tt>, hooks),
|
|
||||||
it's very hard to get this right even for the Lua core libraries. Of course,
|
|
||||||
you'll need to inspect any extension library, too. And there are libraries
|
|
||||||
that are inherently unsafe, e.g. the <a href="ext_ffi.html">FFI library</a>.<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)"><span class="ext">»</span> Wikipedia</a>.<br><br>
|
|
||||||
|
|
||||||
Relatedly, <b>loading untrusted bytecode is not safe!</b><br>
|
|
||||||
|
|
||||||
It's trivial to crash the Lua or LuaJIT VM with maliciously crafted bytecode.
|
|
||||||
This is well known and there's no bytecode verification on purpose, so please
|
|
||||||
don't report a bug about it. Check the <tt>mode</tt> parameter for the
|
|
||||||
<tt>load*()</tt> functions to disable loading of bytecode.<br><br>
|
|
||||||
|
|
||||||
<b>In general, the only promising approach is to sandbox Lua code at the
|
|
||||||
process level and not the VM level.</b>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<dl id="arch">
|
|
||||||
<dt>Q: Lua runs everywhere. Why doesn't LuaJIT support my CPU?</dt>
|
|
||||||
<dd>Because it's a compiler — it needs to generate native
|
|
||||||
machine code. This means the code generator must be ported to each
|
|
||||||
architecture. And the fast interpreter is written in assembler and
|
|
||||||
must be ported, too. This is quite an undertaking.<br>
|
|
||||||
The <a href="install.html">install documentation</a> shows the supported
|
|
||||||
architectures.<br>
|
|
||||||
Other architectures may follow based on sufficient user demand and
|
|
||||||
market-relevance of the architecture. Sponsoring is required to develop
|
|
||||||
the port itself, to integrate it and to continuously maintain it in the
|
|
||||||
actively developed branches.</dd>
|
|
||||||
</dl>
|
|
||||||
<br class="flush">
|
|
||||||
</div>
|
|
||||||
<div id="foot">
|
|
||||||
<hr class="hide">
|
|
||||||
Copyright © 2005-2022
|
|
||||||
<span class="noprint">
|
|
||||||
·
|
|
||||||
<a href="contact.html">Contact</a>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
246
doc/install.html
246
doc/install.html
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<title>Installation</title>
|
<title>Installation</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="Copyright" content="Copyright (C) 2005-2022">
|
<meta name="Copyright" content="Copyright (C) 2005-2023">
|
||||||
<meta name="Language" content="en">
|
<meta name="Language" content="en">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
||||||
@ -20,7 +20,7 @@ table.compat tr.compathead td {
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
border-bottom: 2px solid #bfcfff;
|
border-bottom: 2px solid #bfcfff;
|
||||||
}
|
}
|
||||||
td.compatname, td.compatver {
|
td.compatname {
|
||||||
width: 10%;
|
width: 10%;
|
||||||
}
|
}
|
||||||
td.compatbits {
|
td.compatbits {
|
||||||
@ -69,18 +69,18 @@ td.compatx {
|
|||||||
<a href="ext_profiler.html">Profiler</a>
|
<a href="ext_profiler.html">Profiler</a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="status.html">Status</a>
|
<a href="https://luajit.org/status.html">Status <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="faq.html">FAQ</a>
|
<a href="https://luajit.org/faq.html">FAQ <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
</div>
|
</div>
|
||||||
<div id="main">
|
<div id="main">
|
||||||
<p>
|
<p>
|
||||||
LuaJIT is only distributed as a source package. This page explains
|
LuaJIT is only distributed as source code — get it from the
|
||||||
how to build and install LuaJIT with different operating systems
|
<a href="https://luajit.org/download.html"><span class="ext">»</span> git repository</a>. This page explains how to build
|
||||||
and C compilers.
|
and install the LuaJIT binary and library for different operating systems.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
For the impatient (on POSIX systems):
|
For the impatient (on POSIX systems):
|
||||||
@ -90,201 +90,21 @@ make && sudo make install
|
|||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<h2 id="req">Requirements</h2>
|
<h2 id="req">Requirements</h2>
|
||||||
<h3 id="systems">Systems</h3>
|
|
||||||
<p>
|
<p>
|
||||||
LuaJIT currently builds out-of-the box on most systems:
|
LuaJIT currently builds out-of-the box on most systems. Please check the
|
||||||
|
supported operating systems and CPU architectures on the
|
||||||
|
<a href="https://luajit.org/status.html"><span class="ext">»</span> status page</a>.
|
||||||
</p>
|
</p>
|
||||||
<table class="compat">
|
|
||||||
<tr class="compathead">
|
|
||||||
<td class="compatname">OS</td>
|
|
||||||
<td class="compatver">Min. Version</td>
|
|
||||||
<td class="compatx">Requirements</td>
|
|
||||||
<td class="compatx">LuaJIT Versions</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd separate">
|
|
||||||
<td class="compatname"><a href="#windows">Windows</a></td>
|
|
||||||
<td class="compatver">7</td>
|
|
||||||
<td class="compatx">x86 or x64, ARM64: TBA</td>
|
|
||||||
<td class="compatx">v2.0 –</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td class="compatname"><a href="#posix">Linux</a></td>
|
|
||||||
<td class="compatver"> </td>
|
|
||||||
<td class="compatx"> </td>
|
|
||||||
<td class="compatx">v2.0 –</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td class="compatname"><a href="#posix">*BSD</a></td>
|
|
||||||
<td class="compatver"> </td>
|
|
||||||
<td class="compatx"> </td>
|
|
||||||
<td class="compatx">v2.0 –</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td class="compatname"><a href="#posix">macOS (OSX)</a></td>
|
|
||||||
<td class="compatver">10.4</td>
|
|
||||||
<td class="compatx"> </td>
|
|
||||||
<td class="compatx">v2.1 –</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td class="compatname"><a href="#posix">POSIX</a></td>
|
|
||||||
<td class="compatver"> </td>
|
|
||||||
<td class="compatx">mmap, dlopen</td>
|
|
||||||
<td class="compatx">v2.0 –</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even separate">
|
|
||||||
<td class="compatname"><a href="#android">Android</a></td>
|
|
||||||
<td class="compatver">4.0</td>
|
|
||||||
<td class="compatx">Recent Android NDK</td>
|
|
||||||
<td class="compatx">v2.0 –</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td class="compatname"><a href="#ios">iOS</a></td>
|
|
||||||
<td class="compatver">3.0</td>
|
|
||||||
<td class="compatx">Xcode iOS SDK</td>
|
|
||||||
<td class="compatx">v2.1 –</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even separate">
|
|
||||||
<td class="compatname"><a href="#consoles">PS3</a></td>
|
|
||||||
<td class="compatver"> </td>
|
|
||||||
<td class="compatx">PS3 SDK</td>
|
|
||||||
<td class="compatx">v2.0 – v2.1 EOL</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td class="compatname"><a href="#consoles">PS4</a></td>
|
|
||||||
<td class="compatver"> </td>
|
|
||||||
<td class="compatx">PS4 SDK (ORBIS)</td>
|
|
||||||
<td class="compatx">v2.0 –</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td class="compatname"><a href="#consoles">PS5</a></td>
|
|
||||||
<td class="compatver"> </td>
|
|
||||||
<td class="compatx">PS5 SDK (PROSPERO)</td>
|
|
||||||
<td class="compatx">v2.1 –</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td class="compatname"><a href="#consoles">PS Vita</a></td>
|
|
||||||
<td class="compatver"> </td>
|
|
||||||
<td class="compatx">PS Vita SDK (PSP2)</td>
|
|
||||||
<td class="compatx">v2.0 – v2.1 EOL</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td class="compatname"><a href="#consoles">Xbox 360</a></td>
|
|
||||||
<td class="compatver"> </td>
|
|
||||||
<td class="compatx">Xbox 360 SDK (XEDK)</td>
|
|
||||||
<td class="compatx">v2.0 – v2.1 EOL</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td class="compatname"><a href="#consoles">Xbox One</a></td>
|
|
||||||
<td class="compatver"> </td>
|
|
||||||
<td class="compatx">Xbox One SDK (DURANGO)</td>
|
|
||||||
<td class="compatx">v2.1 –</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td class="compatname"><a href="#consoles">Nintendo Switch</a></td>
|
|
||||||
<td class="compatver"> </td>
|
|
||||||
<td class="compatx">NintendoSDK + NX Addon</td>
|
|
||||||
<td class="compatx">v2.1 –</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<p>
|
|
||||||
The codebase has compatibility defines for some more systems, but
|
|
||||||
without official support.
|
|
||||||
</p>
|
|
||||||
<h3 id="toolchains">Toolchains</h3>
|
|
||||||
<p>
|
<p>
|
||||||
Building LuaJIT requires a recent toolchain based on GCC, Clang/LLVM or
|
Building LuaJIT requires a recent toolchain based on GCC, Clang/LLVM or
|
||||||
MSVC++.
|
MSVC++.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
The Makefile-based build system requires GNU Make and supports
|
The Makefile-based build system requires GNU Make and supports
|
||||||
cross-builds. Batch files are provided for MSVC++ builds and console
|
|
||||||
cross-builds.
|
cross-builds.
|
||||||
</p>
|
</p>
|
||||||
<h3 id="architectures">CPU Architectures</h3>
|
|
||||||
<table class="compat">
|
|
||||||
<tr class="compathead">
|
|
||||||
<td class="compatname">CPU</td>
|
|
||||||
<td class="compatbits">Bits</td>
|
|
||||||
<td class="compatx">Requirements</td>
|
|
||||||
<td class="compatx">Variants</td>
|
|
||||||
<td class="compatx">LuaJIT Versions</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd separate">
|
|
||||||
<td class="compatname">x86</td>
|
|
||||||
<td class="compatbits">32</td>
|
|
||||||
<td class="compatx">v2.1+: SSE2</td>
|
|
||||||
<td class="compatx"> </td>
|
|
||||||
<td class="compatx">v2.0 –</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td class="compatname">x64</td>
|
|
||||||
<td class="compatbits">64</td>
|
|
||||||
<td class="compatx"> </td>
|
|
||||||
<td class="compatx"> </td>
|
|
||||||
<td class="compatx">v2.0 –</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td class="compatname">ARM</td>
|
|
||||||
<td class="compatbits">32</td>
|
|
||||||
<td class="compatx">ARMv5+, ARM9E+</td>
|
|
||||||
<td class="compatx">hard-fp + soft-fp</td>
|
|
||||||
<td class="compatx">v2.0 –</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td class="compatname">ARM64</td>
|
|
||||||
<td class="compatbits">64</td>
|
|
||||||
<td class="compatx"> </td>
|
|
||||||
<td class="compatx">ARM64le + ARM64be</td>
|
|
||||||
<td class="compatx">v2.1 –</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td class="compatname">PPC32</td>
|
|
||||||
<td class="compatbits">32</td>
|
|
||||||
<td class="compatx"> </td>
|
|
||||||
<td class="compatx">hard-fp + soft-fp</td>
|
|
||||||
<td class="compatx">v2.0 – v2.1 EOL</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td class="compatname">PPC/e500</td>
|
|
||||||
<td class="compatbits">32</td>
|
|
||||||
<td class="compatx">e500v2</td>
|
|
||||||
<td class="compatx"> </td>
|
|
||||||
<td class="compatx">v2.0 EOL</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td class="compatname">MIPS32</td>
|
|
||||||
<td class="compatbits">32</td>
|
|
||||||
<td class="compatx">MIPS32r1 – r5</td>
|
|
||||||
<td class="compatx">hard-fp + soft-fp</td>
|
|
||||||
<td class="compatx">v2.0 –</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td class="compatname">MIPS64</td>
|
|
||||||
<td class="compatbits">64</td>
|
|
||||||
<td class="compatx">MIPS64r1 – r5</td>
|
|
||||||
<td class="compatx">hard-fp + soft-fp</td>
|
|
||||||
<td class="compatx">v2.1 –</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td class="compatname">MIPS64</td>
|
|
||||||
<td class="compatbits">64</td>
|
|
||||||
<td class="compatx">MIPS64r6</td>
|
|
||||||
<td class="compatx">hard-fp + soft-fp</td>
|
|
||||||
<td class="compatx">v2.1 EOL</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td class="compatname">RISC-V</td>
|
|
||||||
<td class="compatbits">64</td>
|
|
||||||
<td class="compatx">RVA22+</td>
|
|
||||||
<td class="compatx"> </td>
|
|
||||||
<td class="compatx">TBA</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<p>
|
<p>
|
||||||
There are no plans to add historic architectures or to continue support
|
Batch files are provided for MSVC++ builds and console cross-builds.
|
||||||
for end-of-life (EOL) architectures, for which no new CPUs are commonly
|
|
||||||
available anymore. Likewise, there are no plans to support marginal
|
|
||||||
and/or de-facto-dead architectures.
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h2>Configuring LuaJIT</h2>
|
<h2>Configuring LuaJIT</h2>
|
||||||
@ -294,7 +114,6 @@ Usually there is no need to tweak the settings. The following files
|
|||||||
hold all user-configurable settings:
|
hold all user-configurable settings:
|
||||||
</p>
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><tt>src/luaconf.h</tt> sets some configuration variables.</li>
|
|
||||||
<li><tt>Makefile</tt> has settings for <b>installing</b> LuaJIT (POSIX
|
<li><tt>Makefile</tt> has settings for <b>installing</b> LuaJIT (POSIX
|
||||||
only).</li>
|
only).</li>
|
||||||
<li><tt>src/Makefile</tt> has settings for <b>compiling</b> LuaJIT
|
<li><tt>src/Makefile</tt> has settings for <b>compiling</b> LuaJIT
|
||||||
@ -317,23 +136,11 @@ Please check the note about the
|
|||||||
<h2 id="posix">POSIX Systems (Linux, macOS, *BSD etc.)</h2>
|
<h2 id="posix">POSIX Systems (Linux, macOS, *BSD etc.)</h2>
|
||||||
<h3>Prerequisites</h3>
|
<h3>Prerequisites</h3>
|
||||||
<p>
|
<p>
|
||||||
Depending on your distribution, you may need to install a package for
|
Depending on your distribution, you may need to install a package for a
|
||||||
GCC, the development headers and/or a complete SDK. E.g. on a current
|
compiler (GCC or Clang/LLVM), the development headers and/or a complete SDK.
|
||||||
Debian/Ubuntu, install <tt>libc6-dev</tt> with the package manager.
|
E.g. on a current Debian/Ubuntu, install <tt>build-essential</tt> with the
|
||||||
|
package manager.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
|
||||||
The recommended way to fetch the latest version is to do a pull from
|
|
||||||
the git repository.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Alternatively, download the latest source package of LuaJIT (pick the .tar.gz).
|
|
||||||
Move it to a directory of your choice, open a terminal window and change
|
|
||||||
to this directory. Now unpack the archive and change to the newly created
|
|
||||||
directory (replace XX.YY.ZZ with the version you downloaded):
|
|
||||||
</p>
|
|
||||||
<pre class="code">
|
|
||||||
tar zxf LuaJIT-XX.YY.ZZ.tar.gz
|
|
||||||
cd LuaJIT-XX.YY.ZZ
|
|
||||||
</pre>
|
</pre>
|
||||||
<h3>Building LuaJIT</h3>
|
<h3>Building LuaJIT</h3>
|
||||||
<p>
|
<p>
|
||||||
@ -394,15 +201,10 @@ Either install one of the open source SDKs
|
|||||||
GCC plus the required development headers.
|
GCC plus the required development headers.
|
||||||
Or install Microsoft's Visual Studio (MSVC).
|
Or install Microsoft's Visual Studio (MSVC).
|
||||||
</p>
|
</p>
|
||||||
<p>
|
|
||||||
Next, pull from the git repository or download the source package and
|
|
||||||
unpack it using an archive manager (e.g. the Windows Explorer) to
|
|
||||||
a directory of your choice.
|
|
||||||
</p>
|
|
||||||
<h3>Building with MSVC</h3>
|
<h3>Building with MSVC</h3>
|
||||||
<p>
|
<p>
|
||||||
Open a "Visual Studio Command Prompt" (either x86 or x64), <tt>cd</tt> to the
|
Open a "Visual Studio Command Prompt" (either x86 or x64), <tt>cd</tt> to the
|
||||||
directory where you've unpacked the sources and run these commands:
|
directory with the source code and run these commands:
|
||||||
</p>
|
</p>
|
||||||
<pre class="code">
|
<pre class="code">
|
||||||
cd src
|
cd src
|
||||||
@ -415,8 +217,8 @@ Then follow the installation instructions below.
|
|||||||
<h3>Building with MinGW or Cygwin</h3>
|
<h3>Building with MinGW or Cygwin</h3>
|
||||||
<p>
|
<p>
|
||||||
Open a command prompt window and make sure the MinGW or Cygwin programs
|
Open a command prompt window and make sure the MinGW or Cygwin programs
|
||||||
are in your path. Then <tt>cd</tt> to the directory of the git repository
|
are in your path. Then <tt>cd</tt> to the directory of the git repository.
|
||||||
or where you've unpacked the sources. Then run this command for MinGW:
|
Then run this command for MinGW:
|
||||||
</p>
|
</p>
|
||||||
<pre class="code">
|
<pre class="code">
|
||||||
mingw32-make
|
mingw32-make
|
||||||
@ -518,15 +320,15 @@ make HOST_CC="gcc -m32" CROSS=arm-linux-gnueabi- \
|
|||||||
make HOST_CC="gcc -m32" CROSS=arm-linux-gnueabihf-
|
make HOST_CC="gcc -m32" CROSS=arm-linux-gnueabihf-
|
||||||
|
|
||||||
# ARM64
|
# ARM64
|
||||||
make CROSS=aarch64-linux-
|
make CROSS=aarch64-linux-gnu-
|
||||||
|
|
||||||
# PPC
|
# PPC
|
||||||
make HOST_CC="gcc -m32" CROSS=powerpc-linux-gnu-
|
make HOST_CC="gcc -m32" CROSS=powerpc-linux-gnu-
|
||||||
|
|
||||||
# MIPS32 big-endian
|
# MIPS32 big-endian
|
||||||
make HOST_CC="gcc -m32" CROSS=mips-linux-
|
make HOST_CC="gcc -m32" CROSS=mips-linux-gnu-
|
||||||
# MIPS32 little-endian
|
# MIPS32 little-endian
|
||||||
make HOST_CC="gcc -m32" CROSS=mipsel-linux-
|
make HOST_CC="gcc -m32" CROSS=mipsel-linux-gnu-
|
||||||
|
|
||||||
# MIPS64 big-endian
|
# MIPS64 big-endian
|
||||||
make CROSS=mips-linux- TARGET_CFLAGS="-mips64r2 -mabi=64"
|
make CROSS=mips-linux- TARGET_CFLAGS="-mips64r2 -mabi=64"
|
||||||
@ -605,8 +407,8 @@ make HOST_CC="gcc -m32" CROSS=ppu-lv2-
|
|||||||
To cross-compile for the other consoles from a Windows host, open a
|
To cross-compile for the other consoles from a Windows host, open a
|
||||||
"Native Tools Command Prompt for VS". You need to choose either the 32
|
"Native Tools Command Prompt for VS". You need to choose either the 32
|
||||||
or the 64 bit version of the host compiler to match the target.
|
or the 64 bit version of the host compiler to match the target.
|
||||||
Then <tt>cd</tt> to the <tt>src</tt> directory below where you've
|
Then <tt>cd</tt> to the <tt>src</tt> directory below the source code
|
||||||
unpacked the sources and run the build command given in the table:
|
and run the build command given in the table:
|
||||||
</p>
|
</p>
|
||||||
<table class="compat">
|
<table class="compat">
|
||||||
<tr class="compathead">
|
<tr class="compathead">
|
||||||
@ -766,7 +568,7 @@ to me (the upstream) and not you (the package maintainer), anyway.
|
|||||||
</div>
|
</div>
|
||||||
<div id="foot">
|
<div id="foot">
|
||||||
<hr class="hide">
|
<hr class="hide">
|
||||||
Copyright © 2005-2022
|
Copyright © 2005-2023
|
||||||
<span class="noprint">
|
<span class="noprint">
|
||||||
·
|
·
|
||||||
<a href="contact.html">Contact</a>
|
<a href="contact.html">Contact</a>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<title>LuaJIT</title>
|
<title>LuaJIT</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="Copyright" content="Copyright (C) 2005-2022">
|
<meta name="Copyright" content="Copyright (C) 2005-2023">
|
||||||
<meta name="Language" content="en">
|
<meta name="Language" content="en">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
||||||
@ -67,30 +67,6 @@ table.fcompat td {
|
|||||||
background-image: -o-linear-gradient(#41bfbf 10%, #b0ffff 95%);
|
background-image: -o-linear-gradient(#41bfbf 10%, #b0ffff 95%);
|
||||||
background-image: -ms-linear-gradient(#41bfbf 10%, #b0ffff 95%);
|
background-image: -ms-linear-gradient(#41bfbf 10%, #b0ffff 95%);
|
||||||
}
|
}
|
||||||
table.stats td {
|
|
||||||
color: #ffffff;
|
|
||||||
background: #a0a0a0;
|
|
||||||
background-image: linear-gradient(#808080 10%, #d0d0d0 95%);
|
|
||||||
background-image: -moz-linear-gradient(#808080 10%, #d0d0d0 95%);
|
|
||||||
background-image: -webkit-linear-gradient(#808080 10%, #d0d0d0 95%);
|
|
||||||
background-image: -o-linear-gradient(#808080 10%, #d0d0d0 95%);
|
|
||||||
background-image: -ms-linear-gradient(#808080 10%, #d0d0d0 95%);
|
|
||||||
}
|
|
||||||
table.stats td.speed {
|
|
||||||
color: #ff4020;
|
|
||||||
}
|
|
||||||
table.stats td.kb {
|
|
||||||
color: #ffff80;
|
|
||||||
background: #808080;
|
|
||||||
background-image: linear-gradient(#606060 10%, #c0c0c0 95%);
|
|
||||||
background-image: -moz-linear-gradient(#606060 10%, #c0c0c0 95%);
|
|
||||||
background-image: -webkit-linear-gradient(#606060 10%, #c0c0c0 95%);
|
|
||||||
background-image: -o-linear-gradient(#606060 10%, #c0c0c0 95%);
|
|
||||||
background-image: -ms-linear-gradient(#606060 10%, #c0c0c0 95%);
|
|
||||||
}
|
|
||||||
table.feature small {
|
|
||||||
font-size: 50%;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@ -131,9 +107,9 @@ table.feature small {
|
|||||||
<a href="ext_profiler.html">Profiler</a>
|
<a href="ext_profiler.html">Profiler</a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="status.html">Status</a>
|
<a href="https://luajit.org/status.html">Status <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="faq.html">FAQ</a>
|
<a href="https://luajit.org/faq.html">FAQ <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
@ -146,7 +122,7 @@ Lua is a powerful, dynamic and light-weight programming language.
|
|||||||
It may be embedded or used as a general-purpose, stand-alone language.
|
It may be embedded or used as a general-purpose, stand-alone language.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
LuaJIT is Copyright © 2005-2022 Mike Pall, released under the
|
LuaJIT is Copyright © 2005-2023 Mike Pall, released under the
|
||||||
<a href="https://www.opensource.org/licenses/mit-license.php"><span class="ext">»</span> 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>
|
<p>
|
||||||
@ -173,23 +149,20 @@ LuaJIT is Copyright © 2005-2022 Mike Pall, released under the
|
|||||||
</table>
|
</table>
|
||||||
|
|
||||||
<h2>Overview</h2>
|
<h2>Overview</h2>
|
||||||
<table class="feature stats">
|
|
||||||
<tr>
|
|
||||||
<td class="speed">3x<br>- 100x</td>
|
|
||||||
<td class="kb">115 <small>KB</small><br>VM</td>
|
|
||||||
<td class="kb">90 <small>KB</small><br>JIT</td>
|
|
||||||
<td class="kloc">63 <small>KLOC</small><br>C</td>
|
|
||||||
<td class="kloc">24 <small>KLOC</small><br>ASM</td>
|
|
||||||
<td class="kloc">11 <small>KLOC</small><br>Lua</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<p style="margin-top: 1em;">
|
<p style="margin-top: 1em;">
|
||||||
LuaJIT has been successfully used as a <b>scripting middleware</b> in
|
LuaJIT has been successfully used as a <b>scripting middleware</b> in
|
||||||
games, appliances, network and graphics apps, numerical simulations,
|
games, appliances, network and graphics apps, numerical simulations,
|
||||||
trading platforms and many other specialty applications. It scales from
|
trading platforms and many other specialty applications.
|
||||||
embedded devices, smartphones, desktops up to server farms. It combines
|
</p>
|
||||||
high flexibility with high performance
|
<p>
|
||||||
and an unmatched <b>low memory footprint</b>.
|
LuaJIT is part of a hundred million web sites, huge SaaS installations,
|
||||||
|
network switches, set-top boxes and other embedded devices. You've probably
|
||||||
|
already used LuaJIT without knowing about it.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
LuaJIT scales from embedded devices, smartphones, desktops up to server
|
||||||
|
farms. It combines high flexibility with high performance and an unmatched
|
||||||
|
<b>low memory footprint</b>.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
LuaJIT has been in continuous development since 2005. It's widely
|
LuaJIT has been in continuous development since 2005. It's widely
|
||||||
@ -220,7 +193,7 @@ Please select a sub-topic in the navigation bar to learn more about LuaJIT.
|
|||||||
</div>
|
</div>
|
||||||
<div id="foot">
|
<div id="foot">
|
||||||
<hr class="hide">
|
<hr class="hide">
|
||||||
Copyright © 2005-2022
|
Copyright © 2005-2023
|
||||||
<span class="noprint">
|
<span class="noprint">
|
||||||
·
|
·
|
||||||
<a href="contact.html">Contact</a>
|
<a href="contact.html">Contact</a>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<title>Running LuaJIT</title>
|
<title>Running LuaJIT</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="Copyright" content="Copyright (C) 2005-2022">
|
<meta name="Copyright" content="Copyright (C) 2005-2023">
|
||||||
<meta name="Language" content="en">
|
<meta name="Language" content="en">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
<link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
|
||||||
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
<link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
|
||||||
@ -68,14 +68,15 @@ td.param_default {
|
|||||||
<a href="ext_profiler.html">Profiler</a>
|
<a href="ext_profiler.html">Profiler</a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="status.html">Status</a>
|
<a href="https://luajit.org/status.html">Status <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="faq.html">FAQ</a>
|
<a href="https://luajit.org/faq.html">FAQ <span class="ext">»</span></a>
|
||||||
</li><li>
|
</li><li>
|
||||||
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
</div>
|
</div>
|
||||||
<div id="main">
|
<div id="main">
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
LuaJIT has only a single stand-alone executable, called <tt>luajit</tt> on
|
LuaJIT has only a single stand-alone executable, called <tt>luajit</tt> on
|
||||||
POSIX systems or <tt>luajit.exe</tt> on Windows. It can be used to run simple
|
POSIX systems or <tt>luajit.exe</tt> on Windows. It can be used to run simple
|
||||||
@ -302,7 +303,7 @@ Here are the parameters and their default settings:
|
|||||||
</div>
|
</div>
|
||||||
<div id="foot">
|
<div id="foot">
|
||||||
<hr class="hide">
|
<hr class="hide">
|
||||||
Copyright © 2005-2022
|
Copyright © 2005-2023
|
||||||
<span class="noprint">
|
<span class="noprint">
|
||||||
·
|
·
|
||||||
<a href="contact.html">Contact</a>
|
<a href="contact.html">Contact</a>
|
||||||
|
105
doc/status.html
105
doc/status.html
@ -1,105 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Status</title>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="Copyright" content="Copyright (C) 2005-2022">
|
|
||||||
<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">
|
|
||||||
<style type="text/css">
|
|
||||||
ul li { padding-bottom: 0.3em; }
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="site">
|
|
||||||
<a href="https://luajit.org"><span>Lua<span id="logo">JIT</span></span></a>
|
|
||||||
</div>
|
|
||||||
<div id="head">
|
|
||||||
<h1>Status</h1>
|
|
||||||
</div>
|
|
||||||
<div id="nav">
|
|
||||||
<ul><li>
|
|
||||||
<a href="luajit.html">LuaJIT</a>
|
|
||||||
<ul><li>
|
|
||||||
<a href="https://luajit.org/download.html">Download <span class="ext">»</span></a>
|
|
||||||
</li><li>
|
|
||||||
<a href="install.html">Installation</a>
|
|
||||||
</li><li>
|
|
||||||
<a href="running.html">Running</a>
|
|
||||||
</li></ul>
|
|
||||||
</li><li>
|
|
||||||
<a href="extensions.html">Extensions</a>
|
|
||||||
<ul><li>
|
|
||||||
<a href="ext_ffi.html">FFI Library</a>
|
|
||||||
<ul><li>
|
|
||||||
<a href="ext_ffi_tutorial.html">FFI Tutorial</a>
|
|
||||||
</li><li>
|
|
||||||
<a href="ext_ffi_api.html">ffi.* API</a>
|
|
||||||
</li><li>
|
|
||||||
<a href="ext_ffi_semantics.html">FFI Semantics</a>
|
|
||||||
</li></ul>
|
|
||||||
</li><li>
|
|
||||||
<a href="ext_buffer.html">String Buffers</a>
|
|
||||||
</li><li>
|
|
||||||
<a href="ext_jit.html">jit.* Library</a>
|
|
||||||
</li><li>
|
|
||||||
<a href="ext_c_api.html">Lua/C API</a>
|
|
||||||
</li><li>
|
|
||||||
<a href="ext_profiler.html">Profiler</a>
|
|
||||||
</li></ul>
|
|
||||||
</li><li>
|
|
||||||
<a class="current" href="status.html">Status</a>
|
|
||||||
</li><li>
|
|
||||||
<a href="faq.html">FAQ</a>
|
|
||||||
</li><li>
|
|
||||||
<a href="https://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
|
||||||
</li></ul>
|
|
||||||
</div>
|
|
||||||
<div id="main">
|
|
||||||
<p>
|
|
||||||
This documentation is for LuaJIT 2.1.0-beta3. Please check the <tt>doc</tt>
|
|
||||||
directory in each git branch for the version-specific documentation.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
The currently developed branches are LuaJIT 2.1 and LuaJIT 2.0.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
LuaJIT 2.0 is in feature-freeze — new features will only
|
|
||||||
be added to LuaJIT 2.1.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<h2>Current Status</h2>
|
|
||||||
<p>
|
|
||||||
LuaJIT ought to run all Lua 5.1-compatible source code just fine.
|
|
||||||
It's considered a serious bug if the VM crashes or produces unexpected
|
|
||||||
results — please report this.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Known incompatibilities and issues in LuaJIT 2.0:
|
|
||||||
</p>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
There are some differences in <b>implementation-defined</b> behavior.
|
|
||||||
These either have a good reason, are arbitrary design choices,
|
|
||||||
or are due to quirks in the VM. The latter cases may get fixed if a
|
|
||||||
demonstrable need is shown.
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
The Lua <b>debug API</b> is missing a couple of features (return
|
|
||||||
hooks for non-Lua functions) and shows slightly different behavior
|
|
||||||
in LuaJIT (no per-coroutine hooks, no tail call counting).
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<br class="flush">
|
|
||||||
</div>
|
|
||||||
<div id="foot">
|
|
||||||
<hr class="hide">
|
|
||||||
Copyright © 2005-2022
|
|
||||||
<span class="noprint">
|
|
||||||
·
|
|
||||||
<a href="contact.html">Contact</a>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** DynASM ARM encoding engine.
|
** DynASM ARM encoding engine.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
** Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
** Released under the MIT license. See dynasm.lua for full copyright notice.
|
** Released under the MIT license. See dynasm.lua for full copyright notice.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
-- DynASM ARM module.
|
-- DynASM ARM module.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- See dynasm.lua for full copyright notice.
|
-- See dynasm.lua for full copyright notice.
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** DynASM ARM64 encoding engine.
|
** DynASM ARM64 encoding engine.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
** Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
** Released under the MIT license. See dynasm.lua for full copyright notice.
|
** Released under the MIT license. See dynasm.lua for full copyright notice.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
-- DynASM ARM64 module.
|
-- DynASM ARM64 module.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- See dynasm.lua for full copyright notice.
|
-- See dynasm.lua for full copyright notice.
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** DynASM MIPS encoding engine.
|
** DynASM MIPS encoding engine.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
** Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
** Released under the MIT license. See dynasm.lua for full copyright notice.
|
** Released under the MIT license. See dynasm.lua for full copyright notice.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
-- DynASM MIPS32/MIPS64 module.
|
-- DynASM MIPS32/MIPS64 module.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- See dynasm.lua for full copyright notice.
|
-- See dynasm.lua for full copyright notice.
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
-- DynASM MIPS64 module.
|
-- DynASM MIPS64 module.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- See dynasm.lua for full copyright notice.
|
-- See dynasm.lua for full copyright notice.
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
-- This module just sets 64 bit mode for the combined MIPS/MIPS64 module.
|
-- This module just sets 64 bit mode for the combined MIPS/MIPS64 module.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** DynASM PPC/PPC64 encoding engine.
|
** DynASM PPC/PPC64 encoding engine.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
** Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
** Released under the MIT license. See dynasm.lua for full copyright notice.
|
** Released under the MIT license. See dynasm.lua for full copyright notice.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
-- DynASM PPC/PPC64 module.
|
-- DynASM PPC/PPC64 module.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- See dynasm.lua for full copyright notice.
|
-- See dynasm.lua for full copyright notice.
|
||||||
--
|
--
|
||||||
-- Support for various extensions contributed by Caio Souza Oliveira.
|
-- Support for various extensions contributed by Caio Souza Oliveira.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** DynASM encoding engine prototypes.
|
** DynASM encoding engine prototypes.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
** Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
** Released under the MIT license. See dynasm.lua for full copyright notice.
|
** Released under the MIT license. See dynasm.lua for full copyright notice.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
-- DynASM x64 module.
|
-- DynASM x64 module.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- See dynasm.lua for full copyright notice.
|
-- See dynasm.lua for full copyright notice.
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
-- This module just sets 64 bit mode for the combined x86/x64 module.
|
-- This module just sets 64 bit mode for the combined x86/x64 module.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** DynASM x86 encoding engine.
|
** DynASM x86 encoding engine.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
** Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
** Released under the MIT license. See dynasm.lua for full copyright notice.
|
** Released under the MIT license. See dynasm.lua for full copyright notice.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
-- DynASM x86/x64 module.
|
-- DynASM x86/x64 module.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- See dynasm.lua for full copyright notice.
|
-- See dynasm.lua for full copyright notice.
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
-- DynASM. A dynamic assembler for code generation engines.
|
-- DynASM. A dynamic assembler for code generation engines.
|
||||||
-- Originally designed and implemented for LuaJIT.
|
-- Originally designed and implemented for LuaJIT.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- See below for full copyright notice.
|
-- See below for full copyright notice.
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -17,7 +17,7 @@ local _info = {
|
|||||||
url = "https://luajit.org/dynasm.html",
|
url = "https://luajit.org/dynasm.html",
|
||||||
license = "MIT",
|
license = "MIT",
|
||||||
copyright = [[
|
copyright = [[
|
||||||
Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
a copy of this software and associated documentation files (the
|
a copy of this software and associated documentation files (the
|
||||||
|
@ -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.
|
Runs some nested loops and shows the resulting traces.
|
||||||
.SH COPYRIGHT
|
.SH COPYRIGHT
|
||||||
.PP
|
.PP
|
||||||
\fBLuaJIT\fR is Copyright \(co 2005-2022 Mike Pall.
|
\fBLuaJIT\fR is Copyright \(co 2005-2023 Mike Pall.
|
||||||
.br
|
.br
|
||||||
\fBLuaJIT\fR is open source software, released under the MIT license.
|
\fBLuaJIT\fR is open source software, released under the MIT license.
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# Package information for LuaJIT to be used by pkg-config.
|
# Package information for LuaJIT to be used by pkg-config.
|
||||||
majver=2
|
majver=2
|
||||||
minver=1
|
minver=1
|
||||||
relver=0
|
relver=ROLLING
|
||||||
version=${majver}.${minver}.${relver}-beta3
|
version=${majver}.${minver}.${relver}
|
||||||
abiver=5.1
|
abiver=5.1
|
||||||
|
|
||||||
prefix=/usr/local
|
prefix=/usr/local
|
||||||
|
2
src/.gitignore
vendored
2
src/.gitignore
vendored
@ -1,4 +1,6 @@
|
|||||||
luajit
|
luajit
|
||||||
|
luajit.h
|
||||||
|
luajit_relver.txt
|
||||||
lj_bcdef.h
|
lj_bcdef.h
|
||||||
lj_ffdef.h
|
lj_ffdef.h
|
||||||
lj_libdef.h
|
lj_libdef.h
|
||||||
|
25
src/Makefile
25
src/Makefile
@ -7,12 +7,11 @@
|
|||||||
# Also works with MinGW and Cygwin on Windows.
|
# Also works with MinGW and Cygwin on Windows.
|
||||||
# Please check msvcbuild.bat for building with MSVC on Windows.
|
# Please check msvcbuild.bat for building with MSVC on Windows.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
# Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
MAJVER= 2
|
MAJVER= 2
|
||||||
MINVER= 1
|
MINVER= 1
|
||||||
RELVER= 0
|
|
||||||
ABIVER= 5.1
|
ABIVER= 5.1
|
||||||
NODOTABIVER= 51
|
NODOTABIVER= 51
|
||||||
|
|
||||||
@ -323,13 +322,13 @@ ifeq (Darwin,$(TARGET_SYS))
|
|||||||
TARGET_XCFLAGS+= -DLUAJIT_UNWIND_EXTERNAL
|
TARGET_XCFLAGS+= -DLUAJIT_UNWIND_EXTERNAL
|
||||||
TARGET_XSHLDFLAGS= -dynamiclib -single_module -undefined dynamic_lookup -fPIC
|
TARGET_XSHLDFLAGS= -dynamiclib -single_module -undefined dynamic_lookup -fPIC
|
||||||
TARGET_DYNXLDOPTS=
|
TARGET_DYNXLDOPTS=
|
||||||
TARGET_XSHLDFLAGS+= -install_name $(TARGET_DYLIBPATH) -compatibility_version $(MAJVER).$(MINVER) -current_version $(MAJVER).$(MINVER).$(RELVER)
|
TARGET_XSHLDFLAGS+= -install_name $(TARGET_DYLIBPATH) -compatibility_version $(MAJVER).$(MINVER) -current_version $(MAJVER).$(MINVER).255
|
||||||
else
|
else
|
||||||
ifeq (iOS,$(TARGET_SYS))
|
ifeq (iOS,$(TARGET_SYS))
|
||||||
TARGET_STRIP+= -x
|
TARGET_STRIP+= -x
|
||||||
TARGET_XSHLDFLAGS= -dynamiclib -single_module -undefined dynamic_lookup -fPIC
|
TARGET_XSHLDFLAGS= -dynamiclib -single_module -undefined dynamic_lookup -fPIC
|
||||||
TARGET_DYNXLDOPTS=
|
TARGET_DYNXLDOPTS=
|
||||||
TARGET_XSHLDFLAGS+= -install_name $(TARGET_DYLIBPATH) -compatibility_version $(MAJVER).$(MINVER) -current_version $(MAJVER).$(MINVER).$(RELVER)
|
TARGET_XSHLDFLAGS+= -install_name $(TARGET_DYLIBPATH) -compatibility_version $(MAJVER).$(MINVER) -current_version $(MAJVER).$(MINVER).255
|
||||||
ifeq (arm64,$(TARGET_LJARCH))
|
ifeq (arm64,$(TARGET_LJARCH))
|
||||||
TARGET_XCFLAGS+= -fno-omit-frame-pointer
|
TARGET_XCFLAGS+= -fno-omit-frame-pointer
|
||||||
endif
|
endif
|
||||||
@ -388,10 +387,11 @@ MINILUA_O= host/minilua.o
|
|||||||
MINILUA_LIBS= -lm
|
MINILUA_LIBS= -lm
|
||||||
MINILUA_T= host/minilua
|
MINILUA_T= host/minilua
|
||||||
MINILUA_X= $(MINILUA_T)
|
MINILUA_X= $(MINILUA_T)
|
||||||
|
MINILUA_DEP=
|
||||||
|
|
||||||
ifeq (,$(HOST_LUA))
|
ifeq (,$(HOST_LUA))
|
||||||
HOST_LUA= $(MINILUA_X)
|
HOST_LUA= $(MINILUA_X)
|
||||||
DASM_DEP= $(MINILUA_T)
|
MINILUA_DEP= $(MINILUA_T)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
DASM_DIR= ../dynasm
|
DASM_DIR= ../dynasm
|
||||||
@ -474,6 +474,10 @@ endif
|
|||||||
DASM_FLAGS= $(DASM_XFLAGS) $(DASM_AFLAGS)
|
DASM_FLAGS= $(DASM_XFLAGS) $(DASM_AFLAGS)
|
||||||
DASM_DASC= vm_$(DASM_ARCH).dasc
|
DASM_DASC= vm_$(DASM_ARCH).dasc
|
||||||
|
|
||||||
|
GIT= git
|
||||||
|
GIT_RELVER= [ -e ../.git ] && $(GIT) show -s --format=%ct >luajit_relver.txt 2>/dev/null || cat ../.relver >luajit_relver.txt 2>/dev/null || :
|
||||||
|
GIT_DEP= $(wildcard ../.git/HEAD ../.git/refs/heads/*)
|
||||||
|
|
||||||
BUILDVM_O= host/buildvm.o host/buildvm_asm.o host/buildvm_peobj.o \
|
BUILDVM_O= host/buildvm.o host/buildvm_asm.o host/buildvm_peobj.o \
|
||||||
host/buildvm_lib.o host/buildvm_fold.o
|
host/buildvm_lib.o host/buildvm_fold.o
|
||||||
BUILDVM_T= host/buildvm
|
BUILDVM_T= host/buildvm
|
||||||
@ -520,8 +524,8 @@ LUAJIT_T= luajit
|
|||||||
|
|
||||||
ALL_T= $(LUAJIT_T) $(LUAJIT_A) $(LUAJIT_SO) $(HOST_T)
|
ALL_T= $(LUAJIT_T) $(LUAJIT_A) $(LUAJIT_SO) $(HOST_T)
|
||||||
ALL_HDRGEN= lj_bcdef.h lj_ffdef.h lj_libdef.h lj_recdef.h lj_folddef.h \
|
ALL_HDRGEN= lj_bcdef.h lj_ffdef.h lj_libdef.h lj_recdef.h lj_folddef.h \
|
||||||
host/buildvm_arch.h
|
host/buildvm_arch.h luajit.h
|
||||||
ALL_GEN= $(LJVM_S) $(ALL_HDRGEN) $(LIB_VMDEFP)
|
ALL_GEN= $(LJVM_S) $(ALL_HDRGEN) luajit_relver.txt $(LIB_VMDEFP)
|
||||||
WIN_RM= *.obj *.lib *.exp *.dll *.exe *.manifest *.pdb *.ilk
|
WIN_RM= *.obj *.lib *.exp *.dll *.exe *.manifest *.pdb *.ilk
|
||||||
ALL_RM= $(ALL_T) $(ALL_GEN) *.o host/*.o $(WIN_RM)
|
ALL_RM= $(ALL_T) $(ALL_GEN) *.o host/*.o $(WIN_RM)
|
||||||
|
|
||||||
@ -645,7 +649,12 @@ $(MINILUA_T): $(MINILUA_O)
|
|||||||
$(E) "HOSTLINK $@"
|
$(E) "HOSTLINK $@"
|
||||||
$(Q)$(HOST_CC) $(HOST_ALDFLAGS) -o $@ $(MINILUA_O) $(MINILUA_LIBS) $(HOST_ALIBS)
|
$(Q)$(HOST_CC) $(HOST_ALDFLAGS) -o $@ $(MINILUA_O) $(MINILUA_LIBS) $(HOST_ALIBS)
|
||||||
|
|
||||||
host/buildvm_arch.h: $(DASM_DASC) $(DASM_DEP) $(DASM_DIR)/*.lua lj_arch.h lua.h luaconf.h
|
luajit.h: $(MINILUA_DEP) $(GIT_DEP) luajit_rolling.h
|
||||||
|
$(E) "VERSION $@"
|
||||||
|
$(Q)$(GIT_RELVER)
|
||||||
|
$(Q)$(HOST_LUA) host/genversion.lua
|
||||||
|
|
||||||
|
host/buildvm_arch.h: $(DASM_DASC) $(MINILUA_DEP) lj_arch.h lua.h luaconf.h
|
||||||
$(E) "DYNASM $@"
|
$(E) "DYNASM $@"
|
||||||
$(Q)$(DASM) $(DASM_FLAGS) -o $@ $(DASM_DASC)
|
$(Q)$(DASM) $(DASM_FLAGS) -o $@ $(DASM_DASC)
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** LuaJIT VM builder.
|
** LuaJIT VM builder.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
**
|
**
|
||||||
** This is a tool to build the hand-tuned assembler code required for
|
** This is a tool to build the hand-tuned assembler code required for
|
||||||
** LuaJIT's bytecode interpreter. It supports a variety of output formats
|
** LuaJIT's bytecode interpreter. It supports a variety of output formats
|
||||||
@ -329,6 +329,7 @@ static void emit_vmdef(BuildCtx *ctx)
|
|||||||
#endif
|
#endif
|
||||||
int i;
|
int i;
|
||||||
fprintf(ctx->fp, "-- This is a generated file. DO NOT EDIT!\n\n");
|
fprintf(ctx->fp, "-- This is a generated file. DO NOT EDIT!\n\n");
|
||||||
|
fprintf(ctx->fp, "assert(require(\"jit\").version == \"%s\", \"LuaJIT core/library version mismatch\")\n\n", LUAJIT_VERSION);
|
||||||
fprintf(ctx->fp, "return {\n\n");
|
fprintf(ctx->fp, "return {\n\n");
|
||||||
|
|
||||||
fprintf(ctx->fp, "bcnames = \"");
|
fprintf(ctx->fp, "bcnames = \"");
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** LuaJIT VM builder.
|
** LuaJIT VM builder.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _BUILDVM_H
|
#ifndef _BUILDVM_H
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** LuaJIT VM builder: Assembler source code emitter.
|
** LuaJIT VM builder: Assembler source code emitter.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "buildvm.h"
|
#include "buildvm.h"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** LuaJIT VM builder: IR folding hash table generator.
|
** LuaJIT VM builder: IR folding hash table generator.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "buildvm.h"
|
#include "buildvm.h"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** LuaJIT VM builder: library definition compiler.
|
** LuaJIT VM builder: library definition compiler.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "buildvm.h"
|
#include "buildvm.h"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** LuaJIT VM builder: PE object emitter.
|
** LuaJIT VM builder: PE object emitter.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
**
|
**
|
||||||
** Only used for building on Windows, since we cannot assume the presence
|
** Only used for building on Windows, since we cannot assume the presence
|
||||||
** of a suitable assembler. The host and target byte order must match.
|
** of a suitable assembler. The host and target byte order must match.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
-- Lua script to dump the bytecode of the library functions written in Lua.
|
-- Lua script to dump the bytecode of the library functions written in Lua.
|
||||||
-- The resulting 'buildvm_libbc.h' is used for the build process of LuaJIT.
|
-- The resulting 'buildvm_libbc.h' is used for the build process of LuaJIT.
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- Released under the MIT license. See Copyright Notice in luajit.h
|
-- Released under the MIT license. See Copyright Notice in luajit.h
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
-- Lua script to generate a customized, minified version of Lua.
|
-- Lua script to generate a customized, minified version of Lua.
|
||||||
-- The resulting 'minilua' is used for the build process of LuaJIT.
|
-- The resulting 'minilua' is used for the build process of LuaJIT.
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- Released under the MIT license. See Copyright Notice in luajit.h
|
-- Released under the MIT license. See Copyright Notice in luajit.h
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
43
src/host/genversion.lua
Normal file
43
src/host/genversion.lua
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
----------------------------------------------------------------------------
|
||||||
|
-- Lua script to embed the rolling release version in luajit.h.
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
|
-- Released under the MIT license. See Copyright Notice in luajit.h
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
local FILE_INPUT_H = "luajit_rolling.h"
|
||||||
|
local FILE_INPUT_R = "luajit_relver.txt"
|
||||||
|
local FILE_OUTPUT_H = "luajit.h"
|
||||||
|
|
||||||
|
local function file_read(file)
|
||||||
|
local fp = assert(io.open(file, "rb"), "run from the wrong directory")
|
||||||
|
local data = assert(fp:read("*a"))
|
||||||
|
fp:close()
|
||||||
|
return data
|
||||||
|
end
|
||||||
|
|
||||||
|
local function file_write_mod(file, data)
|
||||||
|
local fp = io.open(file, "rb")
|
||||||
|
if fp then
|
||||||
|
local odata = assert(fp:read("*a"))
|
||||||
|
fp:close()
|
||||||
|
if odata == data then return end
|
||||||
|
end
|
||||||
|
fp = assert(io.open(file, "wb"))
|
||||||
|
assert(fp:write(data))
|
||||||
|
assert(fp:close())
|
||||||
|
end
|
||||||
|
|
||||||
|
local text = file_read(FILE_INPUT_H)
|
||||||
|
local relver = file_read(FILE_INPUT_R):match("(%d+)")
|
||||||
|
|
||||||
|
if relver then
|
||||||
|
text = text:gsub("ROLLING", relver)
|
||||||
|
else
|
||||||
|
io.stderr:write([[
|
||||||
|
**** WARNING Cannot determine rolling release version from git log.
|
||||||
|
**** WARNING The 'git' command must be available during the build.
|
||||||
|
]])
|
||||||
|
end
|
||||||
|
|
||||||
|
file_write_mod(FILE_OUTPUT_H, text)
|
@ -1,7 +1,7 @@
|
|||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- LuaJIT bytecode listing module.
|
-- LuaJIT bytecode listing module.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- Released under the MIT license. See Copyright Notice in luajit.h
|
-- Released under the MIT license. See Copyright Notice in luajit.h
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
--
|
--
|
||||||
@ -41,7 +41,6 @@
|
|||||||
|
|
||||||
-- Cache some library functions and objects.
|
-- Cache some library functions and objects.
|
||||||
local jit = require("jit")
|
local jit = require("jit")
|
||||||
assert(jit.version_num == 20100, "LuaJIT core/library version mismatch")
|
|
||||||
local jutil = require("jit.util")
|
local jutil = require("jit.util")
|
||||||
local vmdef = require("jit.vmdef")
|
local vmdef = require("jit.vmdef")
|
||||||
local bit = require("bit")
|
local bit = require("bit")
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- LuaJIT module to save/list bytecode.
|
-- LuaJIT module to save/list bytecode.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- Released under the MIT license. See Copyright Notice in luajit.h
|
-- Released under the MIT license. See Copyright Notice in luajit.h
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
--
|
--
|
||||||
@ -11,7 +11,7 @@
|
|||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
local jit = require("jit")
|
local jit = require("jit")
|
||||||
assert(jit.version_num == 20100, "LuaJIT core/library version mismatch")
|
assert(jit.version_num == 20199, "LuaJIT core/library version mismatch")
|
||||||
local bit = require("bit")
|
local bit = require("bit")
|
||||||
|
|
||||||
-- Symbol name prefix for LuaJIT bytecode.
|
-- Symbol name prefix for LuaJIT bytecode.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- LuaJIT ARM disassembler module.
|
-- LuaJIT ARM disassembler module.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- Released under the MIT license. See Copyright Notice in luajit.h
|
-- Released under the MIT license. See Copyright Notice in luajit.h
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- This is a helper module used by the LuaJIT machine code dumper module.
|
-- This is a helper module used by the LuaJIT machine code dumper module.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- LuaJIT ARM64 disassembler module.
|
-- LuaJIT ARM64 disassembler module.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- Released under the MIT license. See Copyright Notice in luajit.h
|
-- Released under the MIT license. See Copyright Notice in luajit.h
|
||||||
--
|
--
|
||||||
-- Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
|
-- Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- LuaJIT ARM64BE disassembler wrapper module.
|
-- LuaJIT ARM64BE disassembler wrapper module.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- Released under the MIT license. See Copyright Notice in luajit.h
|
-- Released under the MIT license. See Copyright Notice in luajit.h
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- ARM64 instructions are always little-endian. So just forward to the
|
-- ARM64 instructions are always little-endian. So just forward to the
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- LuaJIT MIPS disassembler module.
|
-- LuaJIT MIPS disassembler module.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- Released under the MIT/X license. See Copyright Notice in luajit.h
|
-- 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.
|
-- This is a helper module used by the LuaJIT machine code dumper module.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- LuaJIT MIPS64 disassembler wrapper module.
|
-- LuaJIT MIPS64 disassembler wrapper module.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- Released under the MIT license. See Copyright Notice in luajit.h
|
-- Released under the MIT license. See Copyright Notice in luajit.h
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- This module just exports the big-endian functions from the
|
-- This module just exports the big-endian functions from the
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- LuaJIT MIPS64EL disassembler wrapper module.
|
-- LuaJIT MIPS64EL disassembler wrapper module.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- Released under the MIT license. See Copyright Notice in luajit.h
|
-- Released under the MIT license. See Copyright Notice in luajit.h
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- This module just exports the little-endian functions from the
|
-- This module just exports the little-endian functions from the
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- LuaJIT MIPS64R6 disassembler wrapper module.
|
-- LuaJIT MIPS64R6 disassembler wrapper module.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- Released under the MIT license. See Copyright Notice in luajit.h
|
-- Released under the MIT license. See Copyright Notice in luajit.h
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- This module just exports the r6 big-endian functions from the
|
-- This module just exports the r6 big-endian functions from the
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- LuaJIT MIPS64R6EL disassembler wrapper module.
|
-- LuaJIT MIPS64R6EL disassembler wrapper module.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- Released under the MIT license. See Copyright Notice in luajit.h
|
-- Released under the MIT license. See Copyright Notice in luajit.h
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- This module just exports the r6 little-endian functions from the
|
-- This module just exports the r6 little-endian functions from the
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- LuaJIT MIPSEL disassembler wrapper module.
|
-- LuaJIT MIPSEL disassembler wrapper module.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- Released under the MIT license. See Copyright Notice in luajit.h
|
-- Released under the MIT license. See Copyright Notice in luajit.h
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- This module just exports the little-endian functions from the
|
-- This module just exports the little-endian functions from the
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- LuaJIT PPC disassembler module.
|
-- LuaJIT PPC disassembler module.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- Released under the MIT/X license. See Copyright Notice in luajit.h
|
-- 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.
|
-- This is a helper module used by the LuaJIT machine code dumper module.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- LuaJIT x64 disassembler wrapper module.
|
-- LuaJIT x64 disassembler wrapper module.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- Released under the MIT license. See Copyright Notice in luajit.h
|
-- Released under the MIT license. See Copyright Notice in luajit.h
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- This module just exports the 64 bit functions from the combined
|
-- This module just exports the 64 bit functions from the combined
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- LuaJIT x86/x64 disassembler module.
|
-- LuaJIT x86/x64 disassembler module.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- Released under the MIT license. See Copyright Notice in luajit.h
|
-- Released under the MIT license. See Copyright Notice in luajit.h
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- This is a helper module used by the LuaJIT machine code dumper module.
|
-- This is a helper module used by the LuaJIT machine code dumper module.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- LuaJIT compiler dump module.
|
-- LuaJIT compiler dump module.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- Released under the MIT license. See Copyright Notice in luajit.h
|
-- Released under the MIT license. See Copyright Notice in luajit.h
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
--
|
--
|
||||||
@ -55,7 +55,6 @@
|
|||||||
|
|
||||||
-- Cache some library functions and objects.
|
-- Cache some library functions and objects.
|
||||||
local jit = require("jit")
|
local jit = require("jit")
|
||||||
assert(jit.version_num == 20100, "LuaJIT core/library version mismatch")
|
|
||||||
local jutil = require("jit.util")
|
local jutil = require("jit.util")
|
||||||
local vmdef = require("jit.vmdef")
|
local vmdef = require("jit.vmdef")
|
||||||
local funcinfo, funcbc = jutil.funcinfo, jutil.funcbc
|
local funcinfo, funcbc = jutil.funcinfo, jutil.funcbc
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- LuaJIT profiler.
|
-- LuaJIT profiler.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- Released under the MIT license. See Copyright Notice in luajit.h
|
-- Released under the MIT license. See Copyright Notice in luajit.h
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
--
|
--
|
||||||
@ -41,7 +41,6 @@
|
|||||||
|
|
||||||
-- Cache some library functions and objects.
|
-- Cache some library functions and objects.
|
||||||
local jit = require("jit")
|
local jit = require("jit")
|
||||||
assert(jit.version_num == 20100, "LuaJIT core/library version mismatch")
|
|
||||||
local profile = require("jit.profile")
|
local profile = require("jit.profile")
|
||||||
local vmdef = require("jit.vmdef")
|
local vmdef = require("jit.vmdef")
|
||||||
local math = math
|
local math = math
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- Verbose mode of the LuaJIT compiler.
|
-- Verbose mode of the LuaJIT compiler.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- Released under the MIT license. See Copyright Notice in luajit.h
|
-- Released under the MIT license. See Copyright Notice in luajit.h
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
--
|
--
|
||||||
@ -59,7 +59,6 @@
|
|||||||
|
|
||||||
-- Cache some library functions and objects.
|
-- Cache some library functions and objects.
|
||||||
local jit = require("jit")
|
local jit = require("jit")
|
||||||
assert(jit.version_num == 20100, "LuaJIT core/library version mismatch")
|
|
||||||
local jutil = require("jit.util")
|
local jutil = require("jit.util")
|
||||||
local vmdef = require("jit.vmdef")
|
local vmdef = require("jit.vmdef")
|
||||||
local funcinfo, traceinfo = jutil.funcinfo, jutil.traceinfo
|
local funcinfo, traceinfo = jutil.funcinfo, jutil.traceinfo
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
-- LuaJIT profiler zones.
|
-- LuaJIT profiler zones.
|
||||||
--
|
--
|
||||||
-- Copyright (C) 2005-2022 Mike Pall. All rights reserved.
|
-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
|
||||||
-- Released under the MIT license. See Copyright Notice in luajit.h
|
-- Released under the MIT license. See Copyright Notice in luajit.h
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
--
|
--
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Auxiliary library for the Lua/C API.
|
** Auxiliary library for the Lua/C API.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
**
|
**
|
||||||
** Major parts taken verbatim or adapted from the Lua interpreter.
|
** Major parts taken verbatim or adapted from the Lua interpreter.
|
||||||
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Base and coroutine library.
|
** Base and coroutine library.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
**
|
**
|
||||||
** Major portions taken verbatim or adapted from the Lua interpreter.
|
** Major portions taken verbatim or adapted from the Lua interpreter.
|
||||||
** Copyright (C) 1994-2011 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
** Copyright (C) 1994-2011 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Bit manipulation library.
|
** Bit manipulation library.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define lib_bit_c
|
#define lib_bit_c
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Buffer library.
|
** Buffer library.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define lib_buffer_c
|
#define lib_buffer_c
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Debug library.
|
** Debug library.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
**
|
**
|
||||||
** Major portions taken verbatim or adapted from the Lua interpreter.
|
** Major portions taken verbatim or adapted from the Lua interpreter.
|
||||||
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** FFI library.
|
** FFI library.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define lib_ffi_c
|
#define lib_ffi_c
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Library initialization.
|
** Library initialization.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
**
|
**
|
||||||
** Major parts taken verbatim from the Lua interpreter.
|
** Major parts taken verbatim from the Lua interpreter.
|
||||||
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** I/O library.
|
** I/O library.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
**
|
**
|
||||||
** Major portions taken verbatim or adapted from the Lua interpreter.
|
** Major portions taken verbatim or adapted from the Lua interpreter.
|
||||||
** Copyright (C) 1994-2011 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
** Copyright (C) 1994-2011 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** JIT library.
|
** JIT library.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define lib_jit_c
|
#define lib_jit_c
|
||||||
@ -743,7 +743,7 @@ LUALIB_API int luaopen_jit(lua_State *L)
|
|||||||
#endif
|
#endif
|
||||||
lua_pushliteral(L, LJ_OS_NAME);
|
lua_pushliteral(L, LJ_OS_NAME);
|
||||||
lua_pushliteral(L, LJ_ARCH_NAME);
|
lua_pushliteral(L, LJ_ARCH_NAME);
|
||||||
lua_pushinteger(L, LUAJIT_VERSION_NUM);
|
lua_pushinteger(L, LUAJIT_VERSION_NUM); /* Deprecated. */
|
||||||
lua_pushliteral(L, LUAJIT_VERSION);
|
lua_pushliteral(L, LUAJIT_VERSION);
|
||||||
LJ_LIB_REG(L, LUA_JITLIBNAME, jit);
|
LJ_LIB_REG(L, LUA_JITLIBNAME, jit);
|
||||||
#if LJ_HASPROFILE
|
#if LJ_HASPROFILE
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Math library.
|
** Math library.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** OS library.
|
** OS library.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
**
|
**
|
||||||
** Major portions taken verbatim or adapted from the Lua interpreter.
|
** Major portions taken verbatim or adapted from the Lua interpreter.
|
||||||
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Package library.
|
** Package library.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
**
|
**
|
||||||
** Major portions taken verbatim or adapted from the Lua interpreter.
|
** Major portions taken verbatim or adapted from the Lua interpreter.
|
||||||
** Copyright (C) 1994-2012 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
** Copyright (C) 1994-2012 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** String library.
|
** String library.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
**
|
**
|
||||||
** Major portions taken verbatim or adapted from the Lua interpreter.
|
** Major portions taken verbatim or adapted from the Lua interpreter.
|
||||||
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Table library.
|
** Table library.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
**
|
**
|
||||||
** Major portions taken verbatim or adapted from the Lua interpreter.
|
** Major portions taken verbatim or adapted from the Lua interpreter.
|
||||||
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Public Lua/C API.
|
** Public Lua/C API.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
**
|
**
|
||||||
** Major portions taken verbatim or adapted from the Lua interpreter.
|
** Major portions taken verbatim or adapted from the Lua interpreter.
|
||||||
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
** Copyright (C) 1994-2008 Lua.org, PUC-Rio. See Copyright Notice in lua.h
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Target architecture selection.
|
** Target architecture selection.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _LJ_ARCH_H
|
#ifndef _LJ_ARCH_H
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** IR assembler (SSA IR -> machine code).
|
** IR assembler (SSA IR -> machine code).
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define lj_asm_c
|
#define lj_asm_c
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** IR assembler (SSA IR -> machine code).
|
** IR assembler (SSA IR -> machine code).
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _LJ_ASM_H
|
#ifndef _LJ_ASM_H
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** ARM IR assembler (SSA IR -> machine code).
|
** ARM IR assembler (SSA IR -> machine code).
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* -- Register allocator extensions --------------------------------------- */
|
/* -- Register allocator extensions --------------------------------------- */
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** ARM64 IR assembler (SSA IR -> machine code).
|
** ARM64 IR assembler (SSA IR -> machine code).
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
**
|
**
|
||||||
** Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
|
** Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
|
||||||
** Sponsored by Cisco Systems, Inc.
|
** Sponsored by Cisco Systems, Inc.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** MIPS IR assembler (SSA IR -> machine code).
|
** MIPS IR assembler (SSA IR -> machine code).
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* -- Register allocator extensions --------------------------------------- */
|
/* -- Register allocator extensions --------------------------------------- */
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** PPC IR assembler (SSA IR -> machine code).
|
** PPC IR assembler (SSA IR -> machine code).
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* -- Register allocator extensions --------------------------------------- */
|
/* -- Register allocator extensions --------------------------------------- */
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** x86/x64 IR assembler (SSA IR -> machine code).
|
** x86/x64 IR assembler (SSA IR -> machine code).
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* -- Guard handling ------------------------------------------------------ */
|
/* -- Guard handling ------------------------------------------------------ */
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Internal assertions.
|
** Internal assertions.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define lj_assert_c
|
#define lj_assert_c
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Bytecode instruction modes.
|
** Bytecode instruction modes.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define lj_bc_c
|
#define lj_bc_c
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Bytecode instruction format.
|
** Bytecode instruction format.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _LJ_BC_H
|
#ifndef _LJ_BC_H
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Bytecode dump definitions.
|
** Bytecode dump definitions.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _LJ_BCDUMP_H
|
#ifndef _LJ_BCDUMP_H
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Bytecode reader.
|
** Bytecode reader.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define lj_bcread_c
|
#define lj_bcread_c
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Bytecode writer.
|
** Bytecode writer.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define lj_bcwrite_c
|
#define lj_bcwrite_c
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Buffer handling.
|
** Buffer handling.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define lj_buf_c
|
#define lj_buf_c
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Buffer handling.
|
** Buffer handling.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _LJ_BUF_H
|
#ifndef _LJ_BUF_H
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** C data arithmetic.
|
** C data arithmetic.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "lj_obj.h"
|
#include "lj_obj.h"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** C data arithmetic.
|
** C data arithmetic.
|
||||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _LJ_CARITH_H
|
#ifndef _LJ_CARITH_H
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user