RFR(S): 8077608 - [TESTBUG] Enable Hotspot jtreg tests to run in agentvm mode

Christian Tornqvist christian.tornqvist at oracle.com
Mon Apr 13 14:22:59 UTC 2015


Hi everyone,

 

Please review this small change which enables us to run the Hotspot jtreg
tests in agentvm mode. This change also sets JPRT to use this mode. Results
when running on my 32-thread Windows machine using a fastdebug build:

 

Othervm (this is what we run today): 4h5m

Agentvm (still without concurrency): 1h45m

 

The same speedup can be seen in JPRT across all platforms, I've tested these
changes 25-30 times in JPRT.

 

In order to make all the tests work correctly I had to make some small
changes:

 

test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java

Turns out that the CLASSPATH environment variable has a different value when
running with agentvm, it's now appending test.src and test.class.path when
creating child processes. This fixed about 40 of the failures.

 

test/sanity/WhiteBox.java 

Fails to clean out the sun.hotspot.WhiteBox.class on Windows machines, the
only reason for cleaning this file out is so that the other tests in
/test/sanity doesn't pick up the incorrect WhiteBox.class. Simple workaround
is to move the test/sanity/WhiteBox.java into its own directory to prevent
the other tests from picking up this class file.

 

test/compiler/uncommontrap/TestUnstableIfTrap.java

Intermittent IO problems on Windows when reading the XML files, workaround
is to run this to keep running this test in othervm mode.

 

test/compiler/jsr292/RedefineMethodUsedByMultipleMethodHandles.java

ClassNotFoundException when running in agentvm mode, didn't spend too much
time debugging this. Workaround is to keep running this test in othervm
mode.

 

Webrev:

http://cr.openjdk.java.net/~ctornqvi/webrev/8077608/webrev.00/

 

Bug:

https://bugs.openjdk.java.net/browse/JDK-8077608

 

Thanks,

Christian

 

 



More information about the hotspot-dev mailing list