]>
Commit | Line | Data |
---|---|---|
ed1e77d3 A |
1 | function foo(o) { |
2 | var tmp = o.f; | |
3 | return 42; | |
4 | } | |
5 | ||
6 | noInline(foo); | |
7 | ||
8 | var array = [{f:1}, {g:1, f:2}]; | |
9 | for (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 | ||
15 | var o = {}; | |
16 | var didCallGetter = false; | |
17 | o.__defineGetter__("f", function() { didCallGetter = true; return 73; }); | |
18 | var result = foo(o); | |
19 | if (result != 42) | |
20 | throw "Error: bad result at end: " + result; | |
21 | if (!didCallGetter) | |
22 | throw "Error: did not call getter at end."; |