summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/jaeger/bug738525.js
blob: 0e531fa45530af2e64040c90a6be28bc2db202eb (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
// Test IC for getters backed by a JSNative.
function test1() {
    for (var i = 0; i < 60; i++) {
        assertEq(it.customNative, undefined);
    }

    var res = 0;
    for (var i = 0; i < 60; i++) {
        it.customNative = i;
        res += it.customNative;
    }

    assertEq(res, 1770);
}
function test2() {
    function getValue() {
        return it.customNative;
    }

    for (var i = 0; i < 60; i++) {
        it.customNative = i;
        assertEq(getValue(), i);
    }

    for (var i = 0; i < 60; i++) {
        it.customNative = null;
        assertEq(getValue(), null);

        delete it["customNativ" + "e"];
        assertEq(getValue(), undefined);
        assertEq(it.customNative, undefined);
    }
}
if ("it" in this) {
    test1();
    test2();
}