forked from mirrors/gecko-dev
Also change .eslintignore to cover the other directories. This also fixes the indentation the automatic fixer messed up in a few XHTML files. Differential Revision: https://phabricator.services.mozilla.com/D158503
34 lines
905 B
JavaScript
34 lines
905 B
JavaScript
var bottom = stackPointerInfo();
|
|
var top = bottom;
|
|
|
|
function nearNativeStackLimit() {
|
|
function inner() {
|
|
try {
|
|
with ({}) {
|
|
// keep things predictable -- stay in the interpreter
|
|
top = stackPointerInfo();
|
|
var stepsFromLimit = eval("inner()"); // Use eval to force a number of native stackframes to be created.
|
|
}
|
|
return stepsFromLimit + 1;
|
|
} catch (e) {
|
|
// It would be nice to check here that the exception is actually an
|
|
// over-recursion here. But doing so would require toString()ing the
|
|
// exception, which we may not have the stack space to do.
|
|
return 1;
|
|
}
|
|
}
|
|
return inner();
|
|
}
|
|
|
|
var nbFrames = nearNativeStackLimit();
|
|
var frameSize = bottom - top;
|
|
print(
|
|
"Max stack size:",
|
|
frameSize,
|
|
"bytes",
|
|
"\nMaximum number of frames:",
|
|
nbFrames,
|
|
"\nAverage frame size:",
|
|
Math.ceil(frameSize / nbFrames),
|
|
"bytes"
|
|
);
|