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

jtreg: Decouple Unsafe from RTM tests

    XMLWordPrintable

    Details

    • Subcomponent:
    • Resolved In Build:
      b23
    • CPU:
      generic
    • OS:
      linux

      Backports

        Description

        Making RTM tests dependent on Unsafe native methods turns the jtreg RTM tests brittle. The native methods in Unsafe are used by the RTM tests as transactional abort provokers so the tests can abort a transaction in a controlled way to see if JVM is responding correctly.

        This is the second time the RTM tests are broken because the native method they rely on is converted to a non-native method.

        As such a trend (from native to non-native) is really expected over time in the libraries, it's necessary to craft an isolated native lib only for the RTM tests so they don't break as the libraries evolve.

        The following tests are falling as consequence both on x86_64 and PPC64:

        FAILED: compiler/rtm/locking/TestRTMAbortRatio.java
        FAILED: compiler/rtm/locking/TestRTMAbortThreshold.java
        FAILED: compiler/rtm/locking/TestRTMAfterNonRTMDeopt.java
        FAILED: compiler/rtm/locking/TestRTMDeoptOnHighAbortRatio.java
        FAILED: compiler/rtm/locking/TestRTMDeoptOnLowAbortRatio.java
        FAILED: compiler/rtm/locking/TestRTMLockingCalculationDelay.java
        FAILED: compiler/rtm/locking/TestRTMLockingThreshold.java
        FAILED: compiler/rtm/locking/TestUseRTMDeopt.java
        FAILED: compiler/rtm/print/TestPrintPreciseRTMLockingStatistics.java

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                gromero Gustavo Romero
                Reporter:
                gromero Gustavo Romero
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: