RFR: 8356548: Use ClassFile API instead of ASM to transform classes in tests [v9]
Leonid Mesnik
lmesnik at openjdk.org
Thu Oct 16 18:37:47 UTC 2025
On Wed, 15 Oct 2025 18:21:50 GMT, Chen Liang <liach at openjdk.org> wrote:
>> One of the goals of ClassFile API is to avoid updating the copy of ASM in the JDK (now moved to the test library) to support future class file formats.
>>
>> However, some tests in hotspot turn out to parse latest class files, usually produced by the javac in the JDK under test, to transform them to inject desired bytecode patterns. If we keep these tests, we must keep maintaining the ASM library to accept all current class files, which will be costly with the upcoming project Valhalla.
>>
>> To avoid maintaining ASM down the road, we can either:
>> 1. Migrate the transformation to ClassFile API
>> 2. Set source and release version in javac flags to produce stable bytecode
>>
>> I recommend migrating to ClassFile API; javac has a deprecation policy, that in the future, old source and target versions will no longer be supported, and we would still need another port at that time.
>
> Chen Liang has updated the pull request incrementally with one additional commit since the last revision:
>
> Clarification
The changes looks reasonable. I'm not familiar with ClassFile API though.
-------------
Marked as reviewed by lmesnik (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/25124#pullrequestreview-3346435277
More information about the serviceability-dev
mailing list