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

[lworld][c1] method invocation fails if the return type is an unloaded Q type

    Details

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

      Description

      The following new test in TestCallingConventionC1.java crashes when running with -XX:+StressValueTypeReturnedAsFields

          static inline class Test103Value {
              int x = 112233;
          }

          static Object test103_v;
          @Test(compLevel = C1)
          public void test103() {
              // when this method is compiled by C1, the Test103Value class is not yet loaded.
              test103_v = new Test103Value(); // invokestatic "Test103Value.<init>()QTest103Value;"
          }

          @DontCompile
          public void test103_verifier(boolean warmup) {
              if (warmup) {
                  // Maue sure test103() is compiled before the classes are loaded
                  return;
              }
              test103();
              Test103Value v = (Test103Value)test103_v;
              Asserts.assertEQ(v.x, 112233);
          }

        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: