RFR: 8371418: Methods in AdapterHandlerLibrary use HashtableBase iterate method incorrectly [v2]

Andrew Dinn adinn at openjdk.org
Mon Nov 10 13:32:18 UTC 2025


On Fri, 7 Nov 2025 16:22:39 GMT, Ashutosh Mehra <asmehra at openjdk.org> wrote:

>> The closure passed to `HashTable::iterate` in `AdapterHandlerLibrary::contains` and `AdapterHandlerLibrary::print_handler_on` is 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::iterate` goes 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 in `AdapterHandlerLibrary::contains` and `AdapterHandlerLibrary::print_handler_on` when it iterates over `_aot_adapter_handler_table`. This patch updates `CompactHashTable::iterate` to be the same as `HashTAble::iterate` by using return value of the closure to determine if the iteration should continue or abort. It also adds `CompactHashTable::iterate_all` to iterate all the values unconditionally and the users of `CompactHashTable::iterate` are updated to use `CompactHashTable::iterate_all`.
>
> Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Add comments
>   
>   Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>

Looks good

src/hotspot/share/classfile/compactHashtable.hpp line 297:

> 295:   }
> 296: 
> 297:   // Iterate through the values in the table, stopping when do_value() return false.

Suggestion:

  // Iterate through the values in the table, stopping when do_value() return false.

  // Iterate through the values in the table, stopping when iter->do_value() returns false.

-------------

Marked as reviewed by adinn (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/28197#pullrequestreview-3443265916
PR Review Comment: https://git.openjdk.org/jdk/pull/28197#discussion_r2510575719


More information about the hotspot-dev mailing list