blob: e682652330e334e1f7327dc6ee64e26a4281a47e (
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
|
function f(i) {
// Add use of the boxed Int32 parameter |i| as a Double.
(2 ** i);
// This call into |g| will get inlined and an inline-arguments object will be
// created. |i| was unboxed to Double earlier, but we must not store the
// unboxed Double into the inline-arguments object, because other uses of the
// boxed Int32 |i| may expect Int32 inputs.
return g(i);
}
function g(i) {
// Add use of aliased |i| as an Int32.
if (i) {
// Add use |arguments| to make |i| an aliased variable which gets stored in
// the inline-arguments object.
return arguments;
}
}
// Don't inline |f| into the top-level script.
with ({});
for (let i = 0; i < 4000; i++) {
f(i);
}
|