//@ skip if $model == "Apple Watch Series 3" # added by mark-jsc-stress-test.py
function foo(o) {
    var result;
    for (var i = 0; i < 2; ++i) {
        var subResult = o.length;
        if (i == 0) {
            result = subResult;
            if (subResult !== void 0)
                break;
        }
        o = [1];
    }
    if (result === void 0) {
        for (var i = 0; i < 10000; ++i) { }
    }
    return result;
}

noInline(foo);

for (var j = 0; j < 10; ++j) {
    for (var i = 0; i < 10000; ++i) {
        var a = [1];
        a.length = 99999999;
        a.f = 42;
        foo(a);
    }
    
    var result = foo({});
    if (result !== void 0)
        throw "Error: bad result: " + result;
}
