summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/ion/object-create.js
blob: dca277c3edcb6a3ad8a1d62873f60d807dcd719e (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
// Ensure Ion inlining of Object.create(x) tests the type of x
// matches the template object.

var P1 = {};
var P2 = {};
minorgc();

function f1() {
    for (var i=0; i<100; i++) {
	var P = (i & 1) ? P1 : P2;
	var o = Object.create(P);
	assertEq(Object.getPrototypeOf(o), P);
    }
}
f1();

function f2() {
    var arr = [null, Array];
    for (var i=0; i<99; i++) {
	var p = arr[(i / 50)|0];
	var o = Object.create(p);
	assertEq(Object.getPrototypeOf(o), p);
    }
}
f2();