[JSC] AI should not propagate AbstractValue relying on constant folding phase
[WebKit-https.git] / JSTests / stress / async-await-throw-loop.js
1 // Copyright (C) Copyright 2016 the v8 project authors. All rights reserved.
2
3 //@ runNoCJIT("--gcMaxHeapSize=2000000")
4
5 function shouldBe(expected, actual, msg = "") {
6     if (msg)
7         msg = " for " + msg;
8     if (actual !== expected)
9         throw new Error("bad value" + msg + ": " + actual + ". Expected " + expected);
10 }
11
12
13 let out;
14
15 async function thrower() { throw undefined; }
16
17 async function throwLoop() {
18     for (let i = 0; i < 8000; i++) {
19         try {
20             await thrower();
21         } catch (error) {
22             void 0;
23         }
24     }
25     out = 2;
26 }
27
28 throwLoop();
29
30 drainMicrotasks();
31
32 shouldBe(out, 2);