8358572: C1 hits "need debug information" assert with -XX:-DeoptC1 #25900
+3
−7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The debug flag
DeoptC1
is required to be true for dependency recording by an assert, but not all uses of dependency recording in C1 are guarded withif (DeoptC1)
. Hence, runningjava -XX:-DeoptC1 -version
fails at the aforementioned assert.This error has been present unconditionally in debug builds since dependency recording was enabled outside of JVMTI in JDK-8324241 and at least since JDK7 with JVMTI. Because this issue was discovered by searching for crashes of
java -version
plus some other flag, which indicates this flag has not been used in at least one year since every invocation with-XX:-DeoptC1
crashes. Further,DeoptC1
is only used for guarding dependency recording in three places. Thus, this PR removes theDeoptC1
flag.This was tested with:
Progress
Issue
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/25900/head:pull/25900
$ git checkout pull/25900
Update a local copy of the PR:
$ git checkout pull/25900
$ git pull https://git.openjdk.org/jdk.git pull/25900/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 25900
View PR using the GUI difftool:
$ git pr show -t 25900
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/25900.diff
Using Webrev
Link to Webrev Comment