[JSC] AI should not propagate AbstractValue relying on constant folding phase
[WebKit-https.git] / JSTests / microbenchmarks / map-has-get-cse-opportunity.js
1 function bar(map, p) {
2     if (map.has(p))
3         return map.get(p);
4 }
5 noInline(bar);
6
7 function foo() {
8     let map = new Map;
9     let items = [
10         [10, 50],
11         ["450", 78],
12         [{}, {}],
13         [Symbol(), true],
14         [undefined, null],
15         [true, null],
16         [false, true],
17         [45.87, {}]
18     ];
19     for (let [key, value] of items)
20         map.set(key, value);
21     let start = Date.now();
22     for (let i = 0; i < 5000000; i++)
23         bar(map, items[i % items.length][0]);
24     const verbose = false;
25     if (verbose)
26         print(Date.now() - start);
27 }
28 foo();