description(
"This tests that a polymorphic structure check is actually executed."
);

function foo(o, p) {
    if (o == p)
        return o.f;
    else
        return 75;
}

var o1 = {f:42, g:43};
var o2 = {f:44};
var o3 = {e:45, f:46};

silentTestPass = true;
noInline(foo);

for (var i = 0; i < 200; i = dfgIncrement({f:foo, i:i + 1, n:100})) {
    var o;
    var expected;
    if (i < 150) {
        if (i & 1) {
            o = o1;
            expected = 42;
        } else {
            o = o2;
            expected = 44;
        }
    } else {
        o = o3;
        expected = 46;
    }
    shouldBe("foo(o, o)", "" + expected);
}
