Start preparing the code base for marking the StringView(const char*) constructor...
[WebKit-https.git] / JSTests / wasm / stress / oom.js
1 // We don't need N versions of this simultaneously filling up RAM.
2 //@ skip
3
4 const verbose = false;
5
6 // Use a full 4GiB so that exhaustion is likely to occur faster. We're not
7 // guaranteed that we'll get that much virtually allocated to the memory so we
8 // can't actually check that exhaustion occurs at a particular number of
9 // memories.
10 const maximumPages = 65536;
11
12 let memories = [];
13 try {
14     while (true) {
15         let m = new WebAssembly.Memory({ initial: 64, maximum: maximumPages });
16         memories.push(m);
17         if (verbose)
18             print(`${WebAssemblyMemoryMode(m)} ${memories.length}`);
19     }
20 } catch (e) {
21     if (verbose)
22         print(`Caught: ${e}`);
23     if (e.message !== "Out of memory")
24         throw new Error(`Expected an out of memory error, got ${e} of type ${typeof e}`);
25 }