Hi, Sergey!
Thanks for the review!
Now this line looks like the following:
| The issue is solved by using `GCSize`, which has a size of
| 64 bits on GC64 builds, instead of `MSize`.
 
--
Best regards,
Maxim Kokryashkin
 
 
Понедельник, 5 февраля 2024, 12:57 +03:00 от Sergey Kaplun <skaplun@tarantool.org>:
 
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