function foo(a, s) {
    return a[s] + 1;
}

var shouldThrow = false;
function bar() {
    if (shouldThrow)
        throw "hello";
    return 42;
}

var a = {};
a.__defineGetter__("bar", bar);

noInline(foo);
noInline(bar);

for (var i = 0; i < testLoopCount; ++i) {
    var result = foo(a, "bar");
    if (result != 43)
        throw "Error: bad result: " + result;
}

var didThrow;
try {
    shouldThrow = true;
    foo(a, "bar");
} catch (e) {
    didThrow = e;
}

if (didThrow != "hello")
    throw "Error: didn't throw or threw wrong exception: " + didThrow;
