Revision f230a1cf deps/v8/test/mjsunit/regress/regress-embedded-cons-string.js
deps/v8/test/mjsunit/regress/regress-embedded-cons-string.js | ||
---|---|---|
27 | 27 |
|
28 | 28 |
// Flags: --fold-constants --nodead-code-elimination |
29 | 29 |
// Flags: --expose-gc --allow-natives-syntax |
30 |
// Flags: --concurrent-recompilation --concurrent-recompilation-delay=300
|
|
30 |
// Flags: --concurrent-recompilation --block-concurrent-recompilation
|
|
31 | 31 |
|
32 | 32 |
if (!%IsConcurrentRecompilationSupported()) { |
33 | 33 |
print("Concurrent recompilation is disabled. Skipping this test."); |
... | ... | |
39 | 39 |
fun(); |
40 | 40 |
// Mark for concurrent optimization. |
41 | 41 |
%OptimizeFunctionOnNextCall(fun, "concurrent"); |
42 |
//Trigger optimization in the background.
|
|
42 |
// Kick off recompilation.
|
|
43 | 43 |
fun(); |
44 |
//Tenure cons string.
|
|
44 |
// Tenure cons string after compile graph has been created.
|
|
45 | 45 |
gc(); |
46 |
// In the mean time, concurrent recompiling is not complete yet.
|
|
46 |
// In the mean time, concurrent recompiling is still blocked.
|
|
47 | 47 |
assertUnoptimized(fun, "no sync"); |
48 |
// Let concurrent recompilation proceed. |
|
49 |
%UnblockConcurrentRecompilation(); |
|
48 | 50 |
// Concurrent recompilation eventually finishes, embeds tenured cons string. |
49 | 51 |
assertOptimized(fun, "sync"); |
50 | 52 |
// Visit embedded cons string during mark compact. |
Also available in: Unified diff