function testArrayInWithIndexedProto()
{
    Array.prototype[0] = "Got me";
    var zeroPresent, zeroPresent2;
    // Need to go to 18 because in the failure mode this is
    // testing we have various side-exits in there due to interp and
    // tracer not agreeing that confuse the issue and cause us to not
    // hit the bad case within 9 iterations.
    for (var j = 0; j < 18; ++j) {
	zeroPresent = 0 in [];
    }

    var arr = [1, 2];
    delete arr[0];
    for (var j = 0; j < 18; ++j) {
	zeroPresent2 = 0 in arr;
    }
    return [zeroPresent, zeroPresent2];
}

var [ret, ret2] = testArrayInWithIndexedProto();
assertEq(ret, true);
assertEq(ret2, true);