[JSC] AI should not propagate AbstractValue relying on constant folding phase
[WebKit-https.git] / JSTests / stress / global-lexical-binding-epoch-should-be-correct-one.js
1 globalThis.a = 0;
2 function f1(v)
3 {
4     let x = 40;
5     function f2() {
6         x;
7         let y = 41;
8         function f3() {
9             let z = 44;
10             function f4() {
11                 z;
12                 if (v)
13                     return a;
14                 return 1;
15             }
16             return f4();
17         }
18         return f3();
19     }
20     return f2();
21 }
22 var N = 2;
23 for (var i = 0; i < N; ++i) {
24     $.evalScript(`let i${i} = 42`);
25 }
26 if (f1(false) !== 1) {
27     throw new Error('first');
28 }
29 $.evalScript(`let a = 42`);
30 if (f1(true) !== 42)
31     throw new Error('second');