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

[lworld] TestArrays.java fails with -XX:+ExpandSubTypeCheckAtParseTime

    XMLWordPrintable

    Details

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

      Description

      JDK-8251442 added SubTypeCheckNode optimizations that make sure that the control path consistently dies with the data path. However, these are not implemented in CmpPNode::sub because TypeKlassPtr does not keep track of not null_free/flat properties for array klasses.

      As a result, the data path dies while the control path (subtype check) is not folded:

         5661 354 b 4 compiler.valhalla.inlinetypes.TestArrays::test96 (19 bytes)
         5662 354 b 4 compiler.valhalla.inlinetypes.TestArrays::test96 (19 bytes) COMPILE SKIPPED: malformed control flow (retry at different tier)

       stderr: [Exception in thread "main" java.lang.RuntimeException: Unexpected compilation level for public boolean compiler.valhalla.inlinetypes.TestArrays.test96(java.lang.Object[]): expected 3 to equal 4
      at jdk.test.lib.Asserts.fail(Asserts.java:594)
      at jdk.test.lib.Asserts.assertEquals(Asserts.java:205)
      at jdk.test.lib.Asserts.assertEQ(Asserts.java:178)
      at compiler.valhalla.inlinetypes.InlineTypeTest.run(InlineTypeTest.java:732)
      at compiler.valhalla.inlinetypes.InlineTypeTest.run(InlineTypeTest.java:418)
      at compiler.valhalla.inlinetypes.TestArrays.main(TestArrays.java:74)

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              thartmann Tobias Hartmann
              Reporter:
              thartmann Tobias Hartmann
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: