-
Notifications
You must be signed in to change notification settings - Fork 5.8k
8255531: MethodHandles::permuteArguments throws NPE when duplicating dropped arguments #2054
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
Conversation
👋 Welcome back jvernee! A progress list of the required criteria for merging this PR into |
@JornVernee The following labels will be automatically applied to this pull request:
When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing lists. If you would like to change these labels, use the /label pull request command. |
/label remove hotspot-compiler |
@JornVernee |
…from LambdaForms that don't have any other names (e.g. empty)
9259e92
to
c3611ce
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
@JornVernee This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 132 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. ➡️ To integrate this PR with the above commit message to the |
/integrate |
@JornVernee Since your change was applied there have been 256 commits pushed to the
Your commit was automatically rebased without conflicts. Pushed as commit d07af2b. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
Hi,
This small patch fixes the NPE in the following case:
If a parameter name was changed by a lambda form edit,
LambdaForm::endEdit
will try to sort the names that fall into the old range of parameter names (starting fromfirstChanged
and up toarity
in the code) to make sure that non-parameter names (exprs
) properly appear after parameter names. But, if a parameter was dropped, and there are no non-paramter names, anull
will fall into the range that is being sorted, and the call toname.isParam()
in the sorting algorithm will result in an NPE.We can just add a
name != null
check there, sincenull
is definitely not a parameter. However, we still need to do the loop in order to get an accurateexprp
value, which is later used to adjust thearity
after sorting (there are other ways to get there that don't involve copying the extranull
, but they are more convoluted, so I elected to go for this solution).Thanks,
Jorn
Testing: tier1-tier2
Progress
Issue
Reviewers
Download
$ git fetch https://git.openjdk.java.net/jdk pull/2054/head:pull/2054
$ git checkout pull/2054