[Tarantool-patches] [PATCH luajit] LJ_GC64: Fix HREFK optimization.

Maxim Kokryashkin m.kokryashkin at tarantool.org
Tue Feb 6 14:09:08 MSK 2024


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 at 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
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20240206/ac7de4a6/attachment.htm>


More information about the Tarantool-patches mailing list