Skip to content

Vanilla LuaJIT sync status

Sergey Kaplun edited this page Feb 21, 2024 · 96 revisions

The table can be updated later using

git log --oneline --full-history "top hash in the table"..HEAD | grep -v "Merge branch"

with output put to the top of the table.

LuaJIT Hash Commit Description Relevant PR/Issue Arch OS Test/Benchmark Tarantool Hash
defe61a5 Rework stack overflow handling. lj-1152 any any from the original issue
9cdd5a94 Preserve keys with dynamic values in template tables when saving bytecode. lj-1155 any any from the original issue
14987af8 Prevent include of luajit_rolling.h. lj-1145 any any
e6c0ade9 Fix documentation bug about '\z' string escape. any any
343ce0ed Fix zero stripping in %g number formatting. lj-1149 any any from the original issue 0f6fa6e
85b4fed0 Fix unsinking of IR_FSTORE for NULL metatable. lj-1147 any any from the original issue 0f6fa6e
3ca0a807 DynASM/x86: Add endbr instruction. x86/x64 any
2f35cb45 MIPS64 R2/R6: Fix FP to integer conversions. lj-1146 mips any from the original issue
4b90f6c4 Add cross-32/64 bit and deterministic bytecode generation. any any
c525bcb9 DynASM/x86: Allow [&expr] operand. lj-1138 x86/x64 any
65853056 Check for IR_HREF vs. IR_HREFK aliasing in non-nil store check. lj-1133 any any from the original issue
7dbe5459 Respect jit.off() on pending trace exit. lj-1134 any any from the original issue 0f6fa6e
c42c62e7 Simplify handling of instable types in TNEW/TDUP load forwarding. lj-994 any any from the original issue 0f6fa6e
9bdfd34d Only emit proper parent references in snapshot replay. lj-1132 any any from the original issue 0f6fa6e
ff204d03 Fix anchoring for string buffer set() method (again). lj-1125 any any from the original issue
10cc759f ARM: Fix stack restore for FP slots. lj-1131 arm any from the original issue
1b38c736 Document workaround for multilib vs. cross-compiler conflict. lj-1126 any any
e02cb19b Fix anchoring for string buffer set() method. lj-1125 any any from the original issue
856423f5 Fix runtime library flags for MSVC debug builds. lj-1127 any Windows
dcf3627d Fix .debug_abbrev section in GDB JIT API. lj-1129 any any
d1236a4c Optimize table.new() with constant args to (sinkable) IR_TNEW. lj-1128 any any 0f6fa6e
1761fd2e Emit sunk IR_NEWREF only once per key on snapshot replay. any any from the original issue 0f6fa6e
43d0a191 Fix last commit. lj-1117 x86/x64 any
64472364 x86/x64: Don't fuse loads across IR_NEWREF. lj-1117 x86/x64 any from the original issue
113a168b Improve last commit. lj-1117 x86/x64 any
45c88b79 x86/x64: Don't fuse loads across table.clear. lj-1117 x86/x64 any from the original issue
d854d00c x86/x64: Add more red zone checks to assembler backend. lj-1116 x86/x64 any from the original issue
a4c16404 Add stack check to pcall/xpcall. lj-1048 any any from the original issue
65c84939 Invalidate SCEV entry when returning to lower frame. lj-1115 any any from the original PR
433d7e8d FFI: Fix pragma push stack limit check and throw on overflow. any any from the original issue e844cd0
ce2cd617 ARM64: Fix disassembly of ldp/stp offsets. lj-1113 arm64 any Note: Follow up for lj-1100
07b3cd3c Check for upvalue state transition in IR_UREFO. lj-1085 any any from the original issue
d133d67c x64: Properly fix __call metamethod return dispatch. lj-1110 x64 any e844cd0
f2e955da Windows/x86: _BitScan*64 are only available on 64 bit archs. lj-1109 x86 Windows
e826d0c1 Add 'cc' file type for saving bytecode. lj-1105 any any from the original issue
4eb47df6 FFI/Windows: Fix type declaration for int64_t and uint64_t. lj-1106 any Windows
db944b2b FFI: Fix dangling reference to CType in carith_checkarg(). lj-1108 any any from the original issue 1a0bafd
656ecbcf DynASM/ARM64: Support ldp/stp of q registers. lj-1100 arm64 any
d2a5487f ARM64: Use ADR and ADRP to form constants. lj-1100 arm64 any
14866a68 ARM64: Fix disassembly of U12 loads. lj-1100 arm64 any
c5b075eb ARM64: Unify constant register handling in interpreter. lj-1096 arm64 any
9cc8bbb7 ARM: Fix register hint for FFI calls with FP results. lj-1096 arm any
1e93951b ARM64: Fix register hint for FFI calls with FP results. lj-1096 arm64 Windows
007e4dce ARM64: Restore fp before sp in C stack unwinders. lj-1096 arm64 Windows
becf5cc6 FFI: Fix ffi.abi("pauth"). lj-1098 OSX arm64
f72c19e4 Maintain chain invariant in DCE. lj-1094 any any from the original issue
d1a2fef8 LJ_FR2: Fix stack checks in vararg calls. lj-1048 any any
aa6b15c1 Follow-up fix for stack overflow handling cleanup. lj-962 any any 0f6fa6e
a5d2f70c Handle OOM error on stack resize in coroutine.resume and lua_checkstack. lj-1066 any any from the original issue
e86990f7 Restore cur_L for specific Lua/C API use case. lj-1066 any any from the original issue 10372d0
b8919781 Consistently use 64 bit constants for 64 bit IR instructions. lj-1084 any any from the original issue
91592899 ARM64: Fix IR_HREF code generation for constant FP keys. lj-1090 arm64 any from the original issue Note: Follow up for lj-1070
fca1f51b ARM64: Fuse negative 32 bit constants into arithmetic ops again. lj-1065 arm64 any
b138ccfa Handle all stack layouts in (delayed) TRACE vmevent. lj-1087 any any from the original issue
92b89d00 Add missing coercion when recording select(string, ...) lj-1083 any any
d2f6c55b Cleanup stack overflow handling. lj-962 any any 0f6fa6e
e897c574 Windows/ARM64: Add MSVC cross-build support for x64 to ARM64. lj-593 arm64 Windows
7a2b83a0 IR_MIN/IR_MAX is non-commutative due to underlying FPU ops. any any e844cd0
42ca6e12 ARM64: Set fixed interpreter registers before rethrow. lj-593 arm64 Windows
7a77a3cd Windows/ARM64: Update install docs. lj-593 arm64 Windows
bd2d1071 Windows: Call C++ destructors without compiling with /EHa. lj-593 arm64 Windows
7a1c1395 Windows: Pass scratch CONTEXT record to RtlUnwindEx. lj-593 arm64 Windows
18b8fd8d ARM64: External unwinder already restores non-volatile registers. lj-593 arm64 Windows
b36f9fad Windows/ARM64: Fix exception unwinding (again). lj-593 arm64 Windows
8af63f99 Windows/ARM64: Fix typo in exception unwinding. lj-593 arm64 Windows
9e043724 FFI: Fix 64 bit shift fold rules. lj-1079 any any from the original issue
1c33f463 Windows/ARM64: Support Windows calling conventions. lj-593 arm64 Windows
f63bc569 Windows/ARM64: Fix exception unwinding. lj-593 arm64 Windows
836ab422 ARM64: Remove unneeded IRCALL_* defs for math intrinsics. lj-593 arm64 Windows
b174d5e6 Fix Cygwin build. any Cygwin
97609846 Allow path overrides in genversion.lua with minilua, too. lj-1067 any any
cb413bf8 Windows/ARM64: Add initial support. arm64 Windows
4fe20022 Improve architecture detection error messages. any any
4611e25c ARM64: Fuse rotates into logical operands. lj-1076 arm64 any from the original issue
90742d91 ARM64: Don't fuse sign extensions into logical operands. lj-1076 arm64 any from the original issue
ba2b34f5 ARM64: Disassemble rotates on logical operands. lj-1076 arm64 any from the original issue
44da356e ARM: Fix stack check code generation. lj-1068 arm64 any from the original issue
b8c6ccd5 ARM64: Fix LDP/STP fusion (again). lj-1075 arm64 any from the original PR
0705ef6c ARM64: Ensure branch is in range before emitting TBZ/TBNZ. lj-1074 arm64 any from the original issue
43eff4aa Fix mcode limit check for non-x86 archs. lj-1074 arm64 any from the original issue
de2e09f5 ARM64: Improve BC_JLOOP. lj-1070 arm64 any
6c599960 ARM64: Improve integer IR_MUL code generation. lj-1070 arm64 any
4ed83bd9 ARM64: Simplify code generation for IR_STRTO. lj-1070 arm64 any
a5ee3586 ARM64: Use RID_TMP instead of scratch register in more places. lj-1070 arm64 any
c1877e64 ARM64: Improve IR_OBAR code generation. lj-1070 arm64 any
c2bdce39 ARM64: Improve IR_UREF code generation. lj-1070 arm64 any
435d8c63 ARM64: Improve IR_HREF code generation. lj-1070 arm64 any
315dc3e7 ARM64: Reload BASE via GL instead of spilling it. lj-1068 arm64 any
5149b0a3 ARM64: Consolidate 32/64-bit constant handling in assembler. lj-1065 arm64 any
dfc122e4 ARM64: Tune emit_lsptr. Avoid wrong load for asm_prof. lj-1065 arm64 any
4651ff2f ARM64: Inline only use of emit_loada. lj-1065 arm64 any
9daf9f90 ARM64: Improve K13 constant rematerialization. lj-1065 arm64 any
7f9907b4 Add NaN check to IR_NEWREF. lj-1069 any any from the original issue e844cd0
4d05806a Allow override of paths for genversion.lua. lj-1067 any any
19707009 Fix native MinGW build. lj-1071 any Windows
41fb94de Add randomized register allocation for fuzz testing. lj-1062 any any
2f6c451c ARM64: Improve register allocation for integer IR_MUL/IR_MULOV. lj-1062 arm64 any
7ff8f26e ARM64: Fix register allocation for IR_*LOAD. lj-1062 arm64 any
c6ee7e19 Update external MSDN URL in code. lj-1060 any any
83954100 FFI/ARM64/OSX: Handle non-standard OSX C calling conventions. arm64 OSX
cf903edb FFI: Unify stack setup for C calls in interpreter. any any Note: required for the 83954100
7cc53f0b ARM64: Prevent STP fusion for conditional code emitted by TBAR. lj-1057 arm64 any from the original issue
0fa2f1cb ARM64: Fix LDP/STP fusing for unaligned accesses. lj-1056 arm64 any from the original issue
0ef51b49 Handle table unsinking in the presence of IRFL_TAB_NOMM. lj-1052 any any from the original issue fcb41bb
6a3111a5 Use fallback name for install files without valid .git or .relver. any any
a0b52aae Handle non-.git checkout with .relver in .bat-file builds. reported in the mailing list any Winows/PS
14e2917e Fix external C call stack check when using LUAJIT_MODE_WRAPCFUNC. lj-1047 arm/arm64/mips/mips64/ppc any
309fb42b Fix predict_next() in parser (again). lj-1054 any any from the original issue fcb41bb
03c31124 Fix typo. lj-1051 any any
d0ce82ec Handle the case when .git is not a directory. reported in the mailing list any any
33e2a49d Add .gitattributes to dynamically resolve .relver. reported in the mailing list any any
093759d5 Fix for last commit: also remove symlink on uninstall. any any
748ab9d9 Switch to rolling releases: mark v2.1 as production. any any
ed21acd8 Fix Windows build scripts for rolling releases. lj-1050 any Windows
6351abc7 Switch MSVC and console build scripts to rolling releases. any Windows
50e0fa03 Switch build system to rolling releases. any any
c3459468 Update documentation for switch to rolling releases. any any
158a284c Bump copyright date. any any
cbb187ae Remove work-in-progress notice in string buffer docs. any any
72efc42e MIPS: Fix "bad FP FLOAD" assertion. lj-1043 mips any from the original issue fcb41bb
119fd1fa Ensure forward progress on trace exit to BC_ITERN. any any
27af72e6 ARM64: Add support for ARM64e pointer authentication codes (PAC). lj-559 arm64 any
117ddf35 DynASM/ARM64: Add instructions for ARM64e PAC. lj-559 arm64 any
abb27c77 Fix maxslots when recording BC_VARG, part 3. lj-1046 any any from the original issue 88333d1
caf7cbc5 Fix predict_next() in parser. lj-1033 any any from the original issue 88333d1
9b544c25 MIPS32: Declare that the assembler part uses the FR=0 model. lj-1040 mips32 any
93ce12ee ARM64: Fix assembly of HREFK (again). lj-1026 arm64 any
d5bbf9cd Fix frame for more types of on-trace error messages. lj-1034 any any from the original issue fcb41bb
165ea18b Add workaround for bytecode dump of builtins. lj-1038 any any from the original issue
91914b23 DynASM: Fix regression due to warning fix. any any
aa2db7eb Fix base register coalescing in side trace. any any from the original issue e844cd0
8fbd576f ARM64: Fix assembly of HREFK. lj-1026 arm64 any from the original issue
a01cba9d Fix maxslots when recording BC_VARG, part 2. lj-1024 any any from the original issue 0d1e0cb7
0cc5fdfb Fix maxslots when recording BC_TSETM. lj-1025 any any from the original issue 88333d1
94ada596 Fix maxslots when recording BC_VARG. lj-1024 any any 0d1e0cb7
b7a8c7c1 Fix register mask for stack check in head of side trace. lj-1016 any any e844cd0
4c35a42d FFI: Fix ffi.metatype() for non-raw types. lj-1005 any any from the original issue
9493acc1 ARM64: Fix LDP code generation. lj-1028 arm64 any from the original PR
ff6c496b MIPSr6: Add missing files to Makefile install target. lj-1010 mipsr6 any
51fb2f2c DynASM: Fix warnings. any any
2d8300c1 Fix frame for on-trace out-of-memory error. lj-1004 any any fcb41bb
9f452bbe Fix handling of instable types in TNEW/TDUP load forwarding. lj-994 any any from the original issue fcb41bb
8c20c3b1 Fix compiler warning. lj-990 any any
224129a8 Fix last commit. lj-991 any any e844cd0
1c279127 Print errors from __gc finalizers instead of rethrowing them. lj-946 any any from the original PR e844cd0
c7db8255 Fix TDUP load forwarding after table rehash. lj-980 any any from the original issue 88333d1
96fc114a Fix canonicalization of +-0.0 keys for IR_NEWREF. lj-981 any any from the original issue 852664b
8135de2a Improve error reporting on stack overflow. lj-962 any any from the original issue 0f6fa6e
126526ab Allow building sources with mixed LF/CRLF line-endings. lj-965 any any
d0e88930 Fix compiler warning. lj-934 any Cygwin
a4f4f5b8 Don't fail for Clang builds, which pretend to be an ancient GCC. lj-932 any any
8a5e398c Avoid negation of signed integers in C that may hold INT*_MIN. lj-928 any any from the original issue (one of the reproducers)
b2791179 Correct fix for stack check when recording BC_VARG. gh-4053 any any
de2e1ca9 Disable FMA by default. Use -Ofma or jit.opt.start("+fma") to enable. lj-918 arm64 any from the original issue
cc96ab9d FFI: Fix dangling reference to CType. Improve checks. lj-920 any any 1a0bafd
564147f5 ARM64: Fix code generation for IR_SLOAD with typecheck + conversion. lj-917 arm64 any from the original issue
637721d0 PS4/PS5: Fix build scripts. lj-914 any PS4/PS5
1d75cd4d Avoid assertion in case of stack overflow from stitched trace. lj-913 any any from the original issue 0f6fa6e
46aa45dc NX: Always compile with -fPIC. lj-909 any Nintendo
1c5113ae Clarify contact page. any any
ca8d3257 Ensure correct stack top for OOM error message. lj-906 any any from the original issue a9e655d2
6c4826f1 ARM64: Fix IR_SLOAD assembly. lj-903 arm64 any from the original issue
dad04f17 Fix trace join to BC_JLOOP originating from BC_ITERN. any any
fffd3eaf Fix compiler warnings. lj-893 any Windows
46e62cd9 Fix last edit. lj-902 any any
b907ffc4 Remove dead Wiki links. lj-902 any any
e19db605 Fix QNX build. lj-890 any QNX
03080b79 Add -F option to override filename in jit.bcsave (luajit -b). lj-884 any any
3b3d427a Patch luajit.pc with INSTALL_INC, if customized. lj-879 any any
633f265f LJ_GC64: Fix lua_concat(). lj-881 any any from the original issue e844cd0
a93f4bb3 Prevent use of RTLD_DEFAULT when NO_RTLD_DEFAULT is defined. lj-880 any Android
a7d02654 Improve GC estimation for userdata with attached managed memory. any any
9c3df68a Add missing GC steps to string buffer methods. lj-872 any any from the original issue
e1339aed x86/x64: Limit VLOAD fusion to simple cases. lj-869 x86/x64 any from the original issue
3065c910 OSX/iOS/ARM64: Fix generation of Mach-O object files. lj-865 arm64 OSX/iOS from the original issue
32984282 Prevent trace start at BC_ITERL after compiled BC_ITERN. lj-869 any any from the original issue
5677985d ARM64: Allow building with unwinding disabled. lj-866 arm64 any 0f6fa6e
899093a9 FFI: Fix sizeof expression in C parser for reference types. lj-861 any any from the original issue
36b2962d FFI: Fix ffi.alignof() for reference types. lj-861 any any from the original issue
27a6fee8 FFI: Allow ffi.metatype() for typedefs with attributes. lj-861 any any from the original issue
b98b3723 OSX/iOS/ARM64: Fix bytecode embedding in Mach-O object file. arm64 OSX/iOS from the original issue
6bda30d8 LJ_GC64: Fix IR_VARG offset for fixed number of results. LJ_GC64 any from the original issue 3214fa0
674afcd4 x86/x64: Fix math.ceil(-0.9) result sign. lj-859 x86/x64 any from the original issue e844cd0
2e98c3d0 Grammar and spell check. lj-854 any any
0065cff7 Make embedded bytecode readable and forward-compatible. any any
6053b048 DynASM: Fix warnings. any any
7dc3850e Fix warnings in minilua.c. any any
fd86c924 Update console build instructions. lj-850 any Nintendo Switch
7beb3375 Add Nintendo Switch port. any Nintendo Switch
96157d36 Avoid zero-sized arrays in jit_State. lj-850 any any
b32e9485 Don't use jit_State during build with JIT disabled. lj-850 any any
68bb1140 DynASM/ARM64: Fix LSL/BFI* encoding with variable registers. lj-848 arm64 any
d4b6bb80 Fix ITERN loop detection when hook checks are enabled. any any from the mailing list
bb7a3072 Prevent C compiler undefined-behavior optimization. lj-845 any any
4ef96cff Fix alias analysis for table length forwarding. lj-843 any any from the original PR
80bb1428 Fix loop initialization in table.foreach(). lj-844 any any from the original issueNote: this is an optimisation.
91bc6b8a LJ_GC64: Fix HREFK optimization. lj-840 GC64 any from the original issue 0f6fa6e
3ee3c9cf Fix recording of __concat metamethod. lj-839 GC64 any from the original issue 0f6fa6e
5743edf3 Cleanup of system and architecture support docs. any any
34a62c7f Add PS5 port. any ps5
1a401622 Fix assertions. lj-833 any any e844cd0
5e3c45c4 x64: Fix RETHI/RETLO swap after call. lj-819 x64 any
20aea939 Fix assertion for LJ_KEYINDEX. lj-826 any any from the original PR
1cdff194 Add missing check for LJ_KEYINDEX in ITERN recording. lj-827 any any from the original issue
e2c312e0 DynASM/ARM64: Fix NOP instruction for aligment lj-822 arm64 any
43ebb949 Fix soft-float IR_POW splitting. or-152 any any from the original issue
93a65d3c Fix BC_UCLO insertion for returns. lj-819 any any from the original issue 0d1e0cb7
8b8304f1 Fix compiler warning. any any
96d6d503 Revert to trival pow() optimizations to prevent inaccuracies. lj-817 any any from the original issue 88333d1
aa0550e3 Fix string buffer COW handling, part 2. lj-816 any any from the original issue
62339a61 Fix install docs for Android. any Android
c93890ed *BSD: Fix getentropy() declaration. lj-814 any FreeBSD
c4adf492 Fix string buffer COW handling. lj-816 any any from the original issue
9ebebc9b Fix command-line argv handling. any any
c2237247 Don't export internal symbol. any any
9512d5c1 Fix pow() optimization inconsistencies. lj-684 any any from the original issue 88333d1
c50232eb Always exit after machine code page protection change fails. lj-802 any any fcb41bb
5935564c Fix FOLD rule for BUFHDR append with intervening buffer use. lj-799 any any from the original issue
c929efc0 Fix compiled error handling for buffer methods. lj-798 any any from the original issue
4077f0c3 Prevent unroll across BC_ITERN. lj-796 any any from the original issue
1dddc55c Prevent replay of buffer operation for PHI operands. lj-797 any any from the original PR, Note: Follow-up for the 29bc1f04: String buffers, part 3d: Compile string buffer methods and functions.
b5b20191 Save trace recorder state around VM event call. gh-6782 any any from the original issue a9e655d2
c4dfb625 Bump copyright date. any any
c21c6cb4 FFI: Ensure library is loaded before de-serializing FFI types. lj-795 any any from the original issue 1a0bafd
d5a237ea Fix HREFK forwarding vs. table.clear(). lj-792 any any from the original issue 1a0bafd
bc1bdbf6 Fix FOLD rule for BUFHDR append. lj-791 any any from the original issue 1a0bafd
be251d91 OSX: Disable unreliable assertion for external frame unwinding. lj-793 any OSX from the original issue cde911d
e5604875 Limit exponent range in number parsing. lj-788 any any from the original issue 0f6fa6e
103c29e6 Fix tonumber("-0") in dual-number mode. lj-787 dualnum any from the original PR 34330b1
a01602a8 Limit work done in SINK pass. lj-790 any any from the original issue
c8bcf1e5 Fix ABC FOLD rule with constants. lj-794 any any from the original issue e844cd0
e73916d8 Prevent CSE of a REF_BASE operand across IR_RETF. lj-784 any any from the original issue 1a0bafd
1d20f33d Windows: Fix binary output of jit.bcsave to stdout. lj-782 any Windows
7b994e0e Fix FOLD rule for x-0. lj-783 any any from the original PR e844cd0
43f11794 Update Android build docs. lj-770 any Android
b4b2dce9 ARM64: Fix pcall() error case. lj-762 arm64 any from the original issue 15e62a6
bfcb74ed OSX/ARM64: Fix external unwinding. arm64 osx 91ffae2
bfd07653 Fix string buffer method recording. lj-755 any any from the original issue
05f1984e Fix interaction of profiler and ITERN recording. lj-754 any any from the original issue
442eff63 Fix compilation of multi-result call to next(). lj-753 any any from the original issue
e4b4d945 ARM64: Fix IR_HREF code generation. lj-610 arm64 any
4a70bd71 MIPS64: Fix soft-float IR_TOSTR. mips64 any
d3294fa6 MIPS: Fix register allocation in assembly of HREF. lj-610 mips any from the original issue
a2047d3f Fix compiler warning. lj-749 any Linux
1811c4b0 Windows/x64: Document MSVC flags for C++ exception interoperability. any Windows see also this thread in ML
94a40bb2 FFI: Ensure returned string is alive in ffi.typeinfo(). lj-745 any any from the original issue
78350a25 OSX/ARM64: Disable unwind info. arm64 osx 91ffae2
204cee2c Fix stack allocation after on-trace stack check. any any
191d87f5 Fix ITERN blacklisting. lj-744 any any
1aa4af0b Ensure ITERN forward progress on interpreter bailout. lj-744 any any
421c4c79 ARM64: Reorder interpreter stack frame and fix unwinding. lj-722 arm64 Linux from the original issue 91ffae2
28440544 Don't bail out to interpreter to JLOOP originating from ITERN. lj-744 any any
003f6856 FFI: Don't load PC from non-function object in FFI continuation. lj-743 arm64/mips64 Fedora from LuaJIT test suite
68ffbd31 FFI: Don't load PC from non-function object in FFI continuation. lj-743 arm/mips/ppc Fedora from LuaJIT test suite
a622e2eb FFI: Fix missing cts->L initialization in argv2ctype(). any any from this gist 1a0bafd
27ee3bcd OSX/ARM64: Disable external unwinding for now. arm64 osx 91ffae2
bb0f2410 Compile table traversals: next(), pairs(), BC_ISNEXT/BC_ITERN. lj-275 any any
986bb406 Use IR_HIOP for generalized two-register returns. lj-275 any any
c6f5ef64 Refactor table traversal. lj-275 any any
4e0ea654 ARM: Fix symbol display in trace disassembly. arm any
5ee78fd8 Refactor IR_TMPREF generation. any any
9211f0b0 Refactor IR_VLOAD to take an offset. any any
f2d333c1 MIPS: Fix trace linking. mips any
8ff09d9f String buffers, part 4b: Improve de-serialization checks. any any
15ed84bd String buffers, part 4a: Add metatable serialization dictionary. any any
3a654999 Consider slots used by upvalues in use-def analysis. lj-737 any any from the original issue 0f6fa6e
0e66fc96 Prevent loop in snap_usedef(). lj-736 any any from the original issue
d87da3d5 Fix io.close() error message. lj-735 any any a9e655d2
8430f774 Fix io.close(). lj-735 from the original issue a9e655d2
81a79737 Fix minilua vararg stack handling. lj-734 any any
bc98a3ad PS4: Fix compile. lj-733 any PS4
6ca58015 Avoid out-of-range number of results when compiling select(k, ...). any any 0f6fa6e
29bc1f04 String buffers, part 3d: Compile string buffer methods and functions. any any
21826309 Minor improvements of optimizations. LJ_64 any
09547f9f Fix error message in lj_lib_checkintrange(). any any
a689e9dc String buffers, part 2f: Prevent self-put of buffer. any any
02bcbea8 String buffers, part 3c: Add IRBUFHDR_WRITE mode. any any
1d5ef35f Fix IRXLOAD_* mode bits description. any any
3a0cf697 String buffers, part 3b: Change IR_BUFHDR op2 mode bits to mode. any any
6df650fe String buffers, part 3a: Add IR_TMPREF for passing TValues to helpers. any any
71db0cf0 Add IRCONV_NONE for pass-through INT to I64/U64 type change. any any Note: needed for 29bc1f04("String buffers, part 3d: Compile string buffer methods and functions.")
44bd7437 Fix jit.dump() output for IR_CONV. any any e844cd0
e9577376 Disable unreliable assertion for external frame unwinding. lj-722 arm64 Linux cde911d
95140c50 Flush and close output file after profiling run. lj-726 any any 34330b1
16d38a4b Avoid conflict between 64 bit lightuserdata and ITERN key. lj-727 arm64 any from the original issue 34330b1
3f9389ed Throw any errors before stack changes in trace stitching. lj-720 any any from the original issue
98f95f69 DynASM/x86: Add missing escape in pattern. x86/x64 any
ec5f6a56 Fix HTML. any any
ac02a120 String buffers, part 2e: add serialization string dictionary.
4216bdfb DynASM/ARM64: Fix LSL/BFI* encoding with variable shifts. lj-715 arm64 any from the original PR
52449e2a Fix MinGW static build. lj-713 any Windows
7d267973 Fix dependencies. any any
65ff33a4 Fix IR_BUFHDR assembly. any any
1b7171c3 FFI: Support FFI numbers in string.format() and buf:putf(). any any
69138082 ARM64: More improvements to the generation of immediates. arm64 any
a119497b String buffers, part 2d: basic string buffer methods. any any
edd5cbad String buffers, part 2c: abstract out string.format. any any
50d6883e Abstract out on-demand loading of FFI library. any any 1a0bafd
61990cef String buffers, part 2b: Add extended string buffers. Use in serializer. any any
394fb626 String buffers, part 2a: internal SBuf reorg. Use full pointers. any any
ae533e3a FFI: Fix dangling reference to CType. any any 1a0bafd
c2cfa042 PPC/PS3: Fix BC_ADD*/BC_SUB*. ppc PS3
0e53a314 Fix use-def analysis for vararg functions. any any 852664b
2801500a Fix use-def analysis for BC_VARG. lj-704 any any from the original issue 852664b
5783ba1b DynASM/ARM64: Fix ADRP encoding with absolute address. arm64 any
44684fa7 Fix compiler warnings. any any
8dc3cd6c DynASM: Bump version to 1.5.0. any any
0f8a340c DynASM/ARM64: Add .long expr. Add .quad/.addr expr + refs. lj-683 arm64 any
1449663e DynASM/x86: Fix x64 .aword refs. Add .qword, .quad, .addr and .long. lj-683 x86 any from the original PR
521b3675 FFI/ARM64/OSX: Fix vararg call handling. arm64 OSX from the original PR fa581e9f
431e81cd Add FAQ about table iteration order. lj-693 any any
75ee3a61 Prevent compile of __concat with tailcall to fast function. lj-690 any any from the original issue e844cd0
de772054 Fix IR_RENAME snapshot number. Follow-up fix for a32aeadc. lj-688 any any from the original issue cde911d
5374a0a3 Fix compiler warning. lj-689 any/LJ_GC64 any
20f556e5 DynASM: Fix global label references arm/arm64/mips/ppc any
d1132afb DynASM/ARM64: Add VREG support. arm64 any
66563bda Fix build with busybox grep. lj-682 any any 91ffae2
3217240b NetBSD: Use PROT_MPROTECT() and disable getentropy(). lj-681 any NetBSD
94422268 Allow disabling the serializer. any any
b9d52396 BSD: Fix build with BSD grep. lj-678 any BSD 91ffae2
668b1896 Fix .bat file builds. any Windows/XBOX/PS
d4a554d6 OSX: Fix build by hardcoding external frame unwinding. lj-677 any OSX 91ffae2
4c6b669c String buffers, part 1: object serialization. any any
836fb5bb Reorganize lightuserdata interning code. any any 34330b1
da20ea45 Upgrade docs to HTML5. It's about time. any any
ad65934f FFI: Handle zero-fill of struct-of-NYI. any any from the LuaJIT issue 34330b1
ebc4919a ARM64: Improve generation of immediates. arm64 any
33e3f4ba Detect inconsistent renames even in the presence of sunk values. any any from the LuaJIT issue (need to be adjusted for Tarantool after memprof introducing) 3a2e4847
a32aeadc Handle on-trace OOM errors from helper functions. any any from the LuaJIT issue cde911d
ddd0fd8f Use weak guards for on-trace allocations. any any
de89c602 PPC: Fix GG_State loads. ppc any
dbb78630 MIPS: Fix handling of long-range spare jumps. mips/mips64 any
e1319361 Cleanup and enable external unwinding for more platforms. any OSX/Windows/Cygwin 91ffae2
5ccfe94f Remove specific version numbers from the docs. any any
78773699 iOS: Don't use getentropy() since it's disallowed in the App Store. lj-668 any iOS
67dbec82 Linux/ARM64: Make mremap() non-moving due to VA space woes. lj-671 arm64 Linux from the original issue 3682df1f
9b000309 Clarify macOS build instructions. any OSX
f47c864b Bump copyright date. any any
31343597 Fix trace exit register dump for some archs. arm64/mips/mips64/x64 any
ee855749 Documentation cleanup. any any
56c04acc FFI: Fix recording of union initialization. lj-650 any any from the original issue 0d1e0cb7
d67ff15a x64: Fix __call metamethod return dispatch. x86 (on x64) any 1672bdc0
377a8488 Fix binary number literal parsing. any any from the mailing list 88333d1
a50262c4 Fix warning. any OSX/BSD/Solaris/Cygwin
7aa3e313 Fix warning. any any
05046655 Minor changes and https-ify links. any any
5c46f477 Fix snapshot PC when linking to BC_JLOOP that was a BC_RET*. any any from the original issue 1a0bafd
de6b1a11 Ensure full init of IR_NOP instructions. lj-624 any any (Note: requires testing under valgrind)
e9af1abe Add support for full-range 64 bit lightuserdata. any any 2cacfa8e
e67e2040 ARM64: Followup fix for exit branch patching. lj-623 arm64 any Follow up for merge commit with e8ec6fe9 ("Prevent patching of the GC exit check branch.")
e8ec6fe9 Prevent patching of the GC exit check branch. lj-622
03a7ebca x64: Fix 64 bit shift code generation. x64 any from the mailing list 852664b
dd0f09f9 Another fix for lua_yield() from C hook. any/LJ_GC64 any from the mailing list (it is just a file with C code) 852664b
881d02d3 Mark CONV as non-weak, to prevent elimination of its side-effect. any any e844cd0
dd5032ed Fix lua_yield() from C hook. any any from the mailing list 852664b
412d5a40 DynASM/x86: Fix VREG support. lj-617 x86 any from the original issue
90e65514 Limit path length passed to C library loader. any any cde911d
ff1e72ac LJ_GC64: Always snapshot functions for non-base frames. lj-611 any/LJ_GC64 any from the original issue 0f6fa6e
e296f56b Call error function on rethrow after trace exit. lj-603 arm/mips/ppc/x86 any from the original issue e5bc192
12ab5969 Fix handling of errors during snapshot restore. lj-603 any any e5bc192
2211f6f9 ARM: Ensure relative GG_State element alignment differently. lj-608 arm any
c4b1e0fe Fix Makefile dependencies. lj-546 any any
570e758c Handle old OSX/iOS without getentropy(). lj-602 any OSX/iOS
7eb96843 Add FAQ about sandboxing. Minor fixes. lj-600 any any
53f82e6e Fix frame traversal for __gc handler frames. lj-601 any any from the original issue 6008b0ae
384d6d56 Fix Clang build. lj-595 any any 10372d0
18eef08f Android/ARM: Fix build with recent NDK. lj-594 arm Android
e1e3034c Fix compiler warning. any any
5ef9e452 Fix OSX build. lj-592 any OSX/BSD/Solaris/Cygwin
67654be5 Follow-up fix for iOS build. any iOS
2e2fb8f6 OSX/iOS: Handle iOS simulator and ARM64 Macs. gh-6065 arm64 OSX/iOS 931e94d2
471f8936 Fix pointer check for non-GC64 mode. any Windows Note: see also this thread in ML
17fb96d9 Windows: Fix NtAllocateVirtualMemory prototype. any Windows Note: see also this thread in ML
2e68e1fc Add jit.security(). any any
ff34b48d Redesign and harden string interning. any any from the lj-174 PR partially applied by 61404040
a44f53ac Use a securely seeded global PRNG for the VM.
34e53736 Cleanup some arch defines and fix builds. any POSIX/Solaris
d333b1a6 ARM: Implement FLOAD from GG_State. lj-226 arm/LJ_GC64 any
8ae5170c Improve assertions. any any 88333d1
f5b0fff5 Fix debug.debug() for non-string errors. lj-586 any any from the original issue 34330b1
1a4ff131 Optimize table length computation with hinting. any any
b2307c8a Remove pow() splitting and cleanup backends. lj-9 any any some reproducer available from this gist 88333d1
5655be45 Cleanup math function compilation and fix inconsistencies. any any a9e655d2
2f3f0788 Fix bytecode register allocation for comparisons. gh-6227 any any 66c6d16d
d75e2627 Don't compile math.modf() anymore. any any 91ffae2
03208c81 Fix math.min()/math.max() inconsistencies. any any 15e62a6
1e6e8aaa Fix narrowing of unary minus. any any 91ffae2
0eddcbea Cleanup CPU detection and tuning for old CPUs. lj-24 arm/mips/ppc/x64/x86 any
5bf0da3d ARM64: Fix {AHUV}LOAD specialized to nil/false/true. arm64 any Note: see also this PR 15e62a6
ae20998f ARM, ARM64, PPC: Fix TSETR fallback. arm/arm64/ppc any from the original PR dd75470e
322db020 Remove unused file. ppcspe any
cc4bbec4 FFI: Always fall back to metamethods for cdata length/concat. any any from the mailing list b805d4a
92c011b5 Windows: Make actual use of internal allocator optimization. lj-580 any Windows
179cf2eb Fix overflow check in unpack(). lj-574 any any from the original issue b805d4a
db0b7ec1 Fix Windows make clean. lj-561 any Windows
9143e864 FFI/ARM64: Fix pass-by-value struct calling conventions. lj-565 arm64 any from the original issue 34330b1
e613105c Fix write barrier for lua_setupvalue() and debug.setupvalue(). any any 34330b1
0ad60ccb Make string to number conversions fail on NUL char. any any from the PR to LuaJIT c6330044
522d2073 x86/x64: Fix loop realignment. lj-556 x86/x64 any from the original issue 5c8dd50
bd907032 Documentation cleanup. any any
18c9cf7d Fix POSIX install with missing or incompatible ldconfig. any POSIX
62903bac Fix C file generation in jit.bcsave. lj-551 any any
38a5ed4b Bump copyright date. any any
981ec8d2 Remove support for de-facto dead archs. ppc64 any
9749952b DynASM/x86: Fix BMI instructions. x86 any
54484e25 Minor fixes. any any 61da8e8
94d0b530 MIPS: Add MIPS64 R6 port. mips/mips64 any 88333d1
dfa692b7 Fix string.char() recording with no arguments. any any f3e49068
e49863ed Followup fix for embedded bytecode loader. lj-549 any any 0f6fa6e
82033996 Fix embedded bytecode loader. lj-549 any any from the original issue 0f6fa6e
0bee44c9 Properly fix pointer diff in string.find(). any any 98b1cfcc (via slightly different fix)
bd00094c x64: Enable LJ_GC64 mode by default. x64/LJ_GC64 any
70f4b15e FFI: Eliminate hardcoded string hashes. lj-242 any any 88333d1
92fa45f9 Fix interaction between profiler hooks and finalizers. lj-512 any any from the original issue 34330b1
9600e431 Don't use STRREF for pointer diff in string.find(). any any from the LuaJIT issue 587532e6
45a7e507 Fix tonumber("-0"). lj-528 any any from the original issue 34330b1
de48d000 Fix hash table chaining (again). lj-494 any any from the original issue a7dc9e8d (not the original patch, but from luaresty repo)
324aef08 Typo. any any
41a25efc Fix declarations of _BitScanForward/_BitScanReverse. lj-431 any Windows
46a1b268 Add stricter check for print() vs. tostring() shortcut. any any from this gist 34330b1
16e5605e Prevent integer overflow while parsing long strings. any any 88333d1
e0388e6c Fix stack check when recording BC_VARG. gh-4053 any any 5f0a43ac
1d1bac5a FFI: Add missing write barrier on C library index update. any any d92380ff
478bcfe5 FFI: Workaround for platform dlerror() returning NULL. lj-522 any Adroid
44382e83 OSX: Use __thread attribute. OSX/OpenBSD
8961a92d OSX: Don't set a default MACOSX_DEPLOYMENT_TARGET. any OSX
eba58685 Build MinGW import library, too. lj-514 any Windows
c43b6a91 Fix MinGW make clean. any Windows
08272de5 Update Android and iOS build docs. lj-477 any Android/iOS
a75d13c6 Add note about the unsuitabilty of math.random() for crypto. any any
c6c6e3b4 Update MSVC build script and docs. any Windows
3ece3a3e More recent MSVC is partially C99 compliant. any Windows
c4e15b45 Fix narrowing of conversions to U32. lj-524 any any from the original issue c9588f51
8755e0b7 Fix unsinking of 64 bit constants. gh-4072 any any from the raptorjit PR a3ba622f
20ac817a Fix bytecode dump unpatching. any any from the mailing list 34330b1
0cd643d7 Fix debug.getinfo() argument check. any any from the original issue
51e01393 MIPS: Fix delay slot hint. lj-503 mips any
d4c0c6e1 Fix TNEW load forwarding with instable types. any any 852664b
9bd5a722 ARM: Fix GCC 7 -Wimplicit-fallthrough warnings. arm any 88333d1
5802ab56 ARM: Fix condition code check fusion. arm any
b33e3f2d ARM64: Avoid side-effects of constant rematerialization. arm64 any from the 438 PR 15e62a6
f0e865dd Improve luaL_addlstring(). lj-464 any any
fc63c938 Fix os.date() for wider libc strftime() compatibility. lj-463 any any from the original issue 5c8dd50
61464b0a Fix MinGW build. lj-452 any Windows
5c911998 DynASM/MIPS: Fix shadowed variable. lj-461 mips any 88333d1
20e4c529 DynASM/PPC: Fix shadowed variable. lj-461 ppc any
380e4409 Fix overflow of snapshot map offset. any any 059ad9e9
3404183e Better detection of MinGW build. any Windows
0a9ff94c Actually implement maxirconst trace limit. lj-430 any any f08aaf6d
9c1b6378 MIPS/MIPS64: Fix TSETR barrier (again). lj-441 mips/mips64 any from the original issue
646148e7 Fix memory probing allocator to check for valid end address, too. lj-445 any any 852664b
26f10238 DynASM/x86: Fix vroundps/vroundpd encoding. lj-437 x64/x86 any
9b410621 DynASM: Fix warning. any any 88333d1
9da06535 ARM64: Fix exit stub patching. arm64 any 814625fc
c785131c ARM64: Fix write barrier in BC_USETS. arm64 any 436898f4
c3c54ce1 Windows: Add UWP support, part 1. lj-411 any Windows 88333d1
a5a89ab5 From Lua 5.3: assert() accepts any type of error object. any any from the original issue 6070257
55f70823 x86: Disassemble FMA3 instructions. lj-422 x86 any
cc299958 DynASM/x86: Add FMA3 instructions. lj-420 x86 any
b025b01c PPC/NetBSD: Fix endianess check. lj-421 ppc NetBSD
fb5e522f x86/x64: Check for jcc when using xor r,r in emit_loadi(). lj-416 x64/x86 any from the original issue a9e655d2
f5d424af FFI: Make FP to U64 conversions match JIT backend behavior. mips/x64/x86 any some ideas:
cf7a0540 Bump copyright date to 2018. any any
02b52198 FFI: Add tonumber() specialization for failed conversions. any any from the original issue b805d4a
f3cf0d6e Give expected results for negative non-base-10 numbers in tonumber(). lj-413 from the original issue 34330b1
fe651bf6 DynASM/x86: Add BMI1 and BMI2 instructions. x86 any
046129db Fix rechaining of pseudo-resurrected string keys. any any 1e3ff0c6
03cd5aa7 Clear stack after print_jit_status() in CLI. lj-382 any any
d4ee8034 Fix GCC 7 -Wimplicit-fallthrough warnings. any any 88333d1
b03a56f2 FFI: Don't assert on #1LL (5.2 compatibility mode only). lj-386 any any from the original issue (Fixed by cc4bbec4 FFI: Always fall back to metamethods for cdata length/concat. So, assume that this patch is already backported.) b805d4a
8071aa4a MIPS64: Fix soft-float +-0.0 vs. +-0.0 comparison. mips64 any
c88602f0 Fix LuaJIT API docs for LUAJIT_MODE_*. lj-381 any any
9eaad857 Fix ARMv8 (32 bit subset) detection. lj-380 arm any
430d9f8f Fix string.format("%c", 0). lj-378 any any from the original issue (Mike's note: "affects 2.0 only.") 5c8dd50
58d0dde0 Fix IR_BUFPUT assembly. lj-375 any any from the original issue ef4fd2d5
ea7071d3 MIPS64: Fix xpcall() error case. lj-365 mips64 any from the original issue
d417ded1 ARM64: Fix xpcall() error case (really). arm64 any from the original issue af889e46
7dbf0b05 Fix saved bytecode encapsulated in ELF objects. lj-366 any POSIX 852664b
33082a6f ARM64: Fix xpcall() error case. arm64 any from the original issue 4e4e3fd2
99cdfbf6 MIPS64: Fix register allocation in assembly of HREF. lj-362 mips64 any from the original PR 88333d1
06cd9fce ARM64: Fix assembly of HREFK. ARM64 any from the original issue 34330b1
9f0caad0 Fix FOLD rule for strength reduction of widening. any any from the mailing list 34330b1
850f8c59 LJ_GC64: Make ASMREF_L references 64 bit. or-144 any/LJ_GC64 any from the mailing list cde911d
b4ed3219 LJ_GC64: Fix ir_khash for non-string GCobj. lj-356 any/LJ_GC64 any a82c2462
0c0e7b16 DynASM/x86: Fix potential REL_A overflow. x86 any
bf12f1da MIPS64: Hide internal function. mips64 any
05fbdf56 x64/LJ_GC64: Fix type-check-only variant of SLOAD. lj-350 x64/LJ_GC64 a82c2462
71b7bc88 PPC: Add soft-float support to JIT compiler backend. lj-330 ppc any 88333d1
6b082485 x64/LJ_GC64: Fix fallback case of asm_fuseloadk64(). x64/LJ_GC64 any 34330b1
f3d75075 Use https for freelists.org links. any any
fd37da0d PPC: Add soft-float support to interpreter. lj-330 ppc any 88333d1
7e662e4f x64/LJ_GC64: Fix emit_rma(). x64/LJ_GC64 any cde911d
82151a45 Modify fix for warning from 'ar'. lj-336 any Windows
6a71e71c Remove unused define. lj-335 any any
b0ecc6dd FreeBSD/x64: Avoid changing resource limits, if not needed. lj-333 x64 FreeBSD 46254042
a057a07a MIPS64: Add soft-float support to JIT compiler backend. mips64 any 88333d1
c7c3c4da MIPS: Fix handling of spare long-range jump slots. mips any 88333d1
7381b620 MIPS: Use precise search for exit jump patching. mips any 88333d1
630ff319 Add missing LJ_MAX_JSLOTS check. any any 34330b1
1c89933f Fix LJ_MAX_JSLOTS assertion in rec_check_slots(). any any 88333d1

Developer Guidelines ↗

Architecture

How To ...?

Recipes

Upgrade instructions

Useful links

Old discussions

Personal pages

Clone this wiki locally