js/src/jit-test/tests/ion/bug799185-7.js

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     1 var y = undefined;
     3 try {} catch (x) {
     4     try {} catch (x) {
     5         try {} catch (x) {
     6         }
     7     }
     8 }
    10 try {} catch (x if y) {
    11     try {} catch (x if y) {
    12         try {} catch (x if y) {
    13         }
    14     }
    15 }
    17 while (false) {
    18     try {} catch ({x,y} if x) {
    19         try {} catch ({a,b,c,d} if a) {
    20             if (b) break;
    21             if (c) continue;
    22         }
    23     } finally {}
    24 }
    26 Label1:
    27 for (let foo = 0; foo < 0; foo++) {
    28     Label2:
    29     for (let bar = 0; bar < 0; bar++) {
    30         if (foo) {
    31             if (bar)
    32                 break Label2;
    33             continue Label2;
    34         } else {
    35             if (bar)
    36                 break Label1;
    37             continue Label1;
    38         }
    39     }
    40 }
    42 Label3:
    43 for (let foo = 0; foo < 0; foo++) {
    44     Label4:
    45     for (let bar = 0; bar < 0; bar++) {
    46         if (foo) {
    47             if (bar)
    48                 continue Label4;
    49             break Label4;
    50         } else {
    51             if (bar)
    52                 continue Label3;
    53             break Label3;
    54         }
    55     }
    56 }
    58 switch (42) {
    59 default:
    60     try {} catch (x) {
    61         if (x + 1) {
    62             if (x)
    63                 break;
    64             break;
    65         }
    66     }
    67     break;
    68 }
    70 try {
    71     null.x;
    72 } catch (x) {
    73 }

mercurial