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

[lworld][c1] deoptimization fails with -XX:+StressValueTypeReturnedAsFields

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: repo-valhalla
    • Fix Version/s: repo-valhalla
    • Component/s: hotspot
    • Labels:

      Description

      This test crashes with C1:

      http://hg.openjdk.java.net/valhalla/valhalla/file/fb97bb15ea8e/test/hotspot/jtreg/compiler/valhalla/valuetypes/TestCallingConvention.java

          // Test deoptimization at call return with return value in registers
          @DontCompile
          public MyValue2 test14_interp(boolean deopt) {
              if (deopt) {
                  // uncommon trap
                  WHITE_BOX.deoptimizeMethod(tests.get(getClass().getSimpleName() + "::test14"));
              }
              return MyValue2.createWithFieldsInline(rI, true);
          }

          @Test()
          public MyValue2 test14(boolean flag) {
              return test14_interp(flag);
          }

          @DontCompile
          public void test14_verifier(boolean warmup) {
              MyValue2 result = test14(!warmup);
              MyValue2 v = MyValue2.createWithFieldsInline(rI, true);
              Asserts.assertEQ(result.hash(), v.hash());
          }

      How to reproduce:

      jtreg -vmoptions:-XX:+EnableValhallaC1 -vmoptions:-XX:TieredStopAtLevel=1 -DScenarios=2 -DTestlist=test14 TestCallingConvention.java

        Attachments

          Activity

            People

            • Assignee:
              iklam Ioi Lam
              Reporter:
              iklam Ioi Lam
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: