summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/ion/has-definite-folding.js
blob: 3e5dcfad4537deb611cab6eccad1c6d5affd8b3c (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
var max = 40;
setJitCompilerOption("ion.warmup.trigger", max - 10);

function defineProperty() {
    var abc = {};
    Object.defineProperty(abc, "x", {value: 1})
    assertEq(abc.x, 1);
}

function simple() {
    var o = {a: 1};
    assertEq("a" in o, true);
    assertEq("b" in o, false);
    assertEq(o.hasOwnProperty("a"), true);
    assertEq(o.hasOwnProperty("b"), false);
}

function proto() {
    var o = {a: 1, __proto__: {b: 2}};
    assertEq("a" in o, true);
    assertEq("b" in o, true);
    assertEq("c" in o, false);
    assertEq(o.hasOwnProperty("a"), true);
    assertEq(o.hasOwnProperty("b"), false);
    assertEq(o.hasOwnProperty("c"), false);
}

for (var i = 0; i < max; i++) {
    defineProperty();
    simple();
    proto();
}