[Tarantool-patches] [PATCH luajit 0/2] arm64: fix 48-bit addresses issues

Sergey Kaplun skaplun at tarantool.org
Tue Jul 6 20:40:04 MSK 2021


This patchset provides changes necessary for Tarantool working in docker
on M1 (#2712), except well-known `cur_L` issue [1].

The first patch fixes issue with bad lightuserdata error.
The second patch fixes issue with memory remaping to 48-bit VA space.

LuaJIT branch: https://github.com/tarantool/luajit/tree/skaplun/gh-2712-bad-lightud
Tarantool branch: https://github.com/tarantool/tarantool/tree/skaplun/gh-2712-bad-lightud
Issues:
* https://github.com/tarantool/tarantool/issues/2712
* https://github.com/tarantool/tarantool/issues/6154

[1]: https://github.com/tarantool/tarantool/issues/6189

Mike Pall (2):
  Add support for full-range 64 bit lightuserdata.
  Linux/ARM64: Make mremap() non-moving due to VA space woes.

 doc/status.html                               | 11 ----
 src/jit/dump.lua                              |  4 +-
 src/lib_debug.c                               | 12 ++--
 src/lib_jit.c                                 | 14 ++---
 src/lib_package.c                             |  8 +--
 src/lib_string.c                              |  2 +-
 src/lj_alloc.c                                |  2 +-
 src/lj_api.c                                  | 40 +++++++++++--
 src/lj_ccall.c                                |  2 +-
 src/lj_cconv.c                                |  2 +-
 src/lj_crecord.c                              |  6 +-
 src/lj_dispatch.c                             |  2 +-
 src/lj_ir.c                                   |  6 +-
 src/lj_obj.c                                  |  5 +-
 src/lj_obj.h                                  | 57 ++++++++++++-------
 src/lj_snap.c                                 |  7 ++-
 src/lj_state.c                                |  6 ++
 src/lj_strfmt.c                               |  2 +-
 test/tarantool-tests/CMakeLists.txt           |  1 +
 .../lj-49-bad-lightuserdata.test.lua          | 10 ++++
 .../lj-49-bad-lightuserdata/CMakeLists.txt    |  1 +
 .../testlightuserdata.c                       | 52 +++++++++++++++++
 .../lj-671-arm64-assert-after-mremap.test.lua | 24 ++++++++
 23 files changed, 208 insertions(+), 68 deletions(-)
 create mode 100644 test/tarantool-tests/lj-49-bad-lightuserdata.test.lua
 create mode 100644 test/tarantool-tests/lj-49-bad-lightuserdata/CMakeLists.txt
 create mode 100644 test/tarantool-tests/lj-49-bad-lightuserdata/testlightuserdata.c
 create mode 100644 test/tarantool-tests/lj-671-arm64-assert-after-mremap.test.lua

-- 
2.31.0



More information about the Tarantool-patches mailing list