Openj9: JDK16 changes for Hidden Classes

Created on 1 Dec 2020  路  6Comments  路  Source: eclipse/openj9

vm MH

All 6 comments

@hangshao0

I will look at this.

In https://bugs.openjdk.java.net/browse/JDK-8256214, the new specification introduces the following new methods and updates few old methods:

    In java.lang.invoke.MethodHandles.Lookup class:
        New Lookup::defineHiddenClassWithClassData method
        New Lookup::ORIGINAL mode and the following methods are updated to reflect this new mode
            Lookup::lookupModes
            Lookup::in
            Lookup::dropLookupIn
    java.lang.invoke.MethodHandles class
        New MethodHandles::classData(Lookup lookup, String name, Class<?> type) static method
        New MethodHandles::classDataAt(Lookup lookup, String name, Class<?> type, int index) static method
        MethodHandles::lookup and MethodHandles::privateLookupIn are updated to reflect the new ORIGINAL mode

Since we plan to move to OpenJDK MH (#7352) in JDK16, the above Java changes to J9 classes can be avoided. We can do minimal changes to get JDK16 builds re-enabled in the short term.

Since we plan to move to OpenJDK MH (#7352) in JDK16, the above Java changes to J9 classes can be avoided.

I agree. I was planning to just add the missing bit ORIGINAL and the public API to resolve the compilation issue. But from https://github.com/eclipse/openj9/issues/11312#issuecomment-736691412 I see you are already doing that.

Since https://github.com/eclipse/openj9/pull/11322 is merged, I think this can be closed. All the new changes here are in OpenJDK MH, which will be consumed by OpenJ9 in Java 16.

Updated refs:

  1. https://bugs.openjdk.java.net/browse/JDK-8256214
  2. https://bugs.openjdk.java.net/browse/JDK-8230501

Related commit: https://github.com/ibmruntimes/openj9-openjdk-jdk/commit/1e8bd60220e0d038d45f4421a5f8654dc9ac7bb5

All is Java code. No native dependencies found.
+1 to close this issue.
But, we should relate it to project:MH to verify functionality once OpenJDK MH is enabled in OpenJ9.

Was this page helpful?
0 / 5 - 0 ratings