]> git.saurik.com Git - apple/javascriptcore.git/blame - tests/stress/sink-object-past-invalid-check-sneakier.js
JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / tests / stress / sink-object-past-invalid-check-sneakier.js
CommitLineData
ed1e77d3
A
1function bar(o, p) {
2 if (p)
3 return +o.f;
4 return 42;
5}
6
7function foo(p, q) {
8 var result = 0;
9 var o = {valueOf: function() { result = 1; }};
10 var o2 = {f: o};
11 if (p)
12 bar(o2, q);
13 return result;
14}
15
16noInline(foo);
17
18foo(true, false);
19
20for (var i = 0; i < 10000; ++i)
21 bar({f:42}, true);
22
23for (var i = 0; i < 10000; ++i) {
24 var result = foo(false, true);
25 if (result !== 0)
26 throw "Error: bad result: " + result;
27}
28
29var result = foo(true, true);
30if (result !== 1)
31 throw "Error: bad result at end: " + result;
32