test262/implementation-contributed/javascriptcore/stress/get-by-id-strict-nested-arguments-2.js
test262-automation e9a5a7f918 [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time) (#1620)
* [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time)
2018-07-03 15:59:58 -04:00

43 lines
616 B
JavaScript

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!`);