-
Notifications
You must be signed in to change notification settings - Fork 721
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
Need JVM support for nestmates #2269
Comments
Working on stubs to unblock builds. |
I have a change to add these three methods however adding them alone still won't make raw build -version work due to a j.l.IllegalAccessError. |
@JasonFengJ9 we need to turn on the spec as well, #2270 We also need to do some refactoring for the JVM_* methods so we don't duplicate the code, but that can be done after the stubs are added. |
Enabled the
|
Discussed with Tobi, this |
Raw build with |
@JasonFengJ9 turns out we will need the stubs. They are used in Java_jdk_internal_reflect_Reflection_* |
I suggest that 'raw builds' are no longer useful: there's no point expending effort to update them. |
When the automated build starts merging latest |
This is already occurring, and is how we got the jdk-11+19 update. |
Update: The version I tested with was b19 (394c091d02f906cbed0a783c06f464cf7dba1dc8) but slightly older than the one Jason was using. When I updated I ran into the same ICCE issue that Jason encountered. The nestmates feature allows private access between nestmates. Because of this javac no longer has to generate access bridges for inner classes, it simply puts the inner classes in the same nest has the outer class. The outer class can then access private fields/methods in the inner classes directly. Here is an example: With last weeks javac:
With this weeks javac however:
The big change is : to:
Our invokevirtual resolution doesn't currently deal with private methods which is causing the ICCE. |
If we can turn off the javac nestmates changes for the CCM builds we should be fine, until we fix the rest of the issues on the interpreter side |
As per Tobi suggested above, changing |
I suppose we can do that temporarily, just to ensure we can continue to build/run this hybrid Java 11 while work on Nestmates changes are in progress. Anything using Java 11, such as compiling the tests, is going to use the default (-target 11) and not be able to run. Not sure we want to change everything only to have to revert it once Nestmates are working. |
fyi #2897 which reverts to target 11. I don't believe we need this issue open any more, the remaining work is covered by other issues and PRs. |
The latest merge from jdk-11+19 expects three new JVM functions; builds will fail with link errors until these are defined:
The text was updated successfully, but these errors were encountered: