js/src/jit-test/tests/ion/bug774006.js

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     2 // Test IonMonkey SetElementIC when ran with --ion-eager.
     4 function setelem(o, i, v) {
     5     o[i] = v;
     6 }
     8 var arr = new Array();
     9 var obj = {};
    11 setelem(arr, "prop0", 2);
    12 setelem(arr, 0, 2); // invalidate
    13 setelem(arr, 1, 1); // recompile with setElemIC
    15 setelem(arr, 0, 0); // set known element.
    16 setelem(arr, 2, 2); // push last element.
    17 setelem(arr, 4, 4); // test out-of-bounds.
    18 setelem(arr, "prop0", 0);
    19 setelem(arr, "prop1", 1);
    21 setelem(obj, "prop0", 2);
    22 setelem(obj, 0, 2);
    23 setelem(obj, 1, 1);
    25 setelem(obj, 0, 0);
    26 setelem(obj, 2, 2);
    27 setelem(obj, 4, 4);
    28 setelem(obj, "prop0", 0);
    29 setelem(obj, "prop1", 1);
    31 assertEq(arr.prop0, 0);
    32 assertEq(arr.prop1, 1);
    33 assertEq(arr[0], 0);
    34 assertEq(arr[1], 1);
    35 assertEq(arr[2], 2);
    36 assertEq(arr[4], 4);
    38 assertEq(obj.prop0, 0);
    39 assertEq(obj.prop1, 1);
    40 assertEq(obj[0], 0);
    41 assertEq(obj[1], 1);
    42 assertEq(obj[2], 2);
    43 assertEq(obj[4], 4);

mercurial