blob: db008b3d68058941d4cee7f73350ee3555f83718 [file] [log] [blame]
fpizlo@apple.com9d899a42012-05-25 05:41:03 +00001description(
2"This tests that a polymorphic structure check is actually executed."
3);
4
5function foo(o, p) {
6 if (o == p)
7 return o.f;
8 else
9 return 75;
10}
11
12var o1 = {f:42, g:43};
13var o2 = {f:44};
14var o3 = {e:45, f:46};
15
fpizlo@apple.com0fa83862013-09-06 19:01:21 +000016silentTestPass = true;
17noInline(foo);
18
19for (var i = 0; i < 200; i = dfgIncrement({f:foo, i:i + 1, n:100})) {
fpizlo@apple.com9d899a42012-05-25 05:41:03 +000020 var o;
21 var expected;
22 if (i < 150) {
23 if (i & 1) {
24 o = o1;
25 expected = 42;
26 } else {
27 o = o2;
28 expected = 44;
29 }
30 } else {
31 o = o3;
32 expected = 46;
33 }
34 shouldBe("foo(o, o)", "" + expected);
35}