diff options
Diffstat (limited to 'js/src/jit-test/tests/parser/stencil-eager-delazify-certviewer.js')
-rw-r--r-- | js/src/jit-test/tests/parser/stencil-eager-delazify-certviewer.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/parser/stencil-eager-delazify-certviewer.js b/js/src/jit-test/tests/parser/stencil-eager-delazify-certviewer.js new file mode 100644 index 0000000000..ddd7f32ed4 --- /dev/null +++ b/js/src/jit-test/tests/parser/stencil-eager-delazify-certviewer.js @@ -0,0 +1,35 @@ +// |jit-test| skip-if: helperThreadCount() === 0 || isLcovEnabled() + +const eagerOptions = { + fileName: "certViewer.js", + lineNumber: 1, + eagerDelazificationStrategy: "OnDemandOnly", +}; + +const concurrentOptions = { + fileName: "certViewer.js", + lineNumber: 1, + eagerDelazificationStrategy: "ConcurrentDepthFirst", +}; + +// Check that `undefined` is properly resolved to the global scope. +let script = ` +function certDecoderInitializer() { + return undefined; +} + +let result = certDecoderInitializer(); +export { result }; +`; + +function evalModule(source, opts) { + let job = offThreadCompileModuleToStencil(source, opts); + let stencil = finishOffThreadStencil(job); + let m = instantiateModuleStencil(stencil); + moduleLink(m); + moduleEvaluate(m) + return m.result; +} + +assertEq(evalModule(script, eagerOptions), undefined); +assertEq(evalModule(script, concurrentOptions), undefined); |