Index: test/mjsunit/compiler/manual-concurrent-recompile.js |
diff --git a/test/mjsunit/manual-parallel-recompile.js b/test/mjsunit/compiler/manual-concurrent-recompile.js |
similarity index 87% |
rename from test/mjsunit/manual-parallel-recompile.js |
rename to test/mjsunit/compiler/manual-concurrent-recompile.js |
index 0a0e61d5248c37ca35534f3f84cb1efd09c3e597..b2b63988babf7c8a9af561d126dc65a592b73747 100644 |
--- a/test/mjsunit/manual-parallel-recompile.js |
+++ b/test/mjsunit/compiler/manual-concurrent-recompile.js |
@@ -26,7 +26,7 @@ |
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
// Flags: --allow-natives-syntax --expose-gc |
-// Flags: --concurrent-recompilation --concurrent-recompilation-delay=50 |
+// Flags: --concurrent-recompilation --block-concurrent-recompilation |
if (!%IsConcurrentRecompilationSupported()) { |
print("Concurrent recompilation is disabled. Skipping this test."); |
@@ -55,10 +55,13 @@ assertUnoptimized(g); |
%OptimizeFunctionOnNextCall(f, "concurrent"); |
%OptimizeFunctionOnNextCall(g, "concurrent"); |
-f(g(2)); // Trigger optimization. |
+f(g(2)); // Kick off recompilation. |
-assertUnoptimized(f, "no sync"); // Not yet optimized while background thread |
-assertUnoptimized(g, "no sync"); // is running. |
+assertUnoptimized(f, "no sync"); // Not yet optimized since recompilation |
+assertUnoptimized(g, "no sync"); // is still blocked. |
+ |
+// Let concurrent recompilation proceed. |
+%UnblockConcurrentRecompilation(); |
assertOptimized(f, "sync"); // Optimized once we sync with the |
assertOptimized(g, "sync"); // background thread. |