]> git.saurik.com Git - apple/javascriptcore.git/blame - tests/stress/jit-cache-poly-replace-then-cache-get-and-fold-then-invalidate.js
JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / tests / stress / jit-cache-poly-replace-then-cache-get-and-fold-then-invalidate.js
CommitLineData
ed1e77d3
A
1var o = {f:42};
2
3function foo(p, o, v) {
4 if (p)
5 o.f = v;
6}
7
8function bar() {
9 return o.f;
10}
11
12noInline(foo);
13noInline(bar);
14
15for (var i = 0; i < 10; ++i)
16 foo(false);
17
18for (var i = 0; i < 10; ++i)
19 foo(true, {}, 42);
20
21for (var i = 0; i < 10; ++i)
22 foo(true, o, 42);
23
24for (var i = 0; i < 100000; ++i) {
25 var result = bar();
26 if (result != 42)
27 throw "Error: bad result: " + result;
28}
29
30foo(true, o, 53);
31var result = bar();
32if (result != 53)
33 throw "Error: bad result at end: " + result;