On Wed, 11 Sep 2024 21:02:41 GMT, Matias Saavedra Silva <matsa...@openjdk.org> wrote:
>> This patch cleans up the use of `get_new_method()` so callers don't have to >> worry about throwing `NoSuchMethodError`. The method is refactored to throw >> the error and avoid ever returning nullptr. Verified with tier1-5 tests. > > Matias Saavedra Silva has updated the pull request incrementally with one > additional commit since the last revision: > > Coleen suggestion I'm trying to determine if this PR changes anything in regards to compilers, or leaves everything the same, so I am looking at callers of get_new_method() that don't already map is_deleted() to throw_no_such_method_error(). Is it true that CallInfo::resolved_method() and CallInfo::selected_method() can never return an is_old or is_deleted method? They check for is_old but not is_deleted. If get_new_method() actually returned nullptr for a deleted method then some callers might crash, so I am assuming this is impossible. There is probably a rule that if you have a resolved CallInfo then you aren't allowed to safepoint, so there is no way the resolved/selected methods in the CallInfo can change to old or deleted, and it's probably impossible for them start out as old/deleted before a safepoint. So why are these methods checking for is_old at all? ------------- PR Comment: https://git.openjdk.org/jdk/pull/20874#issuecomment-2345732364