On Tue, 17 Sep 2024 02:01:49 GMT, Chen Liang <li...@openjdk.org> wrote:

>> Speed up `ConstantPoolBuilder::classEntry(ClassDesc)` by going through 
>> `ClassDesc` comparison and reusing descriptor hash to calculate internal 
>> name hash if possible. No suitable device to run benchmarks so need to find 
>> something to run the new benchmark to ensure things work as intended.
>
> Chen Liang has updated the pull request with a new target base due to a merge 
> or a rebase. The pull request now contains 15 commits:
> 
>  - Fix build
>  - Merge branch 'master' of https://github.com/openjdk/jdk into 
> feature/classentry-speedup
>  - Buggy 2nd attempt - crashes hotspot
>  - Merge branch 'master' of https://github.com/openjdk/jdk into 
> feature/classentry-speedup
>  - Merge branch 'master' of https://github.com/openjdk/jdk into 
> feature/classentry-speedup
>  - More conflicts
>  - Merge branch 'master' of https://github.com/openjdk/jdk into 
> feature/classentry-speedup
>  - Merge branch 'master' of https://github.com/openjdk/jdk into 
> feature/classentry-speedup
>  - Merge branch 'master' of https://github.com/openjdk/jdk into 
> feature/classentry-speedup
>  - Another bug in benchmark
>  - ... and 5 more: https://git.openjdk.org/jdk/compare/996790c7...6117a5bd

src/java.base/share/classes/jdk/internal/classfile/impl/AbstractPoolEntry.java 
line 559:

> 557:     public static final class ClassEntryImpl extends AbstractNamedEntry 
> implements ClassEntry {
> 558: 
> 559:         public @Stable ClassDesc sym;

As [GH‑20957] has now been merged, this can be made to use the 
`Utf8Entry​.typeSym` field, which would also speed up 
[`ConstantPoolBuilder​::classEntry​(Utf8Entry)`].

[GH‑20957]: https://github.com/openjdk/jdk/pull/20957
[`ConstantPoolBuilder​::classEntry​(Utf8Entry)`]: 
https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/classfile/constantpool/ConstantPoolBuilder.html#classEntry(java.lang.classfile.constantpool.Utf8Entry)

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

PR Review Comment: https://git.openjdk.org/jdk/pull/20667#discussion_r1760275110

Reply via email to