On Thu, 3 Aug 2023 08:43:12 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 updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   remove trailing whitespace

Based on the previous discussion and comments this simple change seems quite 
reasonable to me.

One query on the test though.

Thanks

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

> 26:  # @bug 8308762
> 27:  * @library /test/lib
> 28:  * @summary Test that redefinition of class containing Throwable refs 
> does not leak constant pool

Exactly how is this test tracking whether there is a leak or not? Is it simply 
setting metaspace size small enough that the 500 iterations would exhaust 
metaspace if there were a leak?

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

PR Review: https://git.openjdk.org/jdk/pull/14780#pullrequestreview-1634362012
PR Review Comment: https://git.openjdk.org/jdk/pull/14780#discussion_r1330816904

Reply via email to