| Index: test/mjsunit/regress/regress-embedded-cons-string.js
|
| diff --git a/test/mjsunit/regress/regress-embedded-cons-string.js b/test/mjsunit/regress/regress-embedded-cons-string.js
|
| index 32b900b15b4dfde108c98b961ee7a42b3031da8a..b08a94257cc6cdb6c8bbad25cc7bbd8bbb56d11b 100644
|
| --- a/test/mjsunit/regress/regress-embedded-cons-string.js
|
| +++ b/test/mjsunit/regress/regress-embedded-cons-string.js
|
| @@ -27,7 +27,7 @@
|
|
|
| // Flags: --fold-constants --nodead-code-elimination
|
| // Flags: --expose-gc --allow-natives-syntax
|
| -// Flags: --concurrent-recompilation --concurrent-recompilation-delay=600
|
| +// Flags: --concurrent-recompilation --block-concurrent-recompilation
|
|
|
| if (!%IsConcurrentRecompilationSupported()) {
|
| print("Concurrent recompilation is disabled. Skipping this test.");
|
| @@ -39,12 +39,14 @@ function test(fun) {
|
| fun();
|
| // Mark for concurrent optimization.
|
| %OptimizeFunctionOnNextCall(fun, "concurrent");
|
| - //Trigger optimization in the background.
|
| + // Kick off recompilation.
|
| fun();
|
| - //Tenure cons string.
|
| + // Tenure cons string after compile graph has been created.
|
| gc();
|
| - // In the mean time, concurrent recompiling is not complete yet.
|
| + // In the mean time, concurrent recompiling is still blocked.
|
| assertUnoptimized(fun, "no sync");
|
| + // Let concurrent recompilation proceed.
|
| + %UnblockConcurrentRecompilation();
|
| // Concurrent recompilation eventually finishes, embeds tenured cons string.
|
| assertOptimized(fun, "sync");
|
| // Visit embedded cons string during mark compact.
|
|
|