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