On Wed, 15 Dec 2021 07:00:17 GMT, David Holmes <[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?

@dholmes-ora, thank you for looking on it.
I discussed it with Mandy and agreed that we need to narrow down this 
workaround as much as possible. That is why it is done only for system class 
loaded by null loader.

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

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

Reply via email to