[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