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.

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

mercurial