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

jtreg: Decouple Unsafe from RTM tests

    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: