Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8238851

Shenandoah: C1: Resolve into registers of correct type

XMLWordPrintable

    • gc
    • b10
    • Verified


        Take recent jdk/jdk, apply this patch:

        diff -r b585d773ea0f src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp
        --- a/src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp Mon Feb 10 06:18:46 2020 +0100
        +++ b/src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp Tue Feb 11 09:32:11 2020 +0100
        @@ -852,11 +852,11 @@
               return;
             }
         #endif
             assert(src->is_single_cpu(), "must match");
             if (src->type() == T_OBJECT) {
        - __ verify_oop(src->as_register());
        + __ verify_oop(src->as_register(), "reg2reg 1");
             }
             move_regs(src->as_register(), dest->as_register());
         
           } else if (dest->is_double_cpu()) {
         #ifdef _LP64

        ...then run this in any folder (Maven project is not required!):

        $ export JAVA_HOME=...
        $ export PATH=$JAVA_HOME/bin:$PATH
        $ MAVEN_OPTS="-XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+UseShenandoahGC -XX:+VerifyOops" mvn verify

        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (/home/shade/trunks/jdk-jdk/src/hotspot/cpu/x86/macroAssembler_x86.cpp:883), pid=13783, tid=13799
        # fatal error: DEBUG MESSAGE: verify_oop: rax: reg2reg 1
        #

              rkennke Roman Kennke
              shade Aleksey Shipilev
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: