> 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 with a new target base due to 
a merge or a rebase. The incremental webrev excludes the unrelated changes 
brought in by the merge/rebase. The pull request contains seven additional 
commits since the last revision:

 - Merge branch 'openjdk:master' into 8308762
 - remove trailing whitespace
 - remove now useless comment
 - Rewrite unit test
   
   unresolved t2 too, cleanup JVM_CONSTANT_Class useless case
 - Revert resolved class to unresolved for comparison
   
   remove is_unresolved_class_mismatch
 - add jtreg test for leak
 - 8308762: Metaspace leak with Instrumentation.retransform
   
   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.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/14780/files
  - new: https://git.openjdk.org/jdk/pull/14780/files/26cb41b7..16bc7fad

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=14780&range=06
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=14780&range=05-06

  Stats: 301167 lines in 6336 files changed: 127258 ins; 113513 del; 60396 mod
  Patch: https://git.openjdk.org/jdk/pull/14780.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14780/head:pull/14780

PR: https://git.openjdk.org/jdk/pull/14780

Reply via email to