// Copyright (C) Copyright 2016 the v8 project authors. All rights reserved. //@ runNoCJIT("--gcMaxHeapSize=2000000") function shouldBe(expected, actual, msg = "") { if (msg) msg = " for " + msg; if (actual !== expected) throw new Error("bad value" + msg + ": " + actual + ". Expected " + expected); } let out; async function thrower() { throw undefined; } async function throwLoop() { for (let i = 0; i < 8000; i++) { try { await thrower(); } catch (error) { void 0; } } out = 2; } throwLoop(); drainMicrotasks(); shouldBe(out, 2);