summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/ion/new-6.js
blob: 6212cd91d82ce233cdcb52a42671e24c08977c98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Enter an Ion constructor via on-stack replacement.

// This gets compiled and called by the interpreter.
// Allocation and primitive check need to happen caller-side.
function Foo() {
	var y = 0;
	for (var i = 0; i < 100; i++)
		{ y++ }
	this.x = 5;
	return y;
}

eval("//nothing"); // Prevent compilation of global script.

for (var i = 0; i < 100; i++) {
	var x = new Foo();
	assertEq(typeof(x), "object");
}