RFR: 8322726: C2: Unloaded signature class kills argument value

Vladimir Ivanov vlivanov at openjdk.org
Fri Apr 26 16:55:12 UTC 2024


For MethodHandle linkers all arguments are casted to signature classes when target method is known.

It causes problems when target method signature contains unloaded classes: when loaded class meets unloaded class it turns into a TOP. It effectively kills argument values which correspond to unloaded signature types.

Proposed fix avoids casts when signature class is unloaded. 

Testing: hs-tier1 - hs-tier4

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

Commit messages:
 - Remove UseNewCode
 - Test & fix

Changes: https://git.openjdk.org/jdk/pull/18973/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18973&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8322726
  Stats: 181 lines in 5 files changed: 168 ins; 0 del; 13 mod
  Patch: https://git.openjdk.org/jdk/pull/18973.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18973/head:pull/18973

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


More information about the hotspot-compiler-dev mailing list