[Tarantool-patches] [PATCH luajit 03/19] MIPS: Fix handling of spare long-range jump slots.

Sergey Bronnikov sergeyb at tarantool.org
Wed Aug 16 18:02:57 MSK 2023


Hi, Sergey


thanks for the patch!

Test has passed after reverting a patch and I suspect it is expected because

behaviour was broken for MIPS only, right?

See a minor comment below.


On 8/9/23 18:35, Sergey Kaplun wrote:
> From: Mike Pall <mike>
>
> Contributed by Djordje Kovacevic and Stefan Pejic.
>
> (cherry-picked from commit c7c3c4da432ddb543d4b0a9abbb245f11b26afd0)
>
> `asm_setup_jump()` in <src/lj_asm_mips.h> presumes that `sizeof(MCLink)`
> is 8 bytes, but for MIPS64 its size is 16 bytes. This leads to incorrect
> check in `asm_sparejump_setup()`, so mcode bottom is not updated.
>
> This patch fixes check of the MCLink offset from the mcbot.
> Nevertheless, the emitting of spare jump slots is still incorrect, so
> the introduced test still fails due to incorrect iteration through the
> sparce table (the last slot is out of mcode range).
"sparce" -> "sparse"?
<snipped    >


More information about the Tarantool-patches mailing list