diff --git a/test/codesize/test_codesize_hello_O0.json b/test/codesize/test_codesize_hello_O0.json index 41e0e07585d50..3586b686893df 100644 --- a/test/codesize/test_codesize_hello_O0.json +++ b/test/codesize/test_codesize_hello_O0.json @@ -1,10 +1,10 @@ { - "a.out.js": 23198, - "a.out.js.gz": 8525, + "a.out.js": 24070, + "a.out.js.gz": 8666, "a.out.nodebug.wasm": 15127, "a.out.nodebug.wasm.gz": 7450, - "total": 38325, - "total_gz": 15975, + "total": 39197, + "total_gz": 16116, "sent": [ "fd_write" ], diff --git a/test/codesize/test_codesize_minimal_O0.expected.js b/test/codesize/test_codesize_minimal_O0.expected.js index b147da23f738c..cd9adf6366115 100644 --- a/test/codesize/test_codesize_minimal_O0.expected.js +++ b/test/codesize/test_codesize_minimal_O0.expected.js @@ -1319,16 +1319,27 @@ var __indirect_function_table = makeInvalidEarlyAccess('__indirect_function_tabl var wasmMemory = makeInvalidEarlyAccess('wasmMemory'); function assignWasmExports(wasmExports) { + assert(wasmExports['add'], 'missing Wasm export: add'); _add = Module['_add'] = createExportWrapper('add', 2); + assert(wasmExports['fflush'], 'missing Wasm export: fflush'); _fflush = createExportWrapper('fflush', 1); + assert(wasmExports['emscripten_stack_init'], 'missing Wasm export: emscripten_stack_init'); _emscripten_stack_init = wasmExports['emscripten_stack_init']; + assert(wasmExports['emscripten_stack_get_free'], 'missing Wasm export: emscripten_stack_get_free'); _emscripten_stack_get_free = wasmExports['emscripten_stack_get_free']; + assert(wasmExports['emscripten_stack_get_base'], 'missing Wasm export: emscripten_stack_get_base'); _emscripten_stack_get_base = wasmExports['emscripten_stack_get_base']; + assert(wasmExports['emscripten_stack_get_end'], 'missing Wasm export: emscripten_stack_get_end'); _emscripten_stack_get_end = wasmExports['emscripten_stack_get_end']; + assert(wasmExports['_emscripten_stack_restore'], 'missing Wasm export: _emscripten_stack_restore'); __emscripten_stack_restore = wasmExports['_emscripten_stack_restore']; + assert(wasmExports['_emscripten_stack_alloc'], 'missing Wasm export: _emscripten_stack_alloc'); __emscripten_stack_alloc = wasmExports['_emscripten_stack_alloc']; + assert(wasmExports['emscripten_stack_get_current'], 'missing Wasm export: emscripten_stack_get_current'); _emscripten_stack_get_current = wasmExports['emscripten_stack_get_current']; + assert(wasmExports['memory'], 'missing Wasm export: memory'); memory = wasmMemory = wasmExports['memory']; + assert(wasmExports['__indirect_function_table'], 'missing Wasm export: __indirect_function_table'); __indirect_function_table = wasmExports['__indirect_function_table']; } diff --git a/test/codesize/test_codesize_minimal_O0.json b/test/codesize/test_codesize_minimal_O0.json index f596449cf434a..954ee8065dbc5 100644 --- a/test/codesize/test_codesize_minimal_O0.json +++ b/test/codesize/test_codesize_minimal_O0.json @@ -1,10 +1,10 @@ { - "a.out.js": 18466, - "a.out.js.gz": 6834, + "a.out.js": 19262, + "a.out.js.gz": 6966, "a.out.nodebug.wasm": 1136, "a.out.nodebug.wasm.gz": 659, - "total": 19602, - "total_gz": 7493, + "total": 20398, + "total_gz": 7625, "sent": [], "imports": [], "exports": [ diff --git a/test/codesize/test_unoptimized_code_size.json b/test/codesize/test_unoptimized_code_size.json index 8731ba86f7c62..d8c830a2899cb 100644 --- a/test/codesize/test_unoptimized_code_size.json +++ b/test/codesize/test_unoptimized_code_size.json @@ -1,16 +1,16 @@ { - "hello_world.js": 55502, - "hello_world.js.gz": 17496, + "hello_world.js": 56566, + "hello_world.js.gz": 17601, "hello_world.wasm": 15127, "hello_world.wasm.gz": 7450, "no_asserts.js": 26608, "no_asserts.js.gz": 8874, "no_asserts.wasm": 12227, "no_asserts.wasm.gz": 6010, - "strict.js": 53517, - "strict.js.gz": 16822, + "strict.js": 54581, + "strict.js.gz": 16947, "strict.wasm": 15127, "strict.wasm.gz": 7447, - "total": 178108, - "total_gz": 64099 + "total": 180236, + "total_gz": 64329 } diff --git a/tools/emscripten.py b/tools/emscripten.py index f3576b235616a..4533ac5fe40ce 100644 --- a/tools/emscripten.py +++ b/tools/emscripten.py @@ -991,6 +991,8 @@ def create_receiving(function_exports, other_exports, library_symbols, aliases): assignment += f" = dynCalls['{sig_str}']" if do_module_exports and should_export(mangled): assignment += f" = Module['{mangled}']" + if settings.ASSERTIONS: + receiving.append(f" assert(wasmExports['{sym}'], 'missing Wasm export: {sym}');") if sym in alias_inverse_map: for target in alias_inverse_map[sym]: assignment += f" = {target}"