Skip to content
This repository has been archived by the owner on Nov 20, 2020. It is now read-only.

Update to LuaJIT 2.0.5 #1

Open
wants to merge 166 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
166 commits
Select commit Hold shift + click to select a range
1ca794e
Fix compiler warnings.
Mar 24, 2014
c03be12
x86/x64: Avoid use of SAHF instruction.
Mar 27, 2014
095344c
Fix check for reuse of SCEV results in FORL.
Mar 27, 2014
c735293
FFI: Fix pseudo type conversions for type punning.
Mar 28, 2014
19b69f2
FFI: Allow non-scalar cdata to be compared for equality by address.
Mar 31, 2014
b293063
Correct fix for reuse of SCEV results in FORL.
Apr 1, 2014
111b2e8
Fix top slot calculation for snapshots with continuations.
Apr 3, 2014
4ed3ee1
FFI: Fix cdata equality comparison against strings.
Apr 8, 2014
cc5075e
FFI: Fix cdata equality comparison against other Lua types.
Apr 8, 2014
65626ea
PPC: Don't use mcrxr on PPE.
Apr 17, 2014
f3374b5
x64: Allow building with LUAJIT_USE_SYSMALLOC and LUAJIT_USE_VALGRIND.
Apr 21, 2014
18309b0
Prevent adding side traces for stack checks.
Apr 22, 2014
2715fe3
Prevent GC estimate miscalculation due to buffer growth.
Apr 22, 2014
7a39be0
Add PS Vita port.
Apr 26, 2014
ef82bb0
FFI: Another fix for cdata equality comparisons.
May 6, 2014
2917288
x64: Workaround for MSVC build issue.
May 6, 2014
624260f
Fix frame traversal while searching for error function.
May 12, 2014
8a38af2
Fix FOLD rule for STRREF of SNEW.
May 15, 2014
fe288e7
FFI: Fix recording of indexing a struct pointer ctype object itself.
May 15, 2014
e157651
Fix FOLD rule for string.sub(s, ...) == k.
May 20, 2014
fc76d54
x86: Fix code generation for unused result of math.random().
May 27, 2014
49d3157
PPC: Fix red zone overflow in machine code generation.
May 27, 2014
7fb503d
Fix compatibility issues with Illumos.
May 28, 2014
e7c6a1a
Fix debug info for main chunk of stripped bytecode.
Jun 11, 2014
7dc9e5a
x86: lj_math_random_step() clobbers XMM regs on OSX Clang.
Jun 11, 2014
5e7b9bb
FFI: Fix frame traversal for backtraces with FFI callbacks.
Jun 12, 2014
bb5dfbb
Typo.
Jun 13, 2014
a6c34b8
Fix ABC elimination.
Jul 1, 2014
f948fe0
FFI: Fix compilation of reference field access.
Jul 4, 2014
59d2906
Invalidate backpropagation cache after DCE.
Jul 24, 2014
66515a0
FFI: Fix __index/__newindex metamethod resolution for ctypes.
Aug 5, 2014
247ead6
FFI: Fix for cdata vs. non-cdata arithmetic and comparisons.
Sep 8, 2014
41156fe
FFI: Fix initialization of unions of subtypes.
Sep 8, 2014
ae7d4d5
DynASM/x86: Add shld/shrd opcodes.
Sep 21, 2014
cb886b5
DynASM/x86: Add fldenv, f[n]stenv, fxsave, fxrstor opcodes.
Sep 22, 2014
4846a71
Fix DragonFly build (unsupported).
Oct 7, 2014
6d0654d
Fix fused constant loads under high register pressure.
Oct 8, 2014
a31c317
FFI: No meta fallback when indexing pointer to incomplete struct.
Nov 3, 2014
c75c62b
Fix snapshot #0 handling for traces with a stack check on entry.
Nov 28, 2014
3f2e4ec
DynASM/ARM: Fix description shown for multi-element templates.
Dec 3, 2014
6fddb9b
Avoid error messages when building with Clang.
Dec 8, 2014
c6e6924
Gracefully handle lua_error() for a suspended coroutine.
Dec 15, 2014
10caad0
x86: Fix argument checks for ipairs() iterator.
Dec 20, 2014
1b774d9
Fix corner case in string to number conversion.
Dec 27, 2014
5482656
ARM: Fix excess stack growth in interpreter.
Dec 27, 2014
16f910b
ARM: Fix write barrier check in BC_USETS.
Dec 27, 2014
6319e03
PPC: Fix excess stack growth in interpreter.
Dec 27, 2014
f45d11e
MIPS: Fix excess stack growth in interpreter.
Dec 27, 2014
db7cb5a
DynASM/ARM: Fix rollback for variant templates.
Dec 27, 2014
9caaf65
Fix docs.
Jan 4, 2015
31e6683
x86: Minor interpreter optimization.
Jan 4, 2015
4d9e8e2
ARM: Minor interpreter optimization.
Jan 4, 2015
999f57d
Fix BC_UCLO/BC_JMP join optimization in Lua parser.
Jan 5, 2015
86913b9
Bump copyright date to 2015.
Jan 5, 2015
b876d6d
OpenBSD/x86: Better executable memory allocation for W^X mode.
Jan 17, 2015
7f01300
Don't compile IR_RETF after CALLT to ff with-side effects.
Jan 17, 2015
dfa173b
Fix lexer error for chunks without tokens.
Feb 2, 2015
704280f
FFI: Prevent DSE across ffi.string().
Feb 18, 2015
4fa51af
x86/x64: Fix code generation for fused test/arith ops.
Feb 21, 2015
e6b0875
Fix string to number conversion.
Feb 22, 2015
7ff4768
Properly fail unsupported cross-compile to MIPS64.
Feb 25, 2015
5c0e33c
ARM: Handle more arch defines.
Feb 25, 2015
1f578bd
FFI: Fix FOLD rule for TOBIT + CONV num.u32.
Mar 2, 2015
8b6af89
Fix Lua/C API typecheck error for special indexes.
Mar 5, 2015
a9fd686
Doc cleanup.
Mar 11, 2015
11106aa
Fix stack check in narrowing optimization.
Apr 28, 2015
9622d6b
x86/x64: Fix argument check for bit shifts.
May 4, 2015
cd4c59f
Update changelog.
May 14, 2015
69e5342
RELEASE LuaJIT-2.0.4
May 14, 2015
7234789
x64: Allow building without external unwinder.
Jun 9, 2015
7f454ae
Fix narrowing of TOBIT.
Jun 10, 2015
575bfe5
Limit number of arguments given to io.lines() and fp:lines().
Jul 10, 2015
a5b1c4d
FFI: Don't propagate qualifiers into subtypes of complex.
Jul 17, 2015
424940f
Fix NYICF error message.
Aug 19, 2015
8715ae6
Properly handle OOM in trace_save().
Aug 19, 2015
076d625
Fix Cygwin support. Note: this is not a supported target.
Sep 20, 2015
ef087aa
Fix unsinking check.
Oct 1, 2015
2e85af8
Flush symbol tables in jit.dump on trace flush.
Oct 1, 2015
4808e62
Drop marks from replayed instructions when sinking.
Oct 15, 2015
e5f4cb1
FFI: Fix ipairs() recording.
Oct 24, 2015
9dc785e
DynASM/x86: Fix some SSE instruction templates.
Oct 24, 2015
7579b16
DynASM/x86: Restrict shld/shrd to operands with same width.
Oct 24, 2015
3639ff4
iOS: Disable os.execute() when building for iOS >= 8.0.
Oct 24, 2015
f416cf6
OSX: Switch to Clang as the default compiler.
Oct 24, 2015
1393b2f
Update build instructions.
Oct 24, 2015
7991a66
Extend Valgrind suppressions for non-inlined C code.
Nov 4, 2015
367cba2
DynASM/x86: Add rdpmc instruction.
Nov 4, 2015
3d4c9f9
FFI: Fix SPLIT pass for CONV i64.u64.
Nov 26, 2015
a443889
Don't allocate unused 2nd result register in JIT compiler backend.
Feb 10, 2016
db1b399
Bump copyright date to 2016.
Mar 3, 2016
ddadbe8
Fix compiler warnings.
Mar 22, 2016
7e05355
Fix install for cross-builds.
Mar 22, 2016
e23fc10
Fix display of NULL (light)userdata in -jdump.
Mar 28, 2016
9531eb2
Windows: Remove intermediate files at end of build.
Mar 28, 2016
62af101
MIPS: Fix use of ffgccheck delay slots in interpreter.
Mar 30, 2016
4ab6367
Cygwin: Allow cross-builds to non-Cygwin targets.
Apr 3, 2016
1c6fd13
Fix recording of select(n, ...) with off-trace varargs
Apr 3, 2016
e5b5e07
MIPS: Fix BC_ISNEXT fallback path.
Apr 13, 2016
73680a5
x86/x64: Search for exit jumps with instruction length decoder.
Apr 18, 2016
cc4f5d0
Whitespace.
Apr 18, 2016
2f0001f
Fix handling of non-numeric strings in arithmetic coercions.
Apr 21, 2016
7b26e9c
Fix GCC 6 -Wmisleading-indentation warnings.
Apr 24, 2016
f05280e
x86/x64: Fix instruction length decoder.
May 6, 2016
5837c2a
Remove assumption that lj_math_random_step() doesn't clobber FPRs.
May 20, 2016
37e1e70
Add guard for obscure aliasing between open upvalues and SSA slots.
May 20, 2016
747feb6
x86: Don't spill an explicit REF_BASE in the IR.
May 23, 2016
a5f8a48
Don't try to record outermost pcall() return to lower frame.
Jun 3, 2016
3206307
Fix Valgrind suppressions.
Jun 3, 2016
a7bec69
Fix PHI remarking in SINK pass.
Jun 5, 2016
aef4edd
Drop leftover regs in 'for' iterator assignment, too.
Jun 27, 2016
1914de7
Fix unused vars etc. in internal Lua files.
Jul 17, 2016
b74ddaf
Fix for cdata vs. non-cdata arithmetics/comparisons.
Jul 17, 2016
6be5ffd
Adjust comment with defines.
Jul 17, 2016
02b9b55
Revert "OSX: Switch to Clang as the default compiler."
Jul 31, 2016
9910ded
Initialize uv->immutable for upvalues of loaded chunks.
Sep 19, 2016
8ada57e
Looks like COLORTERM has gone out of fashion.
Sep 19, 2016
fcc8244
ARM: Fix BLX encoding for Thumb interworking calls.
Oct 2, 2016
a68c411
Fix GC step size calculation.
Oct 13, 2016
c3cae04
Update contact info.
Nov 21, 2016
fb61f7c
Add "proto" field to jit.util.funcinfo().
Dec 15, 2016
a2013dd
Fix cross-endian jit.bcsave for MIPS target.
Jan 17, 2017
a1e13fa
Fix HTML formatting.
Jan 17, 2017
b93a1dd
Bump copyright date to 2017.
Jan 17, 2017
1abd779
MIPS: Backport workaround for compact unwind tables.
Feb 20, 2017
ee33a1f
MIPS: Fix emitted code for U32 to float conversion.
Feb 20, 2017
892d370
MIPS: Don't use RID_GP as a scratch register.
Feb 20, 2017
a9740d9
DynASM: Fix warning.
Mar 8, 2017
eef77a6
Fix annoying warning, due to deterministic binutils configuration.
Mar 8, 2017
3ab9f5a
Remove internal __mode = "K" and replace with safe check.
Mar 8, 2017
ff64836
Fix out-of-scope goto handling in parser.
Mar 8, 2017
4e30836
Fix overly restrictive range calculation in mcode allocation.
Mar 8, 2017
d62459f
Limit mcode alloc probing, depending on the available pool size.
Mar 8, 2017
f50bf75
Remove unnecessary mcode alloc pointer check.
Mar 8, 2017
e205ad0
FFI: Fix FOLD rules for int64_t comparisons.
Mar 30, 2017
247b362
OSX: Fix build with recent XCode.
Apr 7, 2017
02b4b1e
Add workaround for MSVC 2015 stdio changes.
Apr 17, 2017
ae0d438
Update changelog.
May 1, 2017
0bf80b0
RELEASE LuaJIT-2.0.5
May 1, 2017
1c89933
Fix LJ_MAX_JSLOTS assertion in rec_check_slots().
May 9, 2017
630ff31
Add missing LJ_MAX_JSLOTS check.
May 17, 2017
7381b62
MIPS: Use precise search for exit jump patching.
Jun 7, 2017
c7c3c4d
MIPS: Fix handling of spare long-range jump slots.
Jun 7, 2017
82151a4
Modify fix for warning from 'ar'.
Jun 12, 2017
f3d7507
Use https for freelists.org links.
Aug 18, 2017
0c0e7b1
DynASM/x86: Fix potential REL_A overflow.
Sep 20, 2017
9f0caad
Fix FOLD rule for strength reduction of widening.
Nov 8, 2017
7dbf0b0
Fix saved bytecode encapsulated in ELF objects.
Nov 16, 2017
430d9f8
Fix string.format("%c", 0).
Jan 14, 2018
c88602f
Fix LuaJIT API docs for LUAJIT_MODE_*.
Jan 18, 2018
b03a56f
FFI: Don't assert on #1LL (5.2 compatibility mode only).
Jan 29, 2018
d4ee803
Fix GCC 7 -Wimplicit-fallthrough warnings.
Jan 29, 2018
03cd5aa
Clear stack after print_jit_status() in CLI.
Jan 29, 2018
046129d
Fix rechaining of pseudo-resurrected string keys.
Feb 27, 2018
02b5219
FFI: Add tonumber() specialization for failed conversions.
Apr 22, 2018
cf7a054
Bump copyright date to 2018.
Apr 25, 2018
f5d424a
FFI: Make FP to U64 conversions match JIT backend behavior.
May 20, 2018
fb5e522
x86/x64: Check for jcc when using xor r,r in emit_loadi().
May 20, 2018
b025b01
PPC/NetBSD: Fix endianess check.
Jun 5, 2018
3404183
Better detection of MinGW build.
Jan 10, 2019
380e440
Fix overflow of snapshot map offset.
Jan 10, 2019
20e4c52
DynASM/PPC: Fix shadowed variable.
Jan 10, 2019
5c91199
DynASM/MIPS: Fix shadowed variable.
Jan 10, 2019
61464b0
Fix MinGW build.
Jan 10, 2019
871ae76
Merge branch 'master' of http://luajit.org/git/luajit-2.0
Vociferix May 8, 2019
6a30a8d
Updated dist.info with 2.0.5 tag
Vociferix May 8, 2019
9a2c8d4
added CMake option to toggle between static and shared builds of liblua
Vociferix Jun 1, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ option ( LUA_USE_ASSERT "Turn on assertions for the whole LuaJIT VM. This signif

option ( LUAJIT_CPU_SSE2 "Disable SSE2." OFF )
option ( LUAJIT_CPU_NOCMOV "Disable NOCMOV." OFF )
option ( LUA_SHARED_LIB "Build liblua as a dynamically linked library." ON )

# Tunable variables
set ( LUAI_MAXSTACK 65500 CACHE NUMBER "Max. # of stack slots for a thread (<64K)." )
Expand All @@ -59,6 +60,12 @@ set ( LUA_MODULE_SUFFIX ${CMAKE_SHARED_MODULE_SUFFIX} )
set ( LUA_LDIR ${INSTALL_LMOD} )
set ( LUA_CDIR ${INSTALL_CMOD} )

if ( LUA_SHARED_LIB )
set ( LUA_LIB_TYPE SHARED )
else ()
set ( LUA_LIB_TYPE STATIC )
endif ()

if ( LUA_USE_RELATIVE_LOADLIB )
# This will set up relative paths to lib
string ( REGEX REPLACE "[^!/]+" ".." LUA_DIR "!/${INSTALL_BIN}/" )
Expand Down Expand Up @@ -303,7 +310,7 @@ set ( LJCORE_C
${LJLIB_C}
)

add_library ( liblua SHARED ${LJCORE_C} ${DEPS} )
add_library ( liblua ${LUA_LIB_TYPE} ${LJCORE_C} ${DEPS} )
target_link_libraries ( liblua ${LIBS} )
set_target_properties ( liblua PROPERTIES OUTPUT_NAME lua CLEAN_DIRECT_OUTPUT 1 )

Expand Down
2 changes: 1 addition & 1 deletion COPYRIGHT
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
===============================================================================
LuaJIT -- a Just-In-Time Compiler for Lua. http://luajit.org/

Copyright (C) 2005-2014 Mike Pall. All rights reserved.
Copyright (C) 2005-2017 Mike Pall. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
32 changes: 19 additions & 13 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@
# For MSVC, please follow the instructions given in src/msvcbuild.bat.
# For MinGW and Cygwin, cd to src and run make with the Makefile there.
#
# Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
# Copyright (C) 2005-2017 Mike Pall. See Copyright Notice in luajit.h
##############################################################################

MAJVER= 2
MINVER= 0
RELVER= 3
RELVER= 5
VERSION= $(MAJVER).$(MINVER).$(RELVER)
ABIVER= 5.1

Expand Down Expand Up @@ -46,17 +46,18 @@ INSTALL_PKGCONFIG= $(INSTALL_LIB)/pkgconfig
INSTALL_TNAME= luajit-$(VERSION)
INSTALL_TSYMNAME= luajit
INSTALL_ANAME= libluajit-$(ABIVER).a
INSTALL_SONAME= libluajit-$(ABIVER).so.$(MAJVER).$(MINVER).$(RELVER)
INSTALL_SOSHORT= libluajit-$(ABIVER).so
INSTALL_DYLIBNAME= libluajit-$(ABIVER).$(MAJVER).$(MINVER).$(RELVER).dylib
INSTALL_SOSHORT1= libluajit-$(ABIVER).so
INSTALL_SOSHORT2= libluajit-$(ABIVER).so.$(MAJVER)
INSTALL_SONAME= $(INSTALL_SOSHORT2).$(MINVER).$(RELVER)
INSTALL_DYLIBSHORT1= libluajit-$(ABIVER).dylib
INSTALL_DYLIBSHORT2= libluajit-$(ABIVER).$(MAJVER).dylib
INSTALL_DYLIBNAME= libluajit-$(ABIVER).$(MAJVER).$(MINVER).$(RELVER).dylib
INSTALL_PCNAME= luajit.pc

INSTALL_STATIC= $(INSTALL_LIB)/$(INSTALL_ANAME)
INSTALL_DYN= $(INSTALL_LIB)/$(INSTALL_SONAME)
INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT1)
INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT2)
INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME)
INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME)
INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME)
Expand Down Expand Up @@ -87,12 +88,17 @@ FILES_JITLIB= bc.lua v.lua dump.lua dis_x86.lua dis_x64.lua dis_arm.lua \
dis_ppc.lua dis_mips.lua dis_mipsel.lua bcsave.lua vmdef.lua

ifeq (,$(findstring Windows,$(OS)))
ifeq (Darwin,$(shell uname -s))
INSTALL_SONAME= $(INSTALL_DYLIBNAME)
INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_DYLIBSHORT1)
INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_DYLIBSHORT2)
LDCONFIG= :
endif
HOST_SYS:= $(shell uname -s)
else
HOST_SYS= Windows
endif
TARGET_SYS?= $(HOST_SYS)

ifeq (Darwin,$(TARGET_SYS))
INSTALL_SONAME= $(INSTALL_DYLIBNAME)
INSTALL_SOSHORT1= $(INSTALL_DYLIBSHORT1)
INSTALL_SOSHORT2= $(INSTALL_DYLIBSHORT2)
LDCONFIG= :
endif

##############################################################################
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
README for LuaJIT 2.0.3
README for LuaJIT 2.0.5
-----------------------

LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language.

Project Homepage: http://luajit.org/

LuaJIT is Copyright (C) 2005-2014 Mike Pall.
LuaJIT is Copyright (C) 2005-2017 Mike Pall.
LuaJIT is free software, released under the MIT license.
See full Copyright Notice in the COPYRIGHT file or in luajit.h.

Expand Down
2 changes: 1 addition & 1 deletion dist.info
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
--- This file is part of LuaDist project

