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