blob: dd18e82a69f17d400e099a182d796cef645265f6 [file] [log] [blame]
gczeal(14);
// The object metadata callback can iterate over the stack. Thus during the
// allocation of the lambda we might inspect the stack which is still incomplete
// because the lambda is not yet reconstructed.
//
// enableShellObjectMetadataCallback ignores its argument, because we don't
// permit metadata callbacks to run JS any more, so this test may be
// unnecessary. We'll preserve its structure just in case.
enableShellObjectMetadataCallback(function() {});
function f() {
(function() {
'' ^ Object
})();
}
x = 0;
for (var j = 0; j < 99; ++j) {
x += f();
}
try {
x = true;
// Same comment as above.
enableShellObjectMetadataCallback(function([x, y, z], ... Debugger) {});
for (var i = 0; i < 10; ++i) {
var f = function() {
function g() {
x++;
}
g();
}
f();
}
} catch (e) {
assertEq(e instanceof TypeError, true);
}