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

Vladimir Kozlov kvn at openjdk.java.net
Wed Dec 15 21:49:06 UTC 2021


On Wed, 15 Dec 2021 05:59:45 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:

> 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.

This pull request has now been integrated.

Changeset: d3408a46
Author:    Vladimir Kozlov <kvn at openjdk.org>
URL:       https://git.openjdk.java.net/jdk18/commit/d3408a46b7c8c2f8b5e41f3e286a497064a2c104
Stats:     149 lines in 7 files changed: 147 ins; 1 del; 1 mod

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

Reviewed-by: dlong, mchung, dholmes

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

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


More information about the core-libs-dev mailing list