name = "luajit"
version = "2.0.3"
version = "2.0.5"

desc = "LuaJIT is JIT compiler for the Lua language."
author = "Mike Pall"
Expand Down
2 changes: 1 addition & 1 deletion doc/bluequad-print.css
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Copyright (C) 2004-2014 Mike Pall.
/* Copyright (C) 2004-2018 Mike Pall.
*
* You are welcome to use the general ideas of this design for your own sites.
* But please do not steal the stylesheet, the layout or the color scheme.
Expand Down
2 changes: 1 addition & 1 deletion doc/bluequad.css
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Copyright (C) 2004-2014 Mike Pall.
/* Copyright (C) 2004-2018 Mike Pall.
*
* You are welcome to use the general ideas of this design for your own sites.
* But please do not steal the stylesheet, the layout or the color scheme.
Expand Down
99 changes: 95 additions & 4 deletions doc/changes.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
<head>
<title>LuaJIT Change History</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Mike Pall">
<meta name="Copyright" content="Copyright (C) 2005-2014, Mike Pall">
<meta name="Copyright" content="Copyright (C) 2005-2018">
<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">
Expand Down Expand Up @@ -63,7 +62,7 @@ <h1>LuaJIT Change History</h1>
<div id="main">
<p>
This is a list of changes between the released versions of LuaJIT.<br>
The current <span style="color: #0000c0;">stable version</span> is <strong>LuaJIT&nbsp;2.0.3</strong>.<br>
The current <span style="color: #0000c0;">stable version</span> is <strong>LuaJIT&nbsp;2.0.5</strong>.<br>
</p>
<p>
Please check the
Expand All @@ -72,6 +71,98 @@ <h1>LuaJIT Change History</h1>
</p>

<div class="major" style="background: #d0d0ff;">
<h2 id="LuaJIT-2.0.5">LuaJIT 2.0.5 &mdash; 2017-05-01</h2>
<ul>
<li>Add workaround for MSVC 2015 stdio changes.</li>
<li>Limit mcode alloc probing, depending on the available pool size.</li>
<li>Fix overly restrictive range calculation in mcode allocation.</li>
<li>Fix out-of-scope goto handling in parser.</li>
<li>Remove internal <tt>__mode = "K"</tt> and replace with safe check.</li>
<li>Add "proto" field to <tt>jit.util.funcinfo()</tt>.</li>
<li>Fix GC step size calculation.</li>
<li>Initialize <tt>uv->immutable</tt> for upvalues of loaded chunks.</li>
<li>Fix for cdata vs. non-cdata arithmetics/comparisons.</li>
<li>Drop leftover regs in 'for' iterator assignment, too.</li>
<li>Fix PHI remarking in SINK pass.</li>
<li>Don't try to record outermost <tt>pcall()</tt> return to lower frame.</li>
<li>Add guard for obscure aliasing between open upvalues and SSA slots.</li>
<li>Remove assumption that <tt>lj_math_random_step()</tt> doesn't clobber FPRs.</li>
<li>Fix handling of non-numeric strings in arithmetic coercions.</li>
<li>Fix recording of <tt>select(n, ...)</tt> with off-trace varargs</li>
<li>Fix install for cross-builds.</li>
<li>Don't allocate unused 2nd result register in JIT compiler backend.</li>
<li>Drop marks from replayed instructions when sinking.</li>
<li>Fix unsinking check.</li>
<li>Properly handle OOM in <tt>trace_save()</tt>.</li>
<li>Limit number of arguments given to <tt>io.lines()</tt> and <tt>fp:lines()</tt>.</li>
<li>Fix narrowing of <tt>TOBIT</tt>.</li>
<li>OSX: Fix build with recent XCode.</li>
<li>x86/x64: Don't spill an explicit <tt>REF_BASE</tt> in the IR.</li>
<li>x86/x64: Fix instruction length decoder.</li>
<li>x86/x64: Search for exit jumps with instruction length decoder.</li>
<li>ARM: Fix <tt>BLX</tt> encoding for Thumb interworking calls.</li>
<li>MIPS: Don't use <tt>RID_GP</tt> as a scratch register.</li>
<li>MIPS: Fix emitted code for U32 to float conversion.</li>
<li>MIPS: Backport workaround for compact unwind tables.</li>
<li>MIPS: Fix cross-endian jit.bcsave.</li>
<li>MIPS: Fix <tt>BC_ISNEXT</tt> fallback path.</li>
<li>MIPS: Fix use of ffgccheck delay slots in interpreter.</li>
<li>FFI: Fix FOLD rules for <tt>int64_t</tt> comparisons.</li>
<li>FFI: Fix SPLIT pass for <tt>CONV i64.u64</tt>.</li>
<li>FFI: Fix <tt>ipairs()</tt> recording.</li>
<li>FFI: Don't propagate qualifiers into subtypes of complex.</li>
</ul>

<h2 id="LuaJIT-2.0.4">LuaJIT 2.0.4 &mdash; 2015-05-14</h2>
<ul>
<li>Fix stack check in narrowing optimization.</li>
<li>Fix Lua/C API typecheck error for special indexes.</li>
<li>Fix string to number conversion.</li>
<li>Fix lexer error for chunks without tokens.</li>
<li>Don't compile <tt>IR_RETF</tt> after <tt>CALLT</tt> to ff with-side effects.</li>
<li>Fix <tt>BC_UCLO</tt>/<tt>BC_JMP</tt> join optimization in Lua parser.</li>
<li>Fix corner case in string to number conversion.</li>
<li>Gracefully handle <tt>lua_error()</tt> for a suspended coroutine.</li>
<li>Avoid error messages when building with Clang.</li>
<li>Fix snapshot #0 handling for traces with a stack check on entry.</li>
<li>Fix fused constant loads under high register pressure.</li>
<li>Invalidate backpropagation cache after DCE.</li>
<li>Fix ABC elimination.</li>
<li>Fix debug info for main chunk of stripped bytecode.</li>
<li>Fix FOLD rule for <tt>string.sub(s, ...) == k</tt>.</li>
<li>Fix FOLD rule for <tt>STRREF</tt> of <tt>SNEW</tt>.</li>
<li>Fix frame traversal while searching for error function.</li>
<li>Prevent GC estimate miscalculation due to buffer growth.</li>
<li>Prevent adding side traces for stack checks.</li>
<li>Fix top slot calculation for snapshots with continuations.</li>
<li>Fix check for reuse of SCEV results in <tt>FORL</tt>.</li>
<li>Add PS Vita port.</li>
<li>Fix compatibility issues with Illumos.</li>
<li>Fix DragonFly build (unsupported).</li>
<li>OpenBSD/x86: Better executable memory allocation for W^X mode.</li>
<li>x86: Fix argument checks for <tt>ipairs()</tt> iterator.</li>
<li>x86: <tt>lj_math_random_step()</tt> clobbers XMM regs on OSX Clang.</li>
<li>x86: Fix code generation for unused result of <tt>math.random()</tt>.</li>
<li>x64: Allow building with <tt>LUAJIT_USE_SYSMALLOC</tt> and <tt>LUAJIT_USE_VALGRIND</tt>.</li>
<li>x86/x64: Fix argument check for bit shifts.</li>
<li>x86/x64: Fix code generation for fused test/arith ops.</li>
<li>ARM: Fix write barrier check in <tt>BC_USETS</tt>.</li>
<li>PPC: Fix red zone overflow in machine code generation.</li>
<li>PPC: Don't use <tt>mcrxr</tt> on PPE.</li>
<li>Various archs: Fix excess stack growth in interpreter.</li>
<li>FFI: Fix FOLD rule for <tt>TOBIT</tt> + <tt>CONV num.u32</tt>.</li>
<li>FFI: Prevent DSE across <tt>ffi.string()</tt>.</li>
<li>FFI: No meta fallback when indexing pointer to incomplete struct.</li>
<li>FFI: Fix initialization of unions of subtypes.</li>
<li>FFI: Fix cdata vs. non-cdata arithmetic and comparisons.</li>
<li>FFI: Fix <tt>__index</tt>/<tt>__newindex</tt> metamethod resolution for ctypes.</li>
<li>FFI: Fix compilation of reference field access.</li>
<li>FFI: Fix frame traversal for backtraces with FFI callbacks.</li>
<li>FFI: Fix recording of indexing a struct pointer ctype object itself.</li>
<li>FFI: Allow non-scalar cdata to be compared for equality by address.</li>
<li>FFI: Fix pseudo type conversions for type punning.</li>
</ul>

<h2 id="LuaJIT-2.0.3">LuaJIT 2.0.3 &mdash; 2014-03-12</h2>
<ul>
<li>Add PS4 port.</li>
Expand Down Expand Up @@ -918,7 +1009,7 @@ <h2 id="LuaJIT-1.0.0">LuaJIT 1.0.0 &mdash; 2005-08-29</h2>
</div>
<div id="foot">
<hr class="hide">
Copyright &copy; 2005-2014 Mike Pall
Copyright &copy; 2005-2018
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
Expand Down
14 changes: 10 additions & 4 deletions doc/contact.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
<head>
<title>Contact</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Mike Pall">
<meta name="Copyright" content="Copyright (C) 2005-2014, Mike Pall">
<meta name="Copyright" content="Copyright (C) 2005-2018">
<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">
Expand Down Expand Up @@ -59,8 +58,15 @@ <h1>Contact</h1>
</div>
<div id="main">
<p>
If you want to report bugs, propose fixes or suggest enhancements,
please use the
<a href="https://github.com/LuaJIT/LuaJIT/issues">GitHub issue tracker</a>.
</p>
<p>
Please send general questions to the
<a href="http://luajit.org/list.html"><span class="ext">&raquo;</span>&nbsp;LuaJIT mailing list</a>.
</p>
<p>
You can also send any questions you have directly to me:
</p>

Expand All @@ -84,15 +90,15 @@ <h1>Contact</h1>
<h2>Copyright</h2>
<p>
All documentation is
Copyright &copy; 2005-2014 Mike Pall.
Copyright &copy; 2005-2018 Mike Pall.
</p>


<br class="flush">
</div>
<div id="foot">
<hr class="hide">
Copyright &copy; 2005-2014 Mike Pall
Copyright &copy; 2005-2018
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
Expand Down
9 changes: 4 additions & 5 deletions doc/ext_c_api.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
<head>
<title>Lua/C API Extensions</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Mike Pall">
<meta name="Copyright" content="Copyright (C) 2005-2014, Mike Pall">
<meta name="Copyright" content="Copyright (C) 2005-2018">
<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">
Expand Down Expand Up @@ -89,8 +88,8 @@ <h2 id="luaJIT_setmode"><tt>luaJIT_setmode(L, idx, mode)</tt>
</p>
<p>
The third argument specifies the mode, which is 'or'ed with a flag.
The flag can be <tt>LUAJIT_MODE_OFF</tt> to turn a feature on,
<tt>LUAJIT_MODE_ON</tt> to turn a feature off, or
The flag can be <tt>LUAJIT_MODE_OFF</tt> to turn a feature off,
<tt>LUAJIT_MODE_ON</tt> to turn a feature on, or
<tt>LUAJIT_MODE_FLUSH</tt> to flush cached code.
</p>
<p>
Expand Down Expand Up @@ -177,7 +176,7 @@ <h3 id="mode_wrapcfunc"><tt>luaJIT_setmode(L, idx, LUAJIT_MODE_WRAPCFUNC|flag)</
</div>
<div id="foot">
<hr class="hide">
Copyright &copy; 2005-2014 Mike Pall
Copyright &copy; 2005-2018
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
Expand Down
5 changes: 2 additions & 3 deletions doc/ext_ffi.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
<head>
<title>FFI Library</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Mike Pall">
<meta name="Copyright" content="Copyright (C) 2005-2014, Mike Pall">
<meta name="Copyright" content="Copyright (C) 2005-2018">
<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">
Expand Down Expand Up @@ -320,7 +319,7 @@ <h2 id="cdata">Motivating Example: Using C Data Structures</h2>
</div>
<div id="foot">
<hr class="hide">
Copyright &copy; 2005-2014 Mike Pall
Copyright &copy; 2005-2018
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
Expand Down
5 changes: 2 additions & 3 deletions doc/ext_ffi_api.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
<head>
<title>ffi.* API Functions</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Mike Pall">
<meta name="Copyright" content="Copyright (C) 2005-2014, Mike Pall">
<meta name="Copyright" content="Copyright (C) 2005-2018">
<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">
Expand Down Expand Up @@ -556,7 +555,7 @@ <h2 id="literals">Extensions to the Lua Parser</h2>
</div>
<div id="foot">
<hr class="hide">
Copyright &copy; 2005-2014 Mike Pall
Copyright &copy; 2005-2018
<span class="noprint">
&middot;
<a href="contact.html">Contact</a>
Expand Down
Loading