tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

try-finally-osr.js (519B)


      1 var count = 0;
      2 
      3 // OSR into a finally block should not throw away the frame's
      4 // return value.
      5 function test1() {
      6    try {
      7 return [1, 2, 3];
      8    } finally {
      9 for (var i=0; i<20; i++) { count++; }
     10    }
     11 }
     12 assertEq(test1().toString(), "1,2,3");
     13 assertEq(count, 20);
     14 
     15 // OSR into the finally block, with exception pending.
     16 function test2() {
     17    try {
     18 throw 3;
     19    } finally {
     20 for (var i=0; i<20; i++) { count++; }
     21    }
     22 }
     23 try {
     24    test2();
     25    assertEq(0, 1);
     26 } catch(e) {
     27    assertEq(e, 3);
     28 }
     29 assertEq(count, 40);