[Tarantool-patches] [PATCH luajit v2 0/5] jit: add exception unwinding
Maxim Kokryashkin
max.kokryashkin at gmail.com
Tue Mar 14 15:01:42 MSK 2023
This patchset adopts the LuaJIT machinery for unwinding
exceptions raised while trace execution.
The snap-restore test is disabled, since after this patchset
it requires dynamic calculation for amount of allocated
stack slots. That test should be rewritten in a
less fragile manner.
Changes in v2:
- Fixed comments as per review by Sergey
- Added the test case for IR_RENAME.
Branch: https://github.com/tarantool/luajit/tree/fckxorg/gh-7745-exceptions-on-traces
Issue: https://github.com/tarantool/tarantool/issues/7745
PR: https://github.com/tarantool/tarantool/pull/8308
Maxim Kokryashkin (1):
test: disable `lj-603-snap-restore` test
Mike Pall (4):
Handle on-trace OOM errors from helper functions.
Disable unreliable assertion for external frame unwinding.
OSX: Disable unreliable assertion for external frame unwinding.
Fix IR_RENAME snapshot number. Follow-up fix for a32aeadc.
doc/status.html | 7 -
src/lj_arch.h | 12 +
src/lj_asm.c | 86 ++++--
src/lj_dispatch.h | 4 +-
src/lj_err.c | 279 +++++++++++++++++-
src/lj_err.h | 19 +-
src/lj_ffrecord.c | 2 +
src/lj_jit.h | 2 +
src/lj_mcode.c | 5 +-
src/lj_opt_loop.c | 1 +
src/lj_record.c | 3 +-
src/lj_snap.c | 1 +
src/lj_state.c | 1 +
src/lj_target_x86.h | 2 +
src/lj_trace.c | 61 +++-
src/lj_trace.h | 3 +
src/lj_vm.h | 3 +
src/vm_arm.dasc | 3 +-
src/vm_arm64.dasc | 4 +-
src/vm_mips.dasc | 9 +-
src/vm_mips64.dasc | 10 +-
src/vm_ppc.dasc | 3 +-
src/vm_x64.dasc | 6 +-
src/vm_x86.dasc | 4 +-
.../gh-7745-ir-rename.test.lua | 20 ++
.../gh-7745-oom-on-trace.test.lua | 22 ++
.../lj-603-err-snap-restore.test.lua | 4 +-
27 files changed, 516 insertions(+), 60 deletions(-)
create mode 100644 test/tarantool-tests/gh-7745-ir-rename.test.lua
create mode 100644 test/tarantool-tests/gh-7745-oom-on-trace.test.lua
--
2.39.0
More information about the Tarantool-patches
mailing list