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

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

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P3
    • repo-valhalla
    • repo-valhalla
    • hotspot

    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

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

            Dates

              Created:
              Updated:
              Resolved: