Index: test/mjsunit/regress/regress-prepare-break-while-recompile.js |
diff --git a/test/mjsunit/regress/regress-prepare-break-while-recompile.js b/test/mjsunit/regress/regress-prepare-break-while-recompile.js |
index 2fad5ca0d295c71601393609d8f6fd9622ec7f7d..a9c20ec844b69750169422b0b55b4e649cc7dcee 100644 |
--- a/test/mjsunit/regress/regress-prepare-break-while-recompile.js |
+++ b/test/mjsunit/regress/regress-prepare-break-while-recompile.js |
@@ -26,7 +26,7 @@ |
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
// Flags: --expose-debug-as debug --allow-natives-syntax |
-// Flags: --concurrent-recompilation-delay=300 |
+// Flags: --block-concurrent-recompilation |
if (!%IsConcurrentRecompilationSupported()) { |
print("Concurrent recompilation is disabled. Skipping this test."); |
@@ -46,17 +46,22 @@ function bar() { |
} |
foo(); |
-// Mark and trigger concurrent optimization. |
+// Mark and kick off recompilation. |
%OptimizeFunctionOnNextCall(foo, "concurrent"); |
foo(); |
// Set break points on an unrelated function. This clears both optimized |
// and (shared) unoptimized code on foo, and sets both to lazy-compile builtin. |
// Clear the break point immediately after to deactivate the debugger. |
+// Do all of this after compile graph has been created. |
Debug.setBreakPoint(bar, 0, 0); |
Debug.clearAllBreakPoints(); |
+// At this point, concurrent recompilation is still blocked. |
+assertUnoptimized(foo, "no sync"); |
+// Let concurrent recompilation proceed. |
+%UnblockConcurrentRecompilation(); |
+ |
// Install optimized code when concurrent optimization finishes. |
// This needs to be able to deal with shared code being a builtin. |
assertUnoptimized(foo, "sync"); |
- |