blob: bce1e823fcd8063c14a2f68f66a04254698f9937 [file] [log] [blame]
fpizlo@apple.com49a5a662015-02-03 04:29:24 +00001function foo(o) {
2 var tmp = o.f;
3 return 42;
4}
5
6noInline(foo);
7
8var array = [{f:1}, {g:1, f:2}];
9for (var i = 0; i < 10000; ++i) {
10 var result = foo(array[i % array.length]);
11 if (result != 42)
12 throw "Error: bad result in loop: " + result;
13}
14
15var o = {};
16var didCallGetter = false;
17o.__defineGetter__("f", function() { didCallGetter = true; return 73; });
18var result = foo(o);
19if (result != 42)
20 throw "Error: bad result at end: " + result;
21if (!didCallGetter)
22 throw "Error: did not call getter at end.";