RFR: 8153194: PreserveFPRegistersTest.java runs out of memory in the nightlies
vladimir.x.ivanov at oracle.com
Tue Jun 28 16:53:51 UTC 2016
> Thank you Vladimir for your comments.
> Yes, agree to your points and made the changes.
> Also additionally added @build (found required when tried the single test run in RBT)
> Please check the revised <webrev.01> : http://cr.openjdk.java.net/~rraghavan/8153194/webrev.01/
> No issues found with local jtreg testing, RBT .
The following lines are redundant:
+ * @build ClassFileInstaller sun.hotspot.WhiteBox
+ * @run main ClassFileInstaller sun.hotspot.WhiteBox
No need to install WhiteBox anywhere, bootclasspath mode already handles it.
Otherwise, looks good.
>> -----Original Message-----
>> From: Vladimir Ivanov > Sent: Wednesday, June 22, 2016 11:46 PM
>> Thanks for taking care of the bug, Rahul.
>>> Please review the following test fix patch for JDK-8153194.
>>> <webrev.00> : http://cr.openjdk.java.net/~rraghavan/8153194/webrev.00/
>> + * @run main ClassFileInstaller sun.hotspot.WhiteBox
>> + * @run main/othervm/timeout=300 -XX:+UnlockDiagnosticVMOptions
>> + * -XX:+WhiteBoxAPI -Xbatch -Xbootclasspath/a:.
>> You can use "@run main/bootclasspath/othervm" instead.
>> + long regionSize = wb.g1RegionSize();
>> What happens if G1 isn't used? Either explicitly specify -XX:+UseG1GC or
>> use @requires.
>> Otherwise, looks good.
>> Best regards,
>> Vladimir Ivanov
>>> https://bugs.openjdk.java.net/browse/JDK-8153194 - PreserveFPRegistersTest.java runs out of memory in the nightlies
>>> https://bugs.openjdk.java.net/browse/JDK-8148175 - C1: G1 barriers don't preserve FP registers
>>> - 'hotspot/test/compiler/gcbarriers/PreserveFPRegistersTest.java' was added as part of the old JDK-8148175 fix.
>>> - The 'PreserveFPRegistersTest.java' started failing in nightly tests for 64-bit targets only with -XX:-UseCompressedOops enabled.
>>> - Found wrong hard coded usage of reference size as 32 bits in test caused OutOfMemoryError, for -XX:-UseCompressedOops
>>> Changes done -
>>> - Actual fix of setting reference size using WhiteBox.getHeapOopSize() and removed @ignore.
>>> - Used WhiteBox.g1RegionSize() instead of hard coded value.
>>> - Used -Xmx300m instead of -Xmx128m for run VM options.
>>> (found this change is required for the test to fail correctly using old JDK9 builds prior to JDK-8148175 fix.
>>> e.g.: for test to fail with "java.lang.AssertionError: Final value has changed: 0.0 != 6.0" using JDK9-b113.
>>> Please note same -Xmx300m used for failing case reported in JDK-8148175.
>>> - Added diagnostic output.
>>> Testing done -
>>> - Confirmed revised test fails as expected using old jdk9 builds prior to JDK-8148175 fix (e.g.: JDK9-b113)
>>> >> [Test finished: compiler/gcbarriers/PreserveFPRegistersTest.java: Failed. Execution failed: `main' threw exception:
>> java.lang.AssertionError: Final value has changed: 0.0 != 6.0]
>>> (for default run and with -XX:-UseCompressedOops)
>>> - Confirmed revised test is passing for latest source build (.i.e. with JDK-8148175 fix, starting from JDK9-b114)
>>> (with and without -XX:-UseCompressedOops)
More information about the hotspot-compiler-dev