Source code

Revision control

Copy as Markdown

Other Tools

// Test that Ion->Baseline in-place debug mode bailout can recover the iterator
// from the snapshot in a for-of loop.
g = newGlobal({newCompartment: true});
g.parent = this;
g.eval("Debugger(parent).onExceptionUnwind=(function() {})");
function* throwInNext() {
yield 1;
yield 2;
yield 3;
throw 42;
}
function f() {
for (var o of throwInNext());
}
var log = "";
try {
f();
} catch (e) {
log += e;
}
assertEq(log, "42");