[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 hotspot-dev
mailing list