blob: 4c7c8b85caae1a1d1a8c7425c139c92c09a5ae73 (
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
|
var o2 = new Proxy({}, {});
function f1() {}
function f2() {}
function f4(o) {
var key = Object.getOwnPropertyNames(o)[18];
o4 = o[key];
o.prototype = {};
}
f4(f1);
f4(f1);
f4(f2);
new f2(o2);
// these will hold only if type inference is enabled.
//assertEq(shapeOf(f1) == shapeOf(f2), false);
//assertEq(shapeOf(f1) == shapeOf(f4), false);
function factory() {
function foo() {}
foo.x = 0;
return foo;
}
var fobjs = [];
for (var i = 0; i < 10; i++) {
var of = fobjs[i] = factory();
if (i > 0) {
assertEq(fobjs[i - 1] === of, false);
assertEq(shapeOf(fobjs[i - 1]), shapeOf(of));
}
}
assertEq(shapeOf(fobjs[0]) == shapeOf(f1), false);
|