mirror of
https://github.com/tc39/test262.git
synced 2025-05-03 22:40:28 +02:00
* [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)
57 lines
1.3 KiB
JavaScript
57 lines
1.3 KiB
JavaScript
var abort = $vm.abort;
|
|
|
|
if (platformSupportsSamplingProfiler()) {
|
|
load("./sampling-profiler/samplingProfiler.js");
|
|
|
|
let tree = null;
|
|
function testResults() {
|
|
if (!tree)
|
|
tree = makeTree();
|
|
else
|
|
updateCallingContextTree(tree);
|
|
|
|
let result = doesTreeHaveStackTrace(tree, ["jar", "hello", "promiseReactionJob"], false);
|
|
return result;
|
|
}
|
|
|
|
let o1 = {};
|
|
let o2 = {};
|
|
function jar(x) {
|
|
for (let i = 0; i < 1000; i++) {
|
|
o1[i] = i;
|
|
o2[i] = i + o1[i];
|
|
i++;
|
|
i--;
|
|
}
|
|
return x;
|
|
}
|
|
noInline(jar)
|
|
|
|
let numLoops = 0;
|
|
function loop() {
|
|
let counter = 0;
|
|
const numPromises = 100;
|
|
function jaz() {
|
|
Promise.resolve(42).then(function hello(v1) {
|
|
for (let i = 0; i < 100; i++)
|
|
jar();
|
|
counter++;
|
|
if (counter >= numPromises) {
|
|
numLoops++;
|
|
if (!testResults()) {
|
|
if (numLoops > 5)
|
|
abort();
|
|
else
|
|
loop();
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
for (let i = 0; i < numPromises; i++)
|
|
jaz();
|
|
}
|
|
|
|
loop();
|
|
}
|