mirror of
https://github.com/nodejs/node.git
synced 2026-10-14 10:26:26 -04:00
module: use Wasm CJS lexer when available
PR-URL: https://github.com/nodejs/node/pull/35583 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Geoffrey Booth <webmaster@geoffreybooth.com>
This commit is contained in:
1 parent
2d83e743d9
commit
f3ce2811dd
7 files changed
+70
-2
No files matched your search
@@ -0,0 +1,40 @@
|
||||
'use strict';
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const common = require('../common.js');
|
||||
const { strictEqual } = require('assert');
|
||||
|
||||
const tmpdir = require('../../test/common/tmpdir');
|
||||
const benchmarkDirectory =
|
||||
path.resolve(tmpdir.path, 'benchmark-esm-parse');
|
||||
|
||||
const bench = common.createBenchmark(main, {
|
||||
n: [1e2]
|
||||
});
|
||||
|
||||
async function main({ n }) {
|
||||
tmpdir.refresh();
|
||||
|
||||
fs.mkdirSync(benchmarkDirectory);
|
||||
|
||||
let sampleSource = 'try {\n';
|
||||
for (let i = 0; i < 1000; i++) {
|
||||
sampleSource += 'sample.js(() => file = /test/);\n';
|
||||
}
|
||||
sampleSource += '} catch {}\nexports.p = 5;\n';
|
||||
|
||||
for (let i = 0; i < n; i++) {
|
||||
const sampleFile = path.join(benchmarkDirectory, `sample${i}.js`);
|
||||
fs.writeFileSync(sampleFile, sampleSource);
|
||||
}
|
||||
|
||||
bench.start();
|
||||
for (let i = 0; i < n; i++) {
|
||||
const sampleFile = path.join(benchmarkDirectory, `sample${i}.js`);
|
||||
const m = await import('file:' + sampleFile);
|
||||
strictEqual(m.p, 5);
|
||||
}
|
||||
bench.end(n);
|
||||
|
||||
tmpdir.refresh();
|
||||
}
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
"use strict";exports.parse=parse;exports.init=init;const A=new Set(["implements","interface","let","package","private","protected","public","static","yield","enum"]);let B,Q;function parse(Q,E="@"){if(!B)throw new Error("Not initialized");const g=(B.__heap_base.value||B.__heap_base)+4*Q.length-B.memory.buffer.byteLength;g>0&&B.memory.grow(Math.ceil(g/65536));const I=B.sa(Q.length);if(function(A,B){const Q=A.length;let E=0;for(;E<Q;)B[E]=A.charCodeAt(E++)}(Q,new Uint16Array(B.memory.buffer,I,Q.length+1)),!B.parseCJS(I,Q.length,0,0))throw Object.assign(new Error(`Parse error ${E}${B.e()}:${Q.slice(0,B.e()).split("\n").length}:${B.e()-Q.lastIndexOf("\n",B.e()-1)}`),{idx:B.e()});let C=new Set,k=new Set;for(;B.rre();)k.add(Q.slice(B.res(),B.ree()));for(;B.re();){let E=Q.slice(B.es(),B.ee());A.has(E)||C.add(E)}return{exports:[...C],reexports:[...k]}}function init(){return Q||(Q=(async()=>{const A=await WebAssembly.compile((Q="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
Line truncated
|
||||
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
/* cjs-module-lexer 0.4.0 */
|
||||
const A=new Set(["implements","interface","let","package","private","protected","public","static","yield","enum"]);let B,Q;export function parse(Q,E="@"){if(!B)throw new Error("Not initialized");const g=(B.__heap_base.value||B.__heap_base)+4*Q.length-B.memory.buffer.byteLength;g>0&&B.memory.grow(Math.ceil(g/65536));const I=B.sa(Q.length);if(function(A,B){const Q=A.length;let E=0;for(;E<Q;)B[E]=A.charCodeAt(E++)}(Q,new Uint16Array(B.memory.buffer,I,Q.length+1)),!B.parseCJS(I,Q.length,0,0))throw Object.assign(new Error(`Parse error ${E}${B.e()}:${Q.slice(0,B.e()).split("\n").length}:${B.e()-Q.lastIndexOf("\n",B.e()-1)}`),{idx:B.e()});let C=new Set,k=new Set;for(;B.rre();)k.add(Q.slice(B.res(),B.ree()));for(;B.re();){let E=Q.slice(B.es(),B.ee());A.has(E)||C.add(E)}return{exports:[...C],reexports:[...k]}}export function init(){return Q||(Q=(async()=>{const A=await WebAssembly.compile((Q="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
Line truncated
|
||||
@@ -56,9 +56,26 @@ const { getOptionValue } = require('internal/options');
|
||||
const experimentalImportMetaResolve =
|
||||
getOptionValue('--experimental-import-meta-resolve');
|
||||
const asyncESM = require('internal/process/esm_loader');
|
||||
const cjsParse = require('internal/deps/cjs-module-lexer/lexer');
|
||||
const { emitWarningSync } = require('internal/process/warning');
|
||||
|
||||
let cjsParse;
|
||||
async function initCJSParse() {
|
||||
if (typeof WebAssembly !== 'undefined') {
|
||||
const { parse, init } =
|
||||
require('internal/deps/cjs-module-lexer/dist/lexer');
|
||||
await init();
|
||||
let exports;
|
||||
try {
|
||||
({ exports } = parse('exports.a=1'));
|
||||
if (exports.length === 1) {
|
||||
cjsParse = parse;
|
||||
return;
|
||||
}
|
||||
} catch {}
|
||||
}
|
||||
cjsParse = require('internal/deps/cjs-module-lexer/lexer');
|
||||
}
|
||||
|
||||
const translators = new SafeMap();
|
||||
exports.translators = translators;
|
||||
exports.enrichCJSError = enrichCJSError;
|
||||
@@ -164,6 +181,7 @@ translators.set('commonjs', async function commonjsStrategy(url, isMain) {
|
||||
if (isWindows)
|
||||
filename = StringPrototypeReplace(filename, winSepRegEx, '\\');
|
||||
|
||||
if (!cjsParse) await initCJSParse();
|
||||
const { module, exportNames } = cjsPreparseModuleExports(filename);
|
||||
const namesWithDefault = exportNames.has('default') ?
|
||||
[...exportNames] : ['default', ...exportNames];
|
||||
|
||||
@@ -275,6 +275,7 @@
|
||||
'deps/acorn-plugins/acorn-private-methods/index.js',
|
||||
'deps/acorn-plugins/acorn-static-class-features/index.js',
|
||||
'deps/cjs-module-lexer/lexer.js',
|
||||
'deps/cjs-module-lexer/dist/lexer.js',
|
||||
],
|
||||
'node_mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot<(EXECUTABLE_SUFFIX)',
|
||||
'mkcodecache_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mkcodecache<(EXECUTABLE_SUFFIX)',
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
require('../common');
|
||||
|
||||
const runBenchmark = require('../common/benchmark');
|
||||
|
||||
runBenchmark('esm', { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
|
||||
@@ -56,7 +56,6 @@ const expectedModules = new Set([
|
||||
'NativeModule internal/modules/cjs/helpers',
|
||||
'NativeModule internal/modules/cjs/loader',
|
||||
'NativeModule internal/modules/esm/create_dynamic_module',
|
||||
'NativeModule internal/deps/cjs-module-lexer/lexer',
|
||||
'NativeModule internal/modules/esm/get_format',
|
||||
'NativeModule internal/modules/esm/get_source',
|
||||
'NativeModule internal/modules/esm/loader',
|
||||
|
||||
Reference in new issue
Block a user