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 : >  >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: > > > >> 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 >> === > > > >> > >> > -- >> > Best regards, >> > Sergey Kaplun > >-- >Best regards, >Sergey Kaplun