-
Notifications
You must be signed in to change notification settings - Fork 704
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JEP 371 Hidden Classes #9328
Comments
@DanHeidinga fyi. |
@DanHeidinga stubbing isn't sufficient, hidden classes are used at runtime.
|
I can pick this up. |
Thanks @hangshao0. As mentioned on slack, I think the first step is to try and stub these apis with Unsafe.defineAnonyousClass() so we can build 15 again. Then look at a proper implementation |
I plan to take the change in #9292 and start from there. But it seems that I cannot build with the latest code in branch open-staging from https://github.com/ibmruntimes/openj9-openjdk-jdk. https://hyc-runtimes-jenkins.swg-devops.com/job/Build_JDKnext_x86-64_linux_Personal/425/console
The message I tried manually with |
There are 100+ warnings like the following, which aren't there in the last working build. I assume the compiler has changed. To fix it you can move
Otherwise to get started you can build from sha |
Ok, it's not that simple. I moved those classes into their own files, but there are many other warnings, and |
This is the new code While we figure out the best way to override that,
|
Here is a fix for the -Werror problem ibmruntimes/openj9-openjdk-jdk#201 |
jdkhead merge job test build failing due to this, various errors:
|
@hangshao0 I cherry-picked the commit at the head of your JEP371_Test branch and merged it with #9292 and #9471 and was able to build the openj9-staging branch of jdknext:
Do you anticipate more work is required, or is it time for you to open a pull request? |
Yes, I am about the open the PR. It seems that your machine finished building faster than mine. |
Add implementation of new Hidden class APIs to unblock the JDK15 builds. issue eclipse-openj9#9328 Signed-off-by: Hang Shao <hangshao@ca.ibm.com>
1. Add checks for class bytes for hidden classes in MethodHanles. 2. Do bytecode verification for hidden classes. 3. Do not allow record and enum to be defined as hidden classes. 4. Fix APIs for hidden classes in Class.java. Closes eclipse-openj9#9328 Signed-off-by: Hang Shao <hangshao@ca.ibm.com>
1. Add checks for class bytes for hidden classes in MethodHanles. 2. Do bytecode verification for hidden classes. 3. Do not allow record and enum to be defined as hidden classes. 4. Fix APIs for hidden classes in Class.java. Closes eclipse-openj9#9328 Signed-off-by: Hang Shao <hangshao@ca.ibm.com>
1. Add checks for class bytes for hidden classes in MethodHanles. 2. Do bytecode verification for hidden classes. 3. Do not allow record and enum to be defined as hidden classes. 4. Fix APIs for hidden classes in Class.java. Closes eclipse-openj9#9328 Signed-off-by: Hang Shao <hangshao@ca.ibm.com>
https://openjdk.java.net/jeps/371
This is delivered to OpenJDK now, affecting OpenJ9 builds of jdk15.
The text was updated successfully, but these errors were encountered: