Skip to content

Commit 3fd95b6

Browse files
committed
Skip wasmBinaryFile initialization on pthread workers
Delay the search for the wasm binary (e.g. using `locateFile`) so that it does not run on pthread workers (or weasm workers) where `Module.instantiateWasm` is set. The wasm file is always received via postMessage when running on the worker so we shouldn't ever be calling locateFile in this situation. See #21826 and #21827
1 parent 4e7c86a commit 3fd95b6

File tree

65 files changed

+86
-85
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+86
-85
lines changed

src/preamble.js

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -597,26 +597,6 @@ function instrumentWasmTableWithAbort() {
597597
#endif
598598

599599
var wasmBinaryFile;
600-
#if EXPORT_ES6 && USE_ES6_IMPORT_META && !SINGLE_FILE && !AUDIO_WORKLET
601-
if (Module['locateFile']) {
602-
#endif
603-
wasmBinaryFile = '{{{ WASM_BINARY_FILE }}}';
604-
#if !SINGLE_FILE
605-
if (!isDataURI(wasmBinaryFile)) {
606-
wasmBinaryFile = locateFile(wasmBinaryFile);
607-
}
608-
#endif
609-
#if EXPORT_ES6 && USE_ES6_IMPORT_META && !SINGLE_FILE && !AUDIO_WORKLET // In single-file mode, repeating WASM_BINARY_FILE would emit the contents again. For an Audio Worklet, we cannot use `new URL()`.
610-
} else {
611-
#if ENVIRONMENT_MAY_BE_SHELL
612-
if (ENVIRONMENT_IS_SHELL)
613-
wasmBinaryFile = '{{{ WASM_BINARY_FILE }}}';
614-
else
615-
#endif
616-
// Use bundler-friendly `new URL(..., import.meta.url)` pattern; works in browsers too.
617-
wasmBinaryFile = new URL('{{{ WASM_BINARY_FILE }}}', import.meta.url).href;
618-
}
619-
#endif
620600

621601
function getBinarySync(file) {
622602
if (file == wasmBinaryFile && wasmBinary) {
@@ -1066,7 +1046,7 @@ function createWasm() {
10661046
#endif // WASM_ASYNC_COMPILATION
10671047

10681048
#if expectToReceiveOnModule('instantiateWasm')
1069-
// User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback
1049+
// User shell pages can write their own `instantiateWasm` callback
10701050
// to manually instantiate the Wasm module themselves. This allows pages to
10711051
// run the instantiation parallel to any other async startup actions they are
10721052
// performing.
@@ -1087,6 +1067,27 @@ function createWasm() {
10871067
}
10881068
#endif
10891069

1070+
#if EXPORT_ES6 && USE_ES6_IMPORT_META && !SINGLE_FILE && !AUDIO_WORKLET
1071+
if (Module['locateFile']) {
1072+
#endif
1073+
wasmBinaryFile = '{{{ WASM_BINARY_FILE }}}';
1074+
#if !SINGLE_FILE
1075+
if (!isDataURI(wasmBinaryFile)) {
1076+
wasmBinaryFile = locateFile(wasmBinaryFile);
1077+
}
1078+
#endif
1079+
#if EXPORT_ES6 && USE_ES6_IMPORT_META && !SINGLE_FILE && !AUDIO_WORKLET // In single-file mode, repeating WASM_BINARY_FILE would emit the contents again. For an Audio Worklet, we cannot use `new URL()`.
1080+
} else {
1081+
#if ENVIRONMENT_MAY_BE_SHELL
1082+
if (ENVIRONMENT_IS_SHELL)
1083+
wasmBinaryFile = '{{{ WASM_BINARY_FILE }}}';
1084+
else
1085+
#endif
1086+
// Use bundler-friendly `new URL(..., import.meta.url)` pattern; works in browsers too.
1087+
wasmBinaryFile = new URL('{{{ WASM_BINARY_FILE }}}', import.meta.url).href;
1088+
}
1089+
#endif
1090+
10901091
#if WASM_ASYNC_COMPILATION
10911092
#if RUNTIME_DEBUG
10921093
dbg('asynchronously preparing wasm');
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
9855
1+
9868
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
24245
1+
24270
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
9838
1+
9852
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
24213
1+
24238
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
10944
1+
10955
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
28162
1+
28187
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
9820
1+
9831
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
24138
1+
24163
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
10953
1+
10960
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
28163
1+
28187
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
9855
1+
9868
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
24245
1+
24270
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5212
1+
5220
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
12059
1+
12084
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
7810
1+
7818
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
19268
1+
19293
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3136
1+
3145
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6807
1+
6833
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8162
1+
8160
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
22046
1+
22077
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2974
1+
2978
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
7672
1+
7703
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2613
1+
2630
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5437
1+
5462
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2534
1+
2544
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5282
1+
5308
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2534
1+
2544
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5282
1+
5308
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2517
1+
2527
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5249
1+
5275
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6443
1+
6445
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1888
1+
1898
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4071
1+
4097
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2534
1+
2544
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5282
1+
5308
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2098
1+
2108
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4505
1+
4531
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2135
1+
2143
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4554
1+
4580
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2561
1+
2574
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5427
1+
5452
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2711
1+
2720
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5725
1+
5749
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2401
1+
2415
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5112
1+
5138
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2367
1+
2383
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5043
1+
5069
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2120
1+
2131
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4556
1+
4582
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2135
1+
2143
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4554
1+
4580
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2135
1+
2143
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4554
1+
4580
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6739
1+
6738
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
18156
1+
18160
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1754
1+
1755
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4231
1+
4235
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1583
1+
1582
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1538
1+
1537
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5253
1+
5263
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
11457
1+
11481
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
55579
1+
55546
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
31464
1+
31431
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
54467
1+
54476

0 commit comments

Comments
 (0)