blob: 4e64a22167cd44bd619e44386aad02a36ccc38c7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
// |jit-test| --fast-warmup
function h(i) {
if (i === 150) {
with(this) {} // Don't inline.
// Trigger an invalidation of f's IonScript (with g inlined into it) on
// the stack. Before we bail out, replace g and trial-inline the new
// function. The bailout must not get confused by this.
gc(this, "shrinking");
g = (i, x) => x + 20;
f();
}
}
function g(i, x) {
h(i);
return x + 1;
}
function f() {
for (var i = 0; i < 300; i++) {
g(i, "foo");
g(i, 1);
}
}
f();
|