closing-osr.js (403B)
1 // OSR into a |finally| block while closing a legacy generator should work. 2 var log = ""; 3 function* f() { 4 try { 5 try { 6 log += "a"; 7 yield 2; 8 log += "b"; 9 yield 3; 10 } finally { 11 log += "c"; 12 for (var i=0; i<20; i++) {}; 13 log += "d"; 14 } 15 } catch(e) { 16 log += "e"; 17 } 18 log += "f"; 19 } 20 21 var it = f(); 22 assertEq(it.next().value, 2); 23 it.return(); 24 assertEq(log, "acd");