RFR: 8294961: java.base java.lang.reflect.ProxyGenerator uses ASM to generate proxy classes [v5]
Mandy Chung
mchung at openjdk.org
Thu Mar 9 17:55:55 UTC 2023
On Thu, 9 Mar 2023 15:53:25 GMT, Adam Sotona <asotona at openjdk.org> wrote:
>> java.base java.lang.reflect.ProxyGenerator uses ASM to generate proxy classes and this patch converts it to use Classfile API.
>>
>> Please review.
>>
>> Thank you,
>> Adam
>
> Adam Sotona has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 195 commits:
>
> - Merge branch 'master' into JDK-8294961-proxy
> - Merge branch 'JDK-8294982' into JDK-8294961
> - removed obsolete javadoc from implementation classes
> - minor fix in CodeBuilder and added test cases to LDCTest
> - EntryMap::nextPowerOfTwo delegates to Long:numberOfLeadingZeros
> - fixed CodeBuilder:constantInstruction for -0.0d and -0.0f values and added test
> - Merge branch 'master' into JDK-8294982
> - fixed new lines at end of file
> - package jdk.internal.classfile.jdktypes moved to jdk.internal.classfile.java.lang.constant
> - fixed CodeRelabeler javadoc
> - ... and 185 more: https://git.openjdk.org/jdk/compare/cdcf5c1e...48ac16f8
This change looks good. Have you compared the performance in generating dynamic proxies before and after?
`test/micro/org/openjdk/bench/java/lang/reflect/Proxy/ProxyPerf.java` compares `ProxyGenerator` with `ProxyGenerator_v49` which was the old implementation before converting to ASM. You may consider leveraging this benchmark.
-------------
PR: https://git.openjdk.org/jdk/pull/10991
More information about the core-libs-dev
mailing list