summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/parser/stencil-eager-delazify-certviewer.js
blob: ddd7f32ed4cb40ab8af2906cc9a77bfed374c0d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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);