RFR: 8352075: Perf regression accessing fields [v3]

Radim Vansa rvansa at openjdk.org
Mon May 5 06:38:47 UTC 2025


On Wed, 30 Apr 2025 20:19:50 GMT, Frederic Parain <fparain at openjdk.org> wrote:

>> Radim Vansa has updated the pull request incrementally with three additional commits since the last revision:
>> 
>>  - Fix VerifyRawIndexesTest
>>  - Fix reordering in layout and annotations
>>  - Use qsort_r for different platforms
>
> src/hotspot/share/oops/fieldInfo.cpp line 52:
> 
>> 50: 
>> 51: int FieldInfoStream::compare_symbols(const Symbol *s1, const Symbol *s2) {
>> 52:   // not lexicographical sort, since we need only total ordering
> 
> If only a total ordering is required, why defining a new method instead of reusing Symbol::fast_compare() ?

The problem is CDS; I have really started with `fast_compare()`, but after dehydration the pointers changed and the comparison did not work anymore. This is also a reason why I could not use the hashcode for the ordering.
If you'd prefer lexicographical sort (just a few extra lines) I could use that one...

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

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


More information about the serviceability-dev mailing list