blob: 7c464f6ed690fad3aa2aec366c001d1063f239f9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
// |jit-test| --fast-warmup
gczeal(0);
// Create a gray function.
grayRoot()[0] = (obj) => obj.x;
function foo(obj, skip) {
if (!skip)
return grayRoot()[0](obj);
}
with ({}) {}
// Set up `foo` to inline the gray function when we hit the threshold.
for (var i = 0; i < 6; i++) {
foo({x:1}, false);
foo({y:1, x:2}, false);
}
// Start a gc, yielding after marking gray roots.
gczeal(25);
startgc(1);
// Trigger inlining, being careful not to call and mark the gray function.
// This adds the gray function to cellsToAssertNotGray.
for (var i = 0; i < 10; i++) {
foo({x:1}, true);
}
// Finish the gc and process the delayed gray checks list.
finishgc();
|