function makeString(char) {
    var result = "";
    for (var i = 0; i < 10; ++i)
        result += char;
    return result;
}

var array = [ "a", "b", "c", "d" ];

for (var i = 0; i < array.length; ++i)
    array[i] = makeString(array[i]);

function foo(array, s) {
    for (var i = 0; i < array.length; ++i) {
        if (array[i] === s)
            return i;
    }
    return null;
}

noInline(foo);

var array2 = [ "a", "b", "c", "d", "e" ];

for (var i = 0; i < array2.length; ++i)
    array2[i] = makeString(array2[i]);

for (var i = 0; i < 100000; ++i) {
    var index = i % array2.length;
    var result = foo(array, array2[index]);
    var expected = index >= array.length ? null : index
    if (result !== expected)
        throw "Error: bad result: " + result;
}

