| Index: test/mjsunit/concurrent-initial-prototype-change.js
|
| diff --git a/test/mjsunit/parallel-initial-prototype-change.js b/test/mjsunit/concurrent-initial-prototype-change.js
|
| similarity index 86%
|
| rename from test/mjsunit/parallel-initial-prototype-change.js
|
| rename to test/mjsunit/concurrent-initial-prototype-change.js
|
| index 625b590fcc3a5c62ed0ba8bb7d48ca57a257c9cd..d5b1b9949173ec9916f3c2b63fa607ec3a6778e2 100644
|
| --- a/test/mjsunit/parallel-initial-prototype-change.js
|
| +++ b/test/mjsunit/concurrent-initial-prototype-change.js
|
| @@ -26,7 +26,7 @@
|
| // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
| // Flags: --allow-natives-syntax
|
| -// Flags: --concurrent-recompilation --concurrent-recompilation-delay=100
|
| +// Flags: --concurrent-recompilation --block-concurrent-recompilation
|
|
|
| if (!%IsConcurrentRecompilationSupported()) {
|
| print("Concurrent recompilation is disabled. Skipping this test.");
|
| @@ -43,12 +43,15 @@ assertEquals(0.5, f1(arr, 0));
|
|
|
| // Optimized code of f1 depends on initial object and array maps.
|
| %OptimizeFunctionOnNextCall(f1, "concurrent");
|
| -// Trigger optimization in the background thread
|
| +// Kick off recompilation;
|
| assertEquals(0.5, f1(arr, 0));
|
| -Object.prototype[1] = 1.5; // Invalidate current initial object map.
|
| +// Invalidate current initial object map after compile graph has been created.
|
| +Object.prototype[1] = 1.5;
|
| assertEquals(2, f1(arr, 1));
|
| -// Not yet optimized while background thread is running.
|
| +// Not yet optimized since concurrent recompilation is blocked.
|
| assertUnoptimized(f1, "no sync");
|
| +// Let concurrent recompilation proceed.
|
| +%UnblockConcurrentRecompilation();
|
| // Sync with background thread to conclude optimization, which bails out
|
| // due to map dependency.
|
| assertUnoptimized(f1, "sync");
|
|
|