[jdk18] RFR: 8277964: ClassCastException with no stack trace is thrown with -Xcomp in method handle invocation

Vladimir Kozlov kvn at openjdk.java.net
Wed Dec 15 06:08:28 UTC 2021


A proper fix for this is to use the catchException combination. However, that introduces significant cold startup performance regression. JDK-8278447 tracks the work to address the performance regression using catchException and asSpreader combinator. It may require significant work and refactoring which is risky for JDK 18. 

It is proposed to implement a workaround in C2 to white list the relevant methods (all methods in sun.invoke.util.ValueConversions class) not to omit stack trace when exception is thrown in them.

Added new regression test. Tested tier1-3.

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

Commit messages:
 - 8277964: ClassCastException with no stack trace is thrown with -Xcomp in method handle invocation

Changes: https://git.openjdk.java.net/jdk18/pull/27/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk18&pr=27&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8277964
  Stats: 151 lines in 7 files changed: 149 ins; 1 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk18/pull/27.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk18 pull/27/head:pull/27

PR: https://git.openjdk.java.net/jdk18/pull/27


More information about the core-libs-dev mailing list