blob: 89b6f6532752bf21bc82c15273c99c768a4b6c49 [file] [log] [blame]
description('This test makes sure stack unwinding works correctly in combination with dynamically added scopes');
function gc()
{
if (this.GCController)
GCController.collect();
else
for (var i = 0; i < 10000; ++i) // Allocate a sufficient number of objects to force a GC.
({});
}
var result;
function runTest() {
var test = "outer scope";
with({test:"inner scope"})
(function () { try { throw ""; } finally { result = test; shouldBe("result", '"inner scope"'); return;}})()
}
runTest();
try{
(function() {
try {
throw "";
} catch(y) {
throw (function(){});
} finally {
}
})()
}catch(r){
}
// Just clobber any temporaries
a=({});
a*=a*a*a;
gc();