On Fri, 11 Jul 2025 05:44:08 GMT, Serguei Spitsyn <[email protected]> wrote:
>> src/hotspot/share/prims/jvmtiRedefineClasses.cpp line 4053:
>>
>>> 4051: }
>>> 4052:
>>> 4053: void VM_RedefineClasses::compute_matching_methods() {
>>
>> I can't see that this method actually still does anything useful. ??
>
> I think it does:
> - has asserts on added/deleted methods
> - collects `_matching_old_methods` and `_matching_new_methods`
>
> It seems that the `_old_methods` is same as `_matching_old_methods` and
> `_new_methods` is same as `_matching_new_methods`. But I do not want to make
> a deeper refactoring at this point until we have a decision on the full
> removal of added/deleted methods support. It feels like we may need to keep
> some support for lambda expression changes in class
> redefinitions/retransformations.
What this does now is that the redefined class can have matching method names
in a different order because of the signature. So this sorts this out. I
don't know why we don't sort methods according to name and signature when
creating the klass though. That would make this just a method to check that
the methods match.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/26232#discussion_r2200944838