[jdk18] RFR: 8277964: ClassCastException with no stack trace is thrown with -Xcomp in method handle invocation
David Holmes
dholmes at openjdk.java.net
Wed Dec 15 07:02:59 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.
src/hotspot/share/oops/method.cpp line 827:
> 825: */
> 826: bool Method::can_omit_stack_trace() {
> 827: if (method_holder()->class_loader_data()->is_boot_class_loader_data()) {
Do you actually need to check this?
-------------
PR: https://git.openjdk.java.net/jdk18/pull/27
More information about the core-libs-dev
mailing list