summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/basic/homogenous-literals.js
blob: d9e3e77610546313068713e353c1111098fb65f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
function processNoProperty(a) {
    var total = 0;
    for (var i = 0; i < a.length; i++) {
        var sa = a[i];
        for (var j = 0; j < sa.length; j++)
            total += sa[j];
    }
    assertEq(total, 22);
}

var literalArray = [
    [1,2,3,4],
    [1.5,2.5,3.5,4.5]
];

var jsonArray = JSON.parse(`[
    [1,2,3,4],
    [1.5,2.5,3.5,4.5]
]`);

for (var i = 0; i < 1000; i++) {
    processNoProperty(literalArray);
    processNoProperty(jsonArray);
}

function processWithProperty(a) {
    var total = 0;
    for (var i = 0; i < a.length; i++) {
        var sa = a[i].p;
        for (var j = 0; j < sa.length; j++)
            total += sa[j];
    }
    assertEq(total, 22);
}

var literalPropertyArray = [
    {p:[1,2,3,4]},
    {p:[1.5,2.5,3.5,4.5]}
];

var jsonPropertyArray = JSON.parse(`[
    {"p":[1,2,3,4]},
    {"p":[1.5,2.5,3.5,4.5]}
]`);

for (var i = 0; i < 1000; i++) {
    processWithProperty(literalPropertyArray);
    processWithProperty(jsonPropertyArray);
}