-
Notifications
You must be signed in to change notification settings - Fork 6.2k
8371418: Methods in AdapterHandlerLibrary use HashtableBase iterate method incorrectly #28197
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
8371418: Methods in AdapterHandlerLibrary use HashtableBase iterate method incorrectly #28197
Conversation
…ethod incorrectly Signed-off-by: Ashutosh Mehra <asmehra@redhat.com>
|
👋 Welcome back asmehra! A progress list of the required criteria for merging this PR into |
|
@ashu-mehra 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 30 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 |
|
@ashu-mehra The following label 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 list. If you would like to change these labels, use the /label pull request command. |
Webrevs
|
Signed-off-by: Ashutosh Mehra <asmehra@redhat.com>
vnkozlov
left a comment
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.
Good. I submitted testing.
|
@ashu-mehra, do you know what issue current code (before these changes) could cause? |
btw the change that introduced this bug was made more than 3 years ago in https://bugs.openjdk.org/browse/JDK-8292384 and it went in JDK 20. |
|
@vnkozlov fyi - I also opened https://bugs.openjdk.org/browse/JDK-8371493 which is going to touch the same code as this patch. I didn't includes the changes in this patch to make it easier to backport this patch if needed. |
Good. We usually don't port enhancement but we can consider it since its simplification of printing code which should not affect code execution. |
adinn
left a comment
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.
Looks good
|
@adinn thanks for the review. I will fix the comment as suggested. |
Signed-off-by: Ashutosh Mehra <asmehra@redhat.com>
vnkozlov
left a comment
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.
My testing passed.
|
@vnkozlov thanks for the review and testing it. |
|
/integrate |
|
Going to push as commit cc54d2c.
Your commit was automatically rebased without conflicts. |
|
@ashu-mehra Pushed as commit cc54d2c. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
The closure passed to
HashTable::iterateinAdapterHandlerLibrary::containsandAdapterHandlerLibrary::print_handler_onis returning incorrect value. If the search is successful, it should return false to terminate the iteration, but it is returning true. This patch fixes the return value of these closures.In addition, I noticed
CompactHashTable::iterategoes through all entries unconditionally, which is not optimal for cases where we may want to terminate the iteration when some condition is met. This is the case inAdapterHandlerLibrary::containsandAdapterHandlerLibrary::print_handler_onwhen it iterates over_aot_adapter_handler_table. This patch updatesCompactHashTable::iterateto be the same asHashTAble::iterateby using return value of the closure to determine if the iteration should continue or abort. It also addsCompactHashTable::iterate_allto iterate all the values unconditionally and the users ofCompactHashTable::iterateare updated to useCompactHashTable::iterate_all.Progress
Issue
Reviewers
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/28197/head:pull/28197$ git checkout pull/28197Update a local copy of the PR:
$ git checkout pull/28197$ git pull https://git.openjdk.org/jdk.git pull/28197/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 28197View PR using the GUI difftool:
$ git pr show -t 28197Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/28197.diff
Using Webrev
Link to Webrev Comment