summaryrefslogtreecommitdiff
path: root/js/src/jit-test/tests/generators/closing-osr.js
blob: 2bb60999363eaf1383066e6bdc72d02f28060523 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// OSR into a |finally| block while closing a legacy generator should work.
var log = "";
function f() {
    try {
	try {
	    log += "a";
	    yield 2;
	    log += "b";
	    yield 3;
	} finally {
	    log += "c";
	    for (var i=0; i<20; i++) {};
	    log += "d";
	}
    } catch(e) {
	log += "e";
    }
    log += "f";
}

var it = f();
assertEq(it.next(), 2);
it.close();
assertEq(log, "acd");