Skip to content

Commit

Permalink
luajit: bump new version
Browse files Browse the repository at this point in the history
* Mark CONV as non-weak, to prevent elimination of its side-effect.
* Fix ABC FOLD rule with constants.
* test: add test for conversions folding
* Add NaN check to IR_NEWREF.
* LJ_GC64: Fix lua_concat().
* test: introduce asserts assert_str{_not}_equal
* ci: enable codespell
* cmake: introduce target with codespell
* codehealth: fix typos
* tools: add cli flag to run profile dump parsers
* profilers: purge generation mechanism
* memprof: refactor symbol resolution
* sysprof: fix crash during FFUNC stream
* Fix last commit.
* Print errors from __gc finalizers instead of rethrowing them.
* x86/x64: Fix math.ceil(-0.9) result sign.
* test: fix flaky fix-jit-dump-ir-conv.test.lua
* IR_MIN/IR_MAX is non-commutative due to underlying FPU ops.
* Fix jit.dump() output for IR_CONV.
* Fix FOLD rule for x-0.
* FFI: Fix pragma push stack limit check and throw on overflow.
* Prevent compile of __concat with tailcall to fast function.
* Fix base register coalescing in side trace.
* Fix register mask for stack check in head of side trace.
* x64: Properly fix __call metamethod return dispatch.

Closes #8594
Closes #8767
Closes #9339
Part of #9145

NO_DOC=LuaJIT submodule bump
NO_TEST=LuaJIT submodule bump
  • Loading branch information
igormunkin committed Nov 21, 2023
1 parent adbcedc commit d953b06
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 1 deletion.
3 changes: 3 additions & 0 deletions changelogs/unreleased/gh-8594-sysprof-ffunc-crash.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## bugfix/luajit

* Fixed sysprof crash during stack unwinding for FFUNC (gh-8594).
18 changes: 18 additions & 0 deletions changelogs/unreleased/gh-9145-luajit-fixes.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,21 @@ Backported patches from the vanilla LuaJIT trunk (gh-9145). The following issues
were fixed as part of this activity:

