RFR: 8316587: Use ArraysSupport.vectorizedHashCode in Utf8EntryImpl [v2]
Adam Sotona
asotona at openjdk.org
Thu Sep 21 13:46:41 UTC 2023
On Thu, 21 Sep 2023 02:38:08 GMT, Chen Liang <liach at openjdk.org> wrote:
>> Like #12077, this uses JDK's internal utilities to speed up ASCII reading in Class files, where most identifiers, from conventions to attribute names, are ASCII. See the JBS issue for more in-depth explanations.
>>
>> Before: (Master)
>>
>> Benchmark Mode Cnt Score Error Units
>> ReadMetadata.jdkReadMemberNames thrpt 4 167.623 ± 8.522 ops/s
>>
>>
>> After: (This patch, first revision)
>>
>> Benchmark Mode Cnt Score Error Units
>> ReadMetadata.jdkReadMemberNames thrpt 4 175.908 ± 4.766 ops/s
>
> Chen Liang has updated the pull request incrementally with one additional commit since the last revision:
>
> Fix logical bug with char array filling
src/java.base/share/classes/jdk/internal/classfile/impl/AbstractPoolEntry.java line 236:
> 234: private void inflate() {
> 235: int singleBytes = JLA.countPositives(rawBytes, offset, rawLen);
> 236: int hash = ArraysSupport.vectorizedHashCode(rawBytes, offset, singleBytes, 0, ArraysSupport.T_BOOLEAN);
We should keep in mind that this code is on lambdas bootstrap critical path.
Any foreign code may involve lambdas or method references and cause dead end in lambdas initialization after JDK-8294960.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/15837#discussion_r1333082244
More information about the core-libs-dev
mailing list