[JSC] AI should not propagate AbstractValue relying on constant folding phase
[WebKit-https.git] / JSTests / microbenchmarks / symbol-tostringtag.js
1 // Create a really long prototype chain.
2
3 // We need to put values on so the objects are not empty and have transition
4 // watchpoints.
5 function buildChain(depth) {
6     if (depth <= 0)
7         return { bloop: 1 };
8     let result = { value: 1 };
9     Object.setPrototypeOf(result, buildChain(depth - 1));
10     return result;
11 }
12
13
14 var object = buildChain(20);
15
16 function body() {
17     for (let i = 0; i < 100000; i++)
18         value = object.toString();
19 }
20 noInline(body);
21
22 // Try toString with misses.
23 body();
24
25 Object.prototype[Symbol.toStringTag] = "hit";
26
27 // Try toString with hit.
28 body();