test/compiler/whitebox/BlockingCompilation.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/test/compiler/whitebox/BlockingCompilation.java	Wed Apr 13 14:48:47 2016
--- new/test/compiler/whitebox/BlockingCompilation.java	Wed Apr 13 14:48:47 2016

*** 26,52 **** --- 26,50 ---- * @bug 8150646 * @summary Add support for blocking compiles through whitebox API * @library /testlibrary /test/lib / * @build sun.hotspot.WhiteBox * compiler.testlibrary.CompilerUtils ! * @run main ClassFileInstaller sun.hotspot.WhiteBox ! * @run driver ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission * * @run main/othervm/timeout=60 * -Xbootclasspath/a:. * -Xmixed * -XX:+UnlockDiagnosticVMOptions * -XX:+WhiteBoxAPI * -XX:+PrintCompilation * BlockingCompilation */ + import compiler.testlibrary.CompilerUtils; import java.lang.reflect.Method; import java.util.Random; import sun.hotspot.WhiteBox; import compiler.testlibrary.CompilerUtils; public class BlockingCompilation { private static final WhiteBox WB = WhiteBox.getWhiteBox(); private static final Random RANDOM = new Random();
*** 75,85 **** --- 73,89 ---- // Try compiling on highest available comp level. // If the compiles are blocking, this call will block until the test time out, // Progress == success // (Don't run with -Xcomp since that can cause long timeouts due to many compiles) WB.enqueueMethodForCompilation(m, highest_level); + if (!WB.enqueueMethodForCompilation(m, highest_level)) { + throw new Exception("Failed to enqueue method on level: " + highest_level); + } + + if (!WB.isMethodQueuedForCompilation(m)) { + throw new Exception("Must be enqueued because of locked compilation"); + } // restore state WB.unlockCompilation(); while (!WB.isMethodCompiled(m)) { Thread.sleep(100);

test/compiler/whitebox/BlockingCompilation.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File