On Wed, 15 Dec 2021 05:59:45 GMT, Vladimir Kozlov <[email protected]> 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