On Tue, 18 Jul 2023 16:48:55 GMT, Jean-Philippe Bempel <jpbem...@openjdk.org> 
wrote:

>> Fix a small leak in constant pool merging during retransformation of a 
>> class. If this class has a catch block with `Throwable`, the class 
>> `Throwable` is pre-resolved in the constant pool, while all the other 
>> classes are in a unresolved state. So the constant pool merging process was 
>> considering the entry with pre-resolved class as different compared to the 
>> destination and create a new entry. We now try to consider it as equal 
>> specially for Methodref/Fieldref.
>
> Jean-Philippe Bempel has refreshed the contents of this pull request, and 
> previous commits have been removed. The incremental views will show 
> differences compared to the previous content of the PR. The pull request 
> contains one new commit since the last revision:
> 
>   Revert resolved class to unresolved for comparison
>   
>   remove is_unresolved_class_mismatch

I have a suggestion for your test and copyright fix.

test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineLeakThrowable.java
 line 2:

> 1: /*
> 2:  * Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights 
> reserved.

Please remove the 2016 copyright on the new test.

test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineLeakThrowable.java
 line 58:

> 56:             }
> 57:         }
> 58:     }

If you look in that directory, there's an even simpler way to redefine classes 
without the Transformer and agent code.  It looks like this:  
RedefineClassHelper.redefineClass(RedefineRunningMethods_B.class, evenNewerB);

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

Changes requested by coleenp (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/14780#pullrequestreview-1552009914
PR Review Comment: https://git.openjdk.org/jdk/pull/14780#discussion_r1277479719
PR Review Comment: https://git.openjdk.org/jdk/pull/14780#discussion_r1277482646

Reply via email to