[jdk15u-dev] RFR: 8290417: CDS cannot archive lamda proxy with useImplMethodHandle

Dmitry Cherepanov dcherepanov at openjdk.org
Thu Aug 4 08:01:01 UTC 2022


On Wed, 3 Aug 2022 14:33:12 GMT, Jan Kratochvil <duke at openjdk.org> wrote:

> There was [an accepted backport to OpenJDK-17](https://github.com/openjdk/jdk17u-dev/pull/575).
> 
> This OpenJDK-15 backport: The first condition
> 
>        // CDS does not handle useImplMethodHandle
>        if (useImplMethodHandle)
>            return generateInnerClass();
> 
> was not applied cleanly as OpenJDK-15 is missing:
> - [8257241](https://bugs.openjdk.java.net/browse/JDK-8257241): CDS should not handle disableEagerInitialization for archived lambda proxy classes
> 
> I was considering whether to backport also [8257241](https://bugs.openjdk.java.net/browse/JDK-8257241) but I do not think it is right as [8257241](https://bugs.openjdk.java.net/browse/JDK-8257241):
> - does not fix any bug, it is only a code cleanup
> - it modifies runtime introspection and possibly performance
> 
> This OpenJDK-15 backport: Original commit errors on OpenJDK-15 with:
> `      TEST RESULT: Error. can't find jdk.test.lib.helpers.ClassFileInstaller in test directory or libraries`
> as OpenJDK-15 is missing:
> - [8263412](https://bugs.openjdk.org/browse/JDK-8263412): ClassFileInstaller can't be used by classes outside of default package
> 
> This OpenJDK-15 backport: Original commit errors on OpenJDK-15 with:
> 
>       error: cannot find symbol
>       symbol:   method dumpClassList(String,String,String,String)
>       location: class CDSTestUtils
> 
> as OpenJDK-15 is missing:
> - [8213226](https://bugs.openjdk.org/browse/JDK-8213226): [TESTBUG] Reduce the usage of CDSTestUtils.executeAndLog()
> 
> 
> I am not yet an Author - I do not have JBS account.
> I have run the testsuite on Linux x86_64 and there is no change of the results. Two new testcases are added and they are both Passing. The testcases are still Passing after backporting them to 15u-dev.
> 
> +Passed: runtime/cds/appcds/LambdaWithUseImplMethodHandle.java
> +Passed: runtime/cds/appcds/dynamicArchive/DynamicLambdaWithUseImplMethodHandle.java

Marked as reviewed by dcherepanov (Reviewer).

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

PR: https://git.openjdk.org/jdk15u-dev/pull/251


More information about the jdk-updates-dev mailing list