Skip to content

Commit 17dba40

Browse files
committed
Remove redundant __deps entries and autoAddDeps calls across JS libraries
Remove all `autoAddDeps` calls and redundant `__deps` entries across `src/lib/*.js` and the test suite. Fixes: #19098
1 parent 8245bcf commit 17dba40

114 files changed

Lines changed: 403 additions & 2004 deletions

File tree

Some content is hidden

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

‎src/lib/libaddfunction.js‎

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ addToLibrary({
3535
}`,
3636

3737
$generateTypePack__internal: true,
38-
$generateTypePack__deps: ['$uleb128EncodeWithLen', '$wasmTypeCodes'],
3938
$generateTypePack: (types) => uleb128EncodeWithLen(Array.from(types, (type) => {
4039
var code = wasmTypeCodes[type];
4140
#if ASSERTIONS
@@ -46,10 +45,6 @@ addToLibrary({
4645

4746
#if !WASM2JS || WASM == 2
4847
// Wraps a JS function as a wasm function with a given signature.
49-
$convertJsFunctionToWasm__deps: [
50-
'$uleb128EncodeWithLen',
51-
'$generateTypePack'
52-
],
5348
$convertJsFunctionToWasm: (func, sig) => {
5449
#if ASSERTIONS && !WASM_BIGINT
5550
assert(!sig.includes('j'), 'i64 not permitted in function signatures when WASM_BIGINT is disabled');
@@ -93,7 +88,6 @@ addToLibrary({
9388
// Weak map of functions in the table to their indexes, created on first use.
9489
$functionsInTableMap: undefined,
9590

96-
$getEmptyTableSlot__deps: ['$freeTableIndexes', '$wasmTable'],
9791
$getEmptyTableSlot: () => {
9892
// Reuse a free index if there is one, otherwise grow.
9993
if (freeTableIndexes.length) {
@@ -114,7 +108,6 @@ addToLibrary({
114108
#endif
115109
},
116110

117-
$updateTableMap__deps: ['$getWasmTableEntry'],
118111
$updateTableMap: (offset, count) => {
119112
if (functionsInTableMap) {
120113
for (var i = offset; i < offset + count; i++) {
@@ -127,7 +120,6 @@ addToLibrary({
127120
}
128121
},
129122

130-
$getFunctionAddress__deps: ['$updateTableMap', '$functionsInTableMap', '$wasmTable'],
131123
$getFunctionAddress: (func) => {
132124
// First, create the map if this is the first use.
133125
if (!functionsInTableMap) {
@@ -142,16 +134,6 @@ addToLibrary({
142134
* 'sig' parameter is required if the function being added is a JS function.
143135
*/
144136
$addFunction__docs: '/** @param {string=} sig */',
145-
$addFunction__deps: ['$getFunctionAddress',
146-
'$functionsInTableMap', '$getEmptyTableSlot',
147-
'$setWasmTableEntry',
148-
#if !WASM2JS || WASM == 2
149-
'$convertJsFunctionToWasm',
150-
#endif
151-
#if ASSERTIONS >= 2
152-
'$getWasmTableEntry', '$wasmTable',
153-
#endif
154-
],
155137

156138
$addFunction: (func, sig) => {
157139
#if ASSERTIONS
@@ -201,8 +183,6 @@ addToLibrary({
201183
return ret;
202184
},
203185

204-
$removeFunction__deps: ['$functionsInTableMap', '$freeTableIndexes',
205-
'$getWasmTableEntry', '$setWasmTableEntry'],
206186
$removeFunction: (index) => {
207187
functionsInTableMap.delete(getWasmTableEntry(index));
208188
setWasmTableEntry(index, null);

‎src/lib/libasync.js‎

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,10 @@ addToLibrary({
2121

2222
#if ASYNCIFY
2323
$Asyncify__force: true,
24-
$Asyncify__deps: [
25-
#if useRuntimeKeepaliveStack()
26-
'$runtimeKeepalivePush', '$runtimeKeepalivePop',
27-
#endif
2824
#if ASYNCIFY == 1
29-
'$runAndAbortIfError', '$callUserCallback',
30-
#if ASSERTIONS
31-
'$createNamedFunction',
32-
#endif
33-
// Needed by allocateData and handleSleep respectively
34-
'malloc', 'free',
25+
// Needed by allocateData and handleSleep respectively
26+
$Asyncify__deps: ['malloc', 'free'],
3527
#endif
36-
],
3728

3829
$Asyncify: {
3930
//
@@ -484,7 +475,7 @@ addToLibrary({
484475
emscripten_sleep__async: 'auto',
485476
emscripten_sleep: (ms) => new Promise((resolve) => setTimeout(resolve, ms)),
486477

487-
emscripten_wget_data__deps: ['$asyncLoad', 'malloc'],
478+
emscripten_wget_data__deps: ['malloc'],
488479
emscripten_wget_data__async: 'auto',
489480
emscripten_wget_data: async (url, pbuffer, pnum, perror) => {
490481
/* no need for run dependency, this is async but will not do any prepare etc. step */
@@ -501,7 +492,6 @@ addToLibrary({
501492
}
502493
},
503494

504-
emscripten_scan_registers__deps: ['$safeSetTimeout'],
505495
emscripten_scan_registers__async: true,
506496
emscripten_scan_registers: (func) => {
507497
return Asyncify.handleSleep((wakeUp) => {
@@ -518,7 +508,7 @@ addToLibrary({
518508
});
519509
},
520510

521-
$Fibers__deps: ['$Asyncify', 'emscripten_stack_set_limits', '$stackRestore'],
511+
$Fibers__deps: ['emscripten_stack_set_limits'],
522512
$Fibers: {
523513
nextFiber: 0,
524514
trampolineRunning: false,
@@ -578,7 +568,6 @@ addToLibrary({
578568
},
579569
},
580570

581-
emscripten_fiber_swap__deps: ['$Asyncify', '$Fibers', '$stackSave'],
582571
emscripten_fiber_swap__async: true,
583572
emscripten_fiber_swap: (oldFiber, newFiber) => {
584573
if (ABORT) return;

‎src/lib/libatomic.js‎

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ addToLibrary({
6969
},
7070

7171
#if ASYNCIFY
72-
_emscripten_atomic_wait_promise__deps: ['$polyfillWaitAsync', '$atomicWaitStates', '$addPromise'],
72+
_emscripten_atomic_wait_promise__deps: ['$polyfillWaitAsync'],
7373
_emscripten_atomic_wait_promise: (addr, val, maxWaitMilliseconds) => {
7474
var wait = Atomics.waitAsync(HEAP32, {{{ getHeapOffset('addr', 'i32') }}}, val, maxWaitMilliseconds);
7575
if (wait.async) {
@@ -94,7 +94,7 @@ addToLibrary({
9494
$liveAtomicWaitAsyncCounter: 0,
9595
$liveAtomicWaitAsyncCounter__internal: true,
9696

97-
emscripten_atomic_wait_async__deps: ['$atomicWaitStates', '$liveAtomicWaitAsyncs', '$liveAtomicWaitAsyncCounter', '$polyfillWaitAsync', '$callUserCallback'],
97+
emscripten_atomic_wait_async__deps: ['$polyfillWaitAsync'],
9898
emscripten_atomic_wait_async: (addr, val, asyncWaitFinished, userData, maxWaitMilliseconds) => {
9999
let wait = Atomics.waitAsync(HEAP32, {{{ getHeapOffset('addr', 'i32') }}}, val, maxWaitMilliseconds);
100100
if (!wait.async) return atomicWaitStates.indexOf(wait.value);
@@ -116,7 +116,6 @@ addToLibrary({
116116
return -counter;
117117
},
118118

119-
emscripten_atomic_cancel_wait_async__deps: ['$liveAtomicWaitAsyncs'],
120119
emscripten_atomic_cancel_wait_async: (waitToken) => {
121120
#if ASSERTIONS
122121
if (waitToken == {{{ cDefs.ATOMICS_WAIT_NOT_EQUAL }}}) {
@@ -143,7 +142,6 @@ addToLibrary({
143142
return {{{ cDefs.EMSCRIPTEN_RESULT_INVALID_PARAM }}};
144143
},
145144

146-
emscripten_atomic_cancel_all_wait_asyncs__deps: ['$liveAtomicWaitAsyncs'],
147145
emscripten_atomic_cancel_all_wait_asyncs: () => {
148146
let waitAsyncs = Object.values(liveAtomicWaitAsyncs);
149147
for (var address of waitAsyncs) {
@@ -153,7 +151,6 @@ addToLibrary({
153151
return waitAsyncs.length;
154152
},
155153

156-
emscripten_atomic_cancel_all_wait_asyncs_at_address__deps: ['$liveAtomicWaitAsyncs'],
157154
emscripten_atomic_cancel_all_wait_asyncs_at_address: (address) => {
158155
let numCancelled = 0;
159156
for (var [waitToken, waitAddress] of Object.entries(liveAtomicWaitAsyncs)) {

‎src/lib/libautodebug.js‎

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ const LibraryAutodebug = {
1515
dbg('get_i32 ' + [loc, index, value]);
1616
return value;
1717
},
18-
$get_i64__deps: ['setTempRet0'],
1918
$get_i64: (loc, index, low, high) => {
2019
dbg('get_i64 ' + [loc, index, low, high]);
2120
_setTempRet0(high);
@@ -49,7 +48,6 @@ const LibraryAutodebug = {
4948
dbg('set_i32 ' + [loc, index, value]);
5049
return value;
5150
},
52-
$set_i64__deps: ['setTempRet0'],
5351
$set_i64: (loc, index, low, high) => {
5452
dbg('set_i64 ' + [loc, index, low, high]);
5553
_setTempRet0(high);
@@ -87,7 +85,6 @@ const LibraryAutodebug = {
8785
dbg('load_val_i32 ' + [loc, value]);
8886
return value;
8987
},
90-
$load_val_i64__deps: ['setTempRet0'],
9188
$load_val_i64: (loc, low, high) => {
9289
dbg('load_val_i64 ' + [loc, low, high]);
9390
_setTempRet0(high);
@@ -109,7 +106,6 @@ const LibraryAutodebug = {
109106
dbg('store_val_i32 ' + [loc, value]);
110107
return value;
111108
},
112-
$store_val_i64__deps: ['setTempRet0'],
113109
$store_val_i64: (loc, low, high) => {
114110
dbg('store_val_i64 ' + [loc, low, high]);
115111
_setTempRet0(high);

‎src/lib/libbootstrap.js‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ addToLibrary({
3838
}
3939
},
4040

41-
$exitJS__deps: ['$ExitStatus'],
4241
$exitJS: (code) => quit_(code, new ExitStatus(code)),
4342

4443
$handleException: (e) => {

‎src/lib/libbrowser.js‎

Lines changed: 6 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,10 @@
77
// Utilities for browser environments
88
var LibraryBrowser = {
99
$workerHandles__internal: true,
10-
$workerHandles__deps: ['$HandleAllocator'],
1110
$workerHandles: 'new HandleAllocator();',
1211

1312
$Browser__deps: [
14-
'$getFullscreenElement',
1513
#if FILESYSTEM
16-
'$preloadPlugins',
17-
'$safeSetTimeout',
1814
#if MAIN_MODULE
1915
'$preloadedWasm',
2016
#endif
@@ -510,7 +506,7 @@ var LibraryBrowser = {
510506
$setCanvasSize: 'Browser.setCanvasSize',
511507
$createContext: 'Browser.createContext',
512508

513-
emscripten_run_preload_plugins__deps: ['$PATH'],
509+
emscripten_run_preload_plugins__deps: ['$Browser'],
514510
emscripten_run_preload_plugins__proxy: 'sync',
515511
emscripten_run_preload_plugins: (file, onload, onerror) => {
516512
{{{ runtimeKeepalivePush() }}}
@@ -545,7 +541,6 @@ var LibraryBrowser = {
545541
$Browser_asyncPrepareDataCounter: 0,
546542

547543
emscripten_run_preload_plugins_data__proxy: 'sync',
548-
emscripten_run_preload_plugins_data__deps: ['$stringToNewUTF8', '$Browser_asyncPrepareDataCounter'],
549544
emscripten_run_preload_plugins_data: (data, size, suffix, arg, onload, onerror) => {
550545
{{{ runtimeKeepalivePush() }}}
551546

@@ -570,21 +565,12 @@ var LibraryBrowser = {
570565
},
571566

572567
// Callable from pthread, executes in pthread context.
573-
emscripten_async_run_script__deps: ['emscripten_run_script', '$safeSetTimeout'],
574568
emscripten_async_run_script: (script, millis) => {
575569
// TODO: cache these to avoid generating garbage
576570
safeSetTimeout(() => _emscripten_run_script(script), millis);
577571
},
578572

579573
// TODO: currently not callable from a pthread, but immediately calls onerror() if not on main thread.
580-
emscripten_async_load_script__deps: [
581-
'$UTF8ToString',
582-
#if ASSERTIONS
583-
'$runDependencies',
584-
#endif
585-
'$resolveRunDependencies',
586-
'$callUserCallback',
587-
],
588574
emscripten_async_load_script: async (url, onload, onerror) => {
589575
url = UTF8ToString(url);
590576
#if PTHREADS
@@ -634,6 +620,7 @@ var LibraryBrowser = {
634620
document.body.appendChild(script);
635621
},
636622

623+
emscripten_get_window_title__deps: ['malloc'],
637624
emscripten_get_window_title__proxy: 'sync',
638625
emscripten_get_window_title: () => {
639626
const buflen = 256;
@@ -682,7 +669,7 @@ var LibraryBrowser = {
682669

683670
// To avoid creating worker parent->child chains, always proxies to execute on the main thread.
684671
emscripten_create_worker__proxy: 'sync',
685-
emscripten_create_worker__deps: ['$UTF8ToString', 'realloc', '$workerHandles'],
672+
emscripten_create_worker__deps: ['realloc'],
686673
emscripten_create_worker: (url) => {
687674
url = UTF8ToString(url);
688675
var worker = new Worker(url);
@@ -719,7 +706,7 @@ var LibraryBrowser = {
719706
return id;
720707
},
721708

722-
emscripten_destroy_worker__deps: ['free', '$workerHandles'],
709+
emscripten_destroy_worker__deps: ['free'],
723710
emscripten_destroy_worker__proxy: 'sync',
724711
emscripten_destroy_worker: (id) => {
725712
var info = workerHandles.get(id);
@@ -728,7 +715,6 @@ var LibraryBrowser = {
728715
workerHandles.free(id);
729716
},
730717

731-
emscripten_call_worker__deps: ['$workerHandles'],
732718
emscripten_call_worker__proxy: 'sync',
733719
emscripten_call_worker: (id, funcName, data, size, callback, arg) => {
734720
funcName = UTF8ToString(funcName);
@@ -792,20 +778,18 @@ var LibraryBrowser = {
792778
},
793779
#endif
794780

795-
emscripten_get_worker_queue_size__deps: ['$workerHandles'],
796781
emscripten_get_worker_queue_size__proxy: 'sync',
797782
emscripten_get_worker_queue_size: (id) => {
798783
if (!workerHandles.has(id)) return -1;
799784
var info = workerHandles.get(id);
800785
return info.awaited;
801786
},
802787

803-
emscripten_get_preloaded_image_data__deps: ['$getPreloadedImageData', '$UTF8ToString'],
804788
emscripten_get_preloaded_image_data__proxy: 'sync',
805789
emscripten_get_preloaded_image_data: (path, w, h) => getPreloadedImageData(UTF8ToString(path), w, h),
806790

807791
$getPreloadedImageData__internal: true,
808-
$getPreloadedImageData__deps: ['$PATH_FS', 'malloc'],
792+
$getPreloadedImageData__deps: ['malloc'],
809793
$getPreloadedImageData: (path, w, h) => {
810794
path = PATH_FS.resolve(path);
811795

@@ -824,7 +808,7 @@ var LibraryBrowser = {
824808
},
825809

826810
#if !WASMFS // WasmFS implements this in wasm
827-
emscripten_get_preloaded_image_data_from_FILE__deps: ['$getPreloadedImageData', 'fileno'],
811+
emscripten_get_preloaded_image_data_from_FILE__deps: ['fileno'],
828812
emscripten_get_preloaded_image_data_from_FILE__proxy: 'sync',
829813
emscripten_get_preloaded_image_data_from_FILE: (file, w, h) => {
830814
var fd = _fileno(file);
@@ -838,6 +822,4 @@ var LibraryBrowser = {
838822
#endif
839823
};
840824

841-
autoAddDeps(LibraryBrowser, '$Browser');
842-
843825
addToLibrary(LibraryBrowser);

‎src/lib/libc_preprocessor.js‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ addToLibrary({
3535
// Runs C preprocessor algorithm on the given string 'code'.
3636
// Supported preprocessor directives: #if, #ifdef, #ifndef, #else, #elif, #endif, #define and #undef.
3737
// predefs: Specifies a dictionary of { 'key1': function(arg0, arg1) {...}, 'key2': ... } of predefined preprocessing variables
38-
$preprocess_c_code__deps: ['$find_closing_parens_index'],
3938
$preprocess_c_code: function(code, defs = {}) {
4039
var i = 0, // iterator over the input string
4140
len = code.length, // cache input length

‎src/lib/libccall.js‎

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ addToLibrary({
1919
},
2020

2121
// C calling interface.
22-
$ccall__deps: ['$getCFunc', '$writeArrayToMemory', '$stringToUTF8OnStack', '$stackSave', '$stackRestore', '$stackAlloc'],
2322
$ccall__docs: `
2423
/**
2524
* @param {string|null=} returnType
@@ -136,11 +135,6 @@ addToLibrary({
136135
* @param {Array=} argTypes
137136
* @param {Object=} opts
138137
*/`,
139-
$cwrap__deps: [ '$ccall',
140-
#if !ASSERTIONS
141-
'$getCFunc',
142-
#endif
143-
],
144138
$cwrap: (ident, returnType, argTypes, opts) => {
145139
#if !ASSERTIONS
146140
// When the function takes numbers and returns a number, we can just return

0 commit comments

Comments
 (0)