8355574: Fatal error in abort_verify_int_in_range due to Invalid CastII #25284
+41
−47
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.
Hi,
The issue here is that the
CastLLNode
is created before the actual check that ensures the range of the input. This patch fixes it by moving the creation to the correct place, which is underinline_block
. I also noticed that the code there seems incorrect and confusing.ArrayCopyNode::get_partial_inline_vector_lane_count
takes the length of the array, not the size in bytes. If you look into the method it will multiplyconst_len
withtype2aelementbytes(bt)
to get the size in bytes of the array. In the runtime test, we comparelength << log2(type2bytes(bt))
withArrayOperationPartialInlineSize
. This seems confusing, why don't we just comparelength
withArrayOperationPartialInlineSize / type2bytes(bt)
, it also unifies the test with the actual cast.Please take a look and leave your reviews, thanks a lot.
Progress
Issue
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/25284/head:pull/25284
$ git checkout pull/25284
Update a local copy of the PR:
$ git checkout pull/25284
$ git pull https://git.openjdk.org/jdk.git pull/25284/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 25284
View PR using the GUI difftool:
$ git pr show -t 25284
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/25284.diff
Using Webrev
Link to Webrev Comment