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

port JVM/DI tests from JDK-4413752 to JVM/TI

    XMLWordPrintable

    Details

    • Subcomponent:
    • Resolved In Build:
      b18
    • CPU:
      generic
    • OS:
      generic

      Description

      Port the JVM/DI tests from the following bug fix to JVM/TI:

          JDK-4413752 Linux: suspended thread blocks raw ObjectMonitor entry

      Here are the test source file names:

      $ ls -l *.c *.java
      -r--r--r-- 1 dcubed green 11808 Feb 12 2001 di4413752.c
      -r--r--r-- 1 dcubed green 10212 Feb 16 2001 di4413752.java
      -r--r--r-- 1 dcubed green 9788 Mar 23 2001 dijava4413752.c
      -r--r--r-- 1 dcubed green 10285 Mar 23 2001 dijava4413752.java
      -r--r--r-- 1 dcubed green 11045 Feb 14 2001 diobj4413752.c
      -r--r--r-- 1 dcubed green 10459 Feb 16 2001 diobj4413752.java
      -r--r--r-- 1 dcubed green 10612 Feb 16 2001 diwait4413752.c
      -r--r--r-- 1 dcubed green 8182 Feb 16 2001 diwait4413752.java
      -r--r--r-- 1 dcubed green 4406 Feb 12 2001 pi4413752.c
      -rw-r--r-- 1 dcubed green 9809 Aug 25 2005 pi4413752.java
      -r--r--r-- 1 dcubed green 3678 Feb 13 2001 piobj4413752.c
      -rw-r--r-- 1 dcubed green 9823 Aug 25 2005 piobj4413752.java
      -r--r--r-- 1 dcubed green 3296 Feb 16 2001 piwait4413752.c
      -rw-r--r-- 1 dcubed green 8123 Aug 25 2005 piwait4413752.java

      There were two different APIs families that needed testing back then: JVM/DI and JVM/PI.

      Within both API families, we needed to test a couple of different API combinations:

      - RawMonitorEnter() with SuspendThread()
        - di4413752.java and di4413752.c
        - pi4413752.java and piwait4413752.c

      - ObjectMonitor enter() with SuspendThread()
        - diobj4413752.java and diobj4413752.c
        - piobj4413752.java and piobj4413752.c

      - ObjectMonitor wait() with SuspendThread
        - diwait4413752.java and diwait4413752.c
        - piwait4413752.java and piwait4413752.c

      - ObjectMonitor enter() with java.lang.Thread.suspend()
        - dijava4413752.java and dijava4413752.c
        - looks like I didn't write JVM/Pi versions of this test

      JVM/DI and JVM/PI were replaced by JVM/TI so only these API combinations
      need porting:

      - RawMonitorEnter() with SuspendThread()
        - test/hotspot/jtreg/serviceability/jvmti/SuspendWithRawMonitorEnter/SuspendWithRawMonitorEnter.java
        - test/hotspot/jtreg/serviceability/jvmti/SuspendWithRawMonitorEnter/libSuspendWithRawMonitorEnter.cpp

      - ObjectMonitor enter() with SuspendThread()
        - test/hotspot/jtreg/serviceability/jvmti/SuspendWithObjectMonitorEnter/SuspendWithObjectMonitorEnter.java
        - test/hotspot/jtreg/serviceability/jvmti/SuspendWithObjectMonitorEnter/libSuspendWithObjectMonitorEnter.cpp

      - ObjectMonitor wait() with SuspendThread
        - test/hotspot/jtreg/serviceability/jvmti/SuspendWithObjectMonitorWait/SuspendWithObjectMonitorWait.java
        - test/hotspot/jtreg/serviceability/jvmti/SuspendWithObjectMonitorWait/libSuspendWithObjectMonitorWait.cpp

      ObjectMonitor enter() with java.lang.Thread.suspend() doesn't need porting because
      that API is deprecated.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              dcubed Daniel Daugherty
              Reporter:
              dcubed Daniel Daugherty
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: