js/src/jit-test/tests/ion/setelem-hole.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.

     1 // Storing a typed value.
     2 function test1() {
     3     var a = [];
     4     for (var i=0; i<130; i++) {
     5         a[i] = i + 1;
     6     }
     7     return a;
     8 }
    10 var arr = test1();
    11 assertEq(arr.length, 130);
    13 for (var i=0; i<130; i++)
    14     assertEq(arr[i], i + 1);
    16 // Storing a Value.
    17 function getValue(x) {
    18     var y = x & 0x3;
    19     if (y == 0) return null;
    20     if (y == 1) return true;
    21     if (y == 2) return 1.23;
    22     if (y == 3) return Math;
    23     assertEq(0, 1);
    24 }
    25 getValue(0);
    26 getValue(1);
    28 function test2() {
    29     var a = [];
    30     for (var i=0; i<130; i++) {
    31         a[i] = getValue(i);
    32     }
    33     return a;
    34 }
    36 var arr = test2();
    37 assertEq(arr.length, 130);
    39 for (var i=0; i<130; i++)
    40     assertEq(arr[i], getValue(i));
    42 // Make sure the length-property is not updated if it's greater than
    43 // the (new) initialized length.
    44 function test3(arr, start, end) {
    45     for (var i=start; i<end; i++) {
    46         arr[i] = 10;
    47     }
    48 }
    49 var a = new Array(200);
    50 test3(a, 10, 130);
    51 assertEq(a.length, 200);
    53 for (var i=10; i<130; i++)
    54     assertEq(a[i], 10);
    56 test3(a, 130, 220);
    57 assertEq(a.length, 220);
    59 // Test constant index.
    60 function test4() {
    61     var a = [0, 1, 2, 3, 4, 5];
    62     for (var i=0; i<150; i++) {
    63         a[6] = i;
    64     }
    65     return a;
    66 }
    67 var arr = test4();
    68 assertEq(arr[6], 149);

mercurial