if (platformSupportsSamplingProfiler()) { | |
load("./sampling-profiler/samplingProfiler.js"); | |
function foo(x) { | |
let o = {}; | |
for (let i = 0; i < 1000; i++) { | |
let x = i; | |
x--; | |
o["x" + x] = x; | |
} | |
return x; | |
} | |
noInline(foo); | |
const limit = 300; | |
let hellaDeep = function(i) { | |
if (i < limit) | |
hellaDeep(i + 1); | |
else | |
foo(i); | |
} | |
let start = function() { | |
hellaDeep(1); | |
} | |
let stackTrace = []; | |
stackTrace.push("foo"); | |
for (let i = 0; i < limit; i++) | |
stackTrace.push("hellaDeep"); | |
stackTrace.push("start"); | |
runTest(start, stackTrace); | |
} |