Hi, Maxim!
Thanks for the fixes!
LGTM, except a single nit below.
On 02.02.24, Maxim Kokryashkin wrote:
> Hi, Sergey!
> Thanks for the review!
> Fixed your comments, branch is force-pushed.
> Here is the diff with changes:
<snipped>
> New commit message:
> ===
> LJ_GC64: Fix HREFK optimization.
>
> Contributed by XmiliaH.
>
> (cherry-picked from commit 91bc6b8ad1f373c1ce9003dc024b2e21fad0e444)
>
> In `lj_record_idx` when `ix->oldv` is the global nilnode and the
> required key is not present in the table, it is possible to pass
> the constant key lookup optimization condition because of the
> `uint32_t` (`MSize`) overflow. Because of that, further recording
> incorrectly removes the check for the nilnode, which produces
> wrong results when trace is called for a different table.
>
> The issue is solved by using `GCSize`, which has a size of
Minor: I'd say 'which size is defines by the target system' or something
like that (to mention that it is 32 bit for non-GC64 build).
> 64 bits, instead of `MSize`.
>
> Maxim Kokryashkin:
> * added the description and the test for the problem
>
> Part of tarantool/tarantool#9145
> ===
<snipped>
> >
> > --
> > Best regards,
> > Sergey Kaplun
--
Best regards,
Sergey Kaplun