blob: fdfc9a8644dcef64a93cd270243bd71bd047fdcd [file] [log] [blame]
let warm = 1000;
function foo(f) {
return f.arguments;
}
noInline(foo);
let caught = 0;
function bar() {
for (let i = 0; i < warm; ++i)
foo(bar);
const x = function baz1() { "use strict"; return 42; };
const y = function baz2() { "use strict"; return 0xc0defefe; };
return [x, y];
}
bar();
bar();
const [baz1, baz2] = bar();
if (baz1() !== 42)
throw new Error(`bad!`);
if (baz2() !== 0xc0defefe)
throw new Error(`bad!`);
try {
foo(baz1);
} catch (e) {
++caught;
}
try {
foo(baz2);
} catch (e) {
++caught;
}
if (caught !== 2)
throw new Error(`bad!`);