js/src/jit-test/tests/jaeger/regalloc-live.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     2 // test local/arg liveness analysis in presence of many locals
     4 function foo(a, b, c) {
     5   var x = 0, y = 0, z = 0;
     6   if (a < b) {
     7     x = a + 0;
     8     y = b + 0;
     9     z = c + 0;
    10   } else {
    11     x = a;
    12     y = b;
    13     z = c;
    14   }
    15   return x + y + z;
    16 }
    17 assertEq(foo(1, 2, 3), 6);
    19 // restore liveness correctly before switch statements
    21 function foo(a, b, c) {
    22   var x = 0, y = 0, z = 0;
    23   if (a < b) {
    24     x = a + 0;
    25     y = b + 0;
    26     z = c + 0;
    27   } else {
    28     switch (c) {
    29     case 1:
    30     case 2:
    31     case 3:
    32     case 4:
    33     case 5: return 0;
    34     }
    35     x = 0;
    36     y = 0;
    37     z = 0;
    38   }
    39   return x + y + z;
    40 }
    41 assertEq(foo(1, 2, 3), 6);

mercurial