diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/jit-test/tests/modules/bug-1372258.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/modules/bug-1372258.js b/js/src/jit-test/tests/modules/bug-1372258.js new file mode 100644 index 0000000000..a55979457f --- /dev/null +++ b/js/src/jit-test/tests/modules/bug-1372258.js @@ -0,0 +1,26 @@ +// |jit-test| skip-if: helperThreadCount() === 0 + +// Overwrite built-in parseModule with off-thread module parser. +function parseModule(source) { + offThreadCompileModuleToStencil(source); + var stencil = finishOffThreadStencil(); + return instantiateModuleStencil(stencil); +} + +// Test case derived from: js/src/jit-test/tests/modules/many-imports.js + +// Test importing an import many times. + +const count = 1024; + +let a = registerModule('a', parseModule("export let a = 1;")); + +let s = ""; +for (let i = 0; i < count; i++) { + s += "import { a as i" + i + " } from 'a';\n"; + s += "assertEq(i" + i + ", 1);\n"; +} +let b = registerModule('b', parseModule(s)); + +moduleLink(b); +moduleEvaluate(b); |