Vanilla LuaJIT sync status - tsafin/tarantool GitHub Wiki

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
9512d5c1 Fix pow() optimization inconsistencies. lj-684 any any from the original issue
c50232eb Always exit after machine code page protection change fails. lj-802 any any
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
b5b20191 Save trace recorder state around VM event call. gh-6782 any any from the original issue
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
d5a237ea Fix HREFK forwarding vs. table.clear(). lj-792 any any from the original issue
bc1bdbf6 Fix FOLD rule for BUFHDR append. lj-791 any any from the original issue
be251d91 OSX: Disable unreliable assertion for external frame unwinding. lj-793 any OSX from the original issue
e5604875 Limit exponent range in number parsing. lj-788 any any from the original issue
103c29e6 Fix tonumber("-0") in dual-number mode. lj-787 dualnum any from the original PR
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
e73916d8 Prevent CSE of a REF_BASE operand across IR_RETF. lj-784 any any from the original issue
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
43f11794 Update Android build docs. lj-770 any Android
bfcb74ed OSX/ARM64: Fix external unwinding. arm64 osx
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
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
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
27ee3bcd OSX/ARM64: Disable external unwinding for now. arm64 osx
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
0e66fc96 Prevent loop in snap_usedef(). lj-736 any any from the original issue
d87da3d5 Fix io.close() error message. lj-735 any any
8430f774 Fix io.close(). lj-735 from the original issue
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
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
44bd7437 Fix jit.dump() output for IR_CONV. any any
e9577376 Disable unreliable assertion for external frame unwinding. lj-722 arm64 Linux
95140c50 Flush and close output file after profiling run. lj-726 any any
16d38a4b Avoid conflict between 64 bit lightuserdata and ITERN key. lj-727 arm64 any from the original issue
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
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
c2cfa042 PPC/PS3: Fix BC_ADD*/BC_SUB*. ppc PS3
0e53a314 Fix use-def analysis for vararg functions. any any
2801500a Fix use-def analysis for BC_VARG. lj-704 any any from the original issue
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
de772054 Fix IR_RENAME snapshot number. Follow-up fix for a32aeadc. lj-688 any any from the original issue
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
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
668b1896 Fix .bat file builds. any Windows/XBOX/PS
d4a554d6 OSX: Fix build by hardcoding external frame unwinding. lj-677 any OSX
4c6b669c String buffers, part 1: object serialization. any any
836fb5bb Reorganize lightuserdata interning code. any any
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
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
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
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
d67ff15a x64: Fix __call metamethod return dispatch. x86 (on x64) any 1672bdc0
377a8488 Fix binary number literal parsing. any any
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
de6b1a11 Ensure full init of IR_NOP instructions. lj-624 any any
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
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)
881d02d3 Mark CONV as non-weak, to prevent elimination of its side-effect. any any
dd5032ed Fix lua_yield() from C hook. any/LJ_GC64 any from the mailing list
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
ff1e72ac LJ_GC64: Always snapshot functions for non-base frames. lj-611 any/LJ_GC64 any from the original issue
e296f56b Call error function on rethrow after trace exit. lj-603 arm/mips/ppc/x86 any from the original issue
12ab5969 Fix handling of errors during snapshot restore. lj-603 any any
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. any any
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
f5b0fff5 Fix debug.debug() for non-string errors. lj-586 any any from the original issue
1a4ff131 Optimize table length computation with hinting. any any
b2307c8a Remove pow() splitting and cleanup backends. lj-9 any any
5655be45 Cleanup math function compilation and fix inconsistencies. any any
2f3f0788 Fix bytecode register allocation for comparisons. gh-6227 any any 66c6d16d
d75e2627 Don't compile math.modf() anymore. any any
03208c81 Fix math.min()/math.max() inconsistencies. any any
1e6e8aaa Fix narrowing of unary minus. any any
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
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
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
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
e613105c Fix write barrier for lua_setupvalue() and debug.setupvalue(). any any
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
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
94d0b530 MIPS: Add MIPS64 R6 port. mips/mips64 any
dfa692b7 Fix string.char() recording with no arguments. any any
e49863ed Followup fix for embedded bytecode loader. any any
82033996 Fix embedded bytecode loader. any any
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
92fa45f9 Fix interaction between profiler hooks and finalizers. lj-512 any any from the original issue
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
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
16e5605e Prevent integer overflow while parsing long strings. any any
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
0cd643d7 Fix debug.getinfo() argument check. any any from the original issue 48f463e6
51e01393 MIPS: Fix delay slot hint. lj-503 mips any
d4c0c6e1 Fix TNEW load forwarding with instable types. any any
9bd5a722 ARM: Fix GCC 7 -Wimplicit-fallthrough warnings. arm any
5802ab56 ARM: Fix condition code check fusion. arm any
b33e3f2d ARM64: Avoid side-effects of constant rematerialization. arm64 any from the 438 PR
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
61464b0a Fix MinGW build. lj-452 any Windows
5c911998 DynASM/MIPS: Fix shadowed variable. lj-461 mips any
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
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
26f10238 DynASM/x86: Fix vroundps/vroundpd encoding. lj-437 x64/x86 any
9b410621 DynASM: Fix warning. any any
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
a5a89ab5 From Lua 5.3: assert() accepts any type of error object. any any from the original issue
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
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
f3cf0d6e Give expected results for negative non-base-10 numbers in tonumber(). lj-413 from the original issue
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
b03a56f2 FFI: Don't assert on #1LL (5.2 compatibility mode only). lj-386 any any from the original issue
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.")
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
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
06cd9fce ARM64: Fix assembly of HREFK. ARM64 any from the original issue
9f0caad0 Fix FOLD rule for strength reduction of widening. any any from the mailing list
850f8c59 LJ_GC64: Make ASMREF_L references 64 bit. any/LJ_GC64 any from the mailing list
b4ed3219 LJ_GC64: Fix ir_khash for non-string GCobj. lj-356 any/LJ_GC64 any
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
71b7bc88 PPC: Add soft-float support to JIT compiler backend. lj-330 ppc any
6b082485 x64/LJ_GC64: Fix fallback case of asm_fuseloadk64(). x64/LJ_GC64 any
f3d75075 Use https for freelists.org links. any any
fd37da0d PPC: Add soft-float support to interpreter. lj-330 ppc any
7e662e4f x64/LJ_GC64: Fix emit_rma(). x64/LJ_GC64 any
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
c7c3c4da MIPS: Fix handling of spare long-range jump slots. mips any
7381b620 MIPS: Use precise search for exit jump patching. mips any
630ff319 Add missing LJ_MAX_JSLOTS check. any any
⚠️ **GitHub.com Fallback** ⚠️