Source code

Revision control

Copy as Markdown

Other Tools

var depth = 0;
test();
function test() {
// |test()| is called recursively. When the generator runs in the JIT, the
// recursion limit is ~20x higher than in the interpreter. Limit the depth
// here so that the test doesn't timeout or becomes extremely slow.
if (++depth > 400)
return;
var catch1, catch2, catch3, finally1, finally2, finally3;
function* gen() {
yield 1;
try {
try {
try {
yield 1;
} finally {
test();
}
} catch (e) {
finally2 = true;
}
} catch (e) { }
}
iter = gen();
iter.next();
iter.next();
iter.return();
gc();
}