* Fixed error handling after return from a child coroutine.
* Fixed clashing of addresses in the `__call` metamethod return dispatch (again).
* Fixed the assembling for the head of the side trace (gh-8767).
* Prevented compilation of `__concat` methamethod with tailcall to fast
function.
* Fixed buffer overflow in parsing the `#pragma` directive via FFI (gh-9339).
Now the error is thrown when more than 6 alignment settings are pushed on the
internal stack.
* Fixed incorrect fold rule for `x - (-0)` on trace (for `x = -0` the result
should be `0`).
* Fixed output for `IR_CONV` in `jit.dump()`.
* Fixed `math.min()`/`math.max()` inconsistencies for x86/x86_64 architectures
when called with a NaN argument or `-0` and `0`.
* Fixed `math.ceil(x)` result sign for -1 < x < 0.5.
* Errors from gc finalizers are now printed instead of being rethrown.
* Fixed `lua_concat()`.
* Fixed possible storing of NaN keys to table on trace.
* Fixed ABC FOLD optimization with constants.
* Marked `CONV` as non-weak, to prevent invalid control flow path choice.
2 changes: 1 addition & 1 deletion third_party/luajit
Submodule luajit updated 89 files
+2 −0 .codespell-ignore-words.txt
+3 −2 .github/workflows/lint.yml
+1 −0 CMakeLists.txt
+1 −23 Makefile.original
+58 −0 cmake/CodeSpell.cmake
+7 −7 src/Makefile.dep.original
+3 −0 src/Makefile.original
+1 −1 src/jit/dump.lua
+33 −2 src/lib_aux.c
+1 −1 src/lj_api.c
+9 −2 src/lj_asm.c
+3 −4 src/lj_asm_arm.h
+3 −4 src/lj_asm_arm64.h
+4 −4 src/lj_asm_mips.h
+4 −4 src/lj_asm_ppc.h
+4 −4 src/lj_asm_x86.h
+3 −1 src/lj_cparse.c
+8 −2 src/lj_gc.c
+3 −3 src/lj_ir.h
+3 −3 src/lj_memprof.c
+6 −1 src/lj_obj.h
+8 −5 src/lj_opt_fold.c
+12 −3 src/lj_record.c
+22 −6 src/lj_sysprof.c
+4 −3 src/lj_vmevent.h
+1 −1 src/lj_wbuf.h
+3 −3 src/luajit-gdb.py
+52 −1 src/luajit.c
+3 −3 src/luajit_lldb.py
+25 −10 src/vm_x64.dasc
+34 −12 src/vm_x86.dasc
+1 −0 test/CMakeLists.txt
+1 −1 test/LuaJIT-tests/src/ctest.c
+2 −2 test/PUC-Rio-Lua-5.1-tests/api.lua
+1 −1 test/PUC-Rio-Lua-5.1-tests/db.lua
+7 −7 test/PUC-Rio-Lua-5.1-tests/gc.lua
+1 −1 test/PUC-Rio-Lua-5.1-tests/math.lua
+1 −1 test/PUC-Rio-Lua-5.1-tests/strings.lua
+0 −1 test/tarantool-c-tests/CMakeLists.txt
+2 −0 test/tarantool-c-tests/README.md
+7 −7 test/tarantool-c-tests/lj-49-bad-lightuserdata.test.c
+98 −0 test/tarantool-c-tests/lj-881-fix-lua-concat.test.c
+30 −0 test/tarantool-c-tests/lj-991-fix-finalizer-error-handler-init.test.c
+1 −1 test/tarantool-c-tests/test.c
+14 −2 test/tarantool-c-tests/test.h
+1 −1 test/tarantool-tests/CMakeLists.txt
+1 −1 test/tarantool-tests/fix-emit-rma.test.lua
+68 −0 test/tarantool-tests/fix-jit-dump-ir-conv.test.lua
+1 −1 test/tarantool-tests/gh-4199-gc64-fuse.test.lua
+126 −0 test/tarantool-tests/gh-5688-tool-cli-flag.test.lua
+2 −5 test/tarantool-tests/gh-5813-resolving-of-c-symbols.test.lua
+1 −1 test/tarantool-tests/gh-6096-external-unwinding-on-arm64.test.lua
+9 −16 test/tarantool-tests/gh-6163-min-max.test.lua
+55 −0 test/tarantool-tests/gh-8594-sysprof-ffunc-crash.test.lua
+151 −0 test/tarantool-tests/lj-1031-asm-head-side-base-reg.test.lua
+153 −0 test/tarantool-tests/lj-1069-newref-nan-key.test.lua
+41 −0 test/tarantool-tests/lj-1082-min-max-0-commutative.test.lua
+44 −0 test/tarantool-tests/lj-1114-ffi-pragma-pack.test.lua
+1 −1 test/tarantool-tests/lj-350-sload-typecheck.test.lua
+1 −1 test/tarantool-tests/lj-356-ir-khash-non-string-obj.test.lua
+1 −1 test/tarantool-tests/lj-357-arm64-hrefk.test.lua
+1 −1 test/tarantool-tests/lj-416-xor-before-jcc.test.lua
+1 −1 test/tarantool-tests/lj-426-arm64-incorrect-check-closed-uv.test.lua
+2 −2 test/tarantool-tests/lj-512-profiler-hook-finalizers.test.lua
+1 −1 test/tarantool-tests/lj-603-err-snap-restore.test.lua
+34 −0 test/tarantool-tests/lj-690-concat-tail-call.test.lua
+28 −0 test/tarantool-tests/lj-783-fold--0.test.lua
+92 −0 test/tarantool-tests/lj-794-abc-fold-constants.test.lua
+33 −0 test/tarantool-tests/lj-833-fold-conv-from-num.test.lua
+20 −0 test/tarantool-tests/lj-859-math-ceil-sign.test.lua
+42 −0 test/tarantool-tests/lj-946-print-errors-from-gc-fin-custom.test.lua
+11 −0 test/tarantool-tests/lj-946-print-errors-from-gc-fin-default.test.lua
+24 −0 test/tarantool-tests/lj-946-print-errors-from-gc-fin-default/script.lua
+125 −0 test/tarantool-tests/mark-conv-non-weak.test.lua
+28 −57 test/tarantool-tests/misclib-memprof-lapi.test.lua
+2 −2 test/tarantool-tests/tap.lua
+1 −1 test/tarantool-tests/unit-jit-parse.test.lua
+1 −1 test/tarantool-tests/utils/jit/generators.lua
+0 −73 tools/CMakeLists.txt
+0 −6 tools/luajit-parse-memprof.in
+0 −6 tools/luajit-parse-sysprof.in
+4 −8 tools/memprof.lua
+7 −9 tools/memprof/humanize.lua
+4 −4 tools/memprof/parse.lua
+5 −7 tools/memprof/process.lua
+11 −7 tools/sysprof.lua
+3 −6 tools/sysprof/parse.lua
+2 −2 tools/utils/avl.lua
+11 −22 tools/utils/symtab.lua

0 comments on commit d953b06

Please sign in to comment.