-
Notifications
You must be signed in to change notification settings - Fork 6.1k
8357979: [JVMCI] jdk.internal.vm.ci should have earlier class file version #25494
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
base: master
Are you sure you want to change the base?
Conversation
👋 Welcome back dnsimon! A progress list of the required criteria for merging this PR into |
@dougxc This change is no longer ready for integration - check the PR body for details. |
Webrevs
|
I don't think this is a good way. We should not call to shell to make calculations in the makefiles; if that were needed, it should be done in configure. However, we are already doing this, or at least something very similar. Have a look at line 398 in boot-jdk.m4. We set up That should, I think, match your expectation of N-1. There is always a bit uncertainty how you want these things to be handled around the version rollover, and I'm not sure about your use case in those situations. But in general, the oldest boot JDK will match the version number actually used in the build as the boot JDK, that is, N-1. Now, OLDEST_BOOT_JDK is not exported to make. But that is however:
which is almost, but not exactly, what you were planning to add. The added So, in essense, my suggestion boils down to that you should only add |
Thanks for the suggestion - I've applied it. I assume OLDEST_BOOT_JDK will always be at least one behind the current version so this looks future proof and should any manual adjustment during version rollover. |
I don't know the particulars here, but using `javac -source $OLD -target $OLD ..." is almost never more appropriate than using `javac --release $OLD ..." The |
I wanted to use However, thinking this through a little more, we really do need something closer to |
@dougxc This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply issue a |
@jddarcy I tried replacing the
I assume this is why we have still been using |
For another compilation, I got:
I guess that even if the rule "-source/-target is almost never more appropriate than --release" applies to Java developers at large, building the JDK might be that small corner case where the "almost" actually applies. |
There are plans to have libgraal be built for JDK master using a version of Native Image running on a JDK one version behind the current JDK. This Native Image execution needs to be able to load the JVMCI classes. As such, the JVMCI classes must have a class file major version of N-1 where N is the major class file version of the current JDK.
Progress
Integration blocker
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/25494/head:pull/25494
$ git checkout pull/25494
Update a local copy of the PR:
$ git checkout pull/25494
$ git pull https://git.openjdk.org/jdk.git pull/25494/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 25494
View PR using the GUI difftool:
$ git pr show -t 25494
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/25494.diff
Using Webrev
Link to Webrev Comment