On Tue, 10 Jun 2025 08:44:05 GMT, Johan Sjölen <jsjo...@openjdk.org> wrote:

>> Radim Vansa has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Revert removing FieldInfoReader::next_uint()
>
> src/hotspot/share/utilities/packedTable.hpp line 56:
> 
>> 54:     // Packed table does NOT support duplicate keys.
>> 55:     virtual bool next(uint32_t* key, uint32_t* value) = 0;
>> 56:   };
> 
> Does it make sense to take the cost of an indirect call for each kv pair? You 
> can't inline it, so the stack frame needs to be popped and pushed, and you're 
> taking 2 registers (16 bytes) to give 8 bytes and 1 bit of information.
> 
>  We can amortize the cost by implementing this signature instead:
> 
> 
> virtual uint32_t next(Pair<uint32_t, uint32_t>* kvs, uint32_t kvs_size);

This was done this way with a "Supplier" because this package would be useful 
for other Unsigned5 packed types.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/24847#discussion_r2137846594

Reply via email to