RFR: 8308762: Metaspace leak with Instrumentation.retransform [v5]

Jean-Philippe Bempel jpbempel at openjdk.org
Thu Aug 3 08:03:19 UTC 2023


> 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 two additional commits since the last revision:

 - remove now useless comment
 - Rewrite unit test
   
   unresolved t2 too, cleanup JVM_CONSTANT_Class useless case

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/14780/files
  - new: https://git.openjdk.org/jdk/pull/14780/files/c1a2d7c7..3784e653

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

  Stats: 110 lines in 3 files changed: 7 ins; 80 del; 23 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


More information about the hotspot-dev mailing list