js/src/jit-test/tests/ion/bug824863.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 Module = {};
     2 var Runtime = {
     3     alignMemory: function alignMemory(size, quantum) {
     4 	return Math.ceil((size) / (quantum ? quantum : 4)) * (quantum ? quantum : 4);
     5     },
     6 }
     7 function assert(condition, text) {
     8     throw text;
     9 }
    10 STACK_ROOT = STACKTOP = Runtime.alignMemory(1);
    11 function _main() {
    12     var __stackBase__ = STACKTOP;
    13     var label;
    14     label = 2;
    15     while (1) {
    16 	switch (label) {
    17           case 2:
    18             var $f = __stackBase__;
    19             var $1 = __stackBase__ + 12;
    20             var $2 = __stackBase__ + 24;
    21             var $3 = $f | 0;
    22             var $4 = $f + 4 | 0;
    23             var $5 = $f + 8 | 0;
    24             var $_0 = $1 | 0;
    25             var $_1 = $1 + 4 | 0;
    26             var $_2 = $1 + 8 | 0;
    27             var $j_012 = 0;
    28             label = 4;
    29             break;
    30           case 4:
    31             assertEq($_2, 24);
    32             if (($j_012 | 0) != 110) {
    33                 var $j_012 = $j_012 + 1;
    34                 break;
    35             }
    36             var $23 = $i_014 + 1 | 0;
    37             if (($23 | 0) != 110) {
    38                 var $i_014 = $23;
    39 		var $j_012 = 0;
    40                 label = 4;
    41                 break;
    42             }
    43           default:
    44             assert(0, "bad label: " + label);
    45 	}
    46     }
    47 }
    48 try {
    49     _main(0, [], 0);
    50     assertEq(0, 1);
    51 } catch(e) {
    52     assertEq(e, "bad label: 4");
    53 }

mercurial