diff --git a/emcc.py b/emcc.py index 7f30d13cdc058..2925985f22f6c 100644 --- a/emcc.py +++ b/emcc.py @@ -391,6 +391,7 @@ def get_clang_flags(user_args): # Bulk memory may be enabled via threads or directly via -s. if not settings.BULK_MEMORY: flags.append('-mno-bulk-memory') + flags.append('-mno-bulk-memory-opt') if '-mnontrapping-fptoint' not in user_args and '-mno-nontrapping-fptoint' not in user_args: flags.append('-mno-nontrapping-fptoint') diff --git a/test/code_size/embind_hello_wasm.json b/test/code_size/embind_hello_wasm.json index 37ad4ea025cd1..f3b1d73bc6bec 100644 --- a/test/code_size/embind_hello_wasm.json +++ b/test/code_size/embind_hello_wasm.json @@ -3,8 +3,8 @@ "a.html.gz": 380, "a.js": 9718, "a.js.gz": 4291, - "a.wasm": 7626, - "a.wasm.gz": 3444, - "total": 17896, - "total_gz": 8115 + "a.wasm": 7728, + "a.wasm.gz": 3502, + "total": 17998, + "total_gz": 8173 } diff --git a/test/code_size/embind_val_wasm.json b/test/code_size/embind_val_wasm.json index fd9aaec726cc2..9af792edee31e 100644 --- a/test/code_size/embind_val_wasm.json +++ b/test/code_size/embind_val_wasm.json @@ -3,8 +3,8 @@ "a.html.gz": 380, "a.js": 6849, "a.js.gz": 2947, - "a.wasm": 9506, - "a.wasm.gz": 4872, - "total": 16907, - "total_gz": 8199 + "a.wasm": 9568, + "a.wasm.gz": 4911, + "total": 16969, + "total_gz": 8238 } diff --git a/test/code_size/hello_webgl2_wasm.json b/test/code_size/hello_webgl2_wasm.json index c944949a29c8c..bf14a6e1a53c9 100644 --- a/test/code_size/hello_webgl2_wasm.json +++ b/test/code_size/hello_webgl2_wasm.json @@ -3,8 +3,8 @@ "a.html.gz": 328, "a.js": 4532, "a.js.gz": 2315, - "a.wasm": 10377, - "a.wasm.gz": 6694, - "total": 15363, - "total_gz": 9337 + "a.wasm": 10402, + "a.wasm.gz": 6704, + "total": 15388, + "total_gz": 9347 } diff --git a/test/code_size/hello_webgl2_wasm2js.json b/test/code_size/hello_webgl2_wasm2js.json index 62c056051c215..88cc365f6f5f7 100644 --- a/test/code_size/hello_webgl2_wasm2js.json +++ b/test/code_size/hello_webgl2_wasm2js.json @@ -1,8 +1,8 @@ { "a.html": 346, "a.html.gz": 262, - "a.js": 22232, - "a.js.gz": 11612, - "total": 22578, - "total_gz": 11874 + "a.js": 22200, + "a.js.gz": 11582, + "total": 22546, + "total_gz": 11844 } diff --git a/test/code_size/hello_webgl_wasm.json b/test/code_size/hello_webgl_wasm.json index f9432eddd1985..b20428e2fed64 100644 --- a/test/code_size/hello_webgl_wasm.json +++ b/test/code_size/hello_webgl_wasm.json @@ -3,8 +3,8 @@ "a.html.gz": 328, "a.js": 4070, "a.js.gz": 2158, - "a.wasm": 10377, - "a.wasm.gz": 6694, - "total": 14901, - "total_gz": 9180 + "a.wasm": 10402, + "a.wasm.gz": 6704, + "total": 14926, + "total_gz": 9190 } diff --git a/test/code_size/hello_webgl_wasm2js.json b/test/code_size/hello_webgl_wasm2js.json index 01af46e9951c2..bc0dfe84d64a8 100644 --- a/test/code_size/hello_webgl_wasm2js.json +++ b/test/code_size/hello_webgl_wasm2js.json @@ -1,8 +1,8 @@ { "a.html": 346, "a.html.gz": 262, - "a.js": 21758, - "a.js.gz": 11442, - "total": 22104, - "total_gz": 11704 + "a.js": 21726, + "a.js.gz": 11415, + "total": 22072, + "total_gz": 11677 } diff --git a/test/code_size/random_printf_wasm.json b/test/code_size/random_printf_wasm.json index 3b0a3c6494de1..8548e41737392 100644 --- a/test/code_size/random_printf_wasm.json +++ b/test/code_size/random_printf_wasm.json @@ -1,6 +1,6 @@ { - "a.html": 12589, - "a.html.gz": 6888, - "total": 12589, - "total_gz": 6888 + "a.html": 12597, + "a.html.gz": 6882, + "total": 12597, + "total_gz": 6882 } diff --git a/test/code_size/random_printf_wasm2js.json b/test/code_size/random_printf_wasm2js.json index 335e5aa2294d8..b3fe0c465524e 100644 --- a/test/code_size/random_printf_wasm2js.json +++ b/test/code_size/random_printf_wasm2js.json @@ -1,6 +1,6 @@ { - "a.html": 17246, - "a.html.gz": 7510, - "total": 17246, - "total_gz": 7510 + "a.html": 17195, + "a.html.gz": 7478, + "total": 17195, + "total_gz": 7478 } diff --git a/test/other/codesize/test_codesize_cxx_ctors1.size b/test/other/codesize/test_codesize_cxx_ctors1.size index 39e3ff9b0fb65..d744c653894ea 100644 --- a/test/other/codesize/test_codesize_cxx_ctors1.size +++ b/test/other/codesize/test_codesize_cxx_ctors1.size @@ -1 +1 @@ -128834 +129168 diff --git a/test/other/codesize/test_codesize_cxx_ctors2.size b/test/other/codesize/test_codesize_cxx_ctors2.size index d06418847b136..56759f32a7df5 100644 --- a/test/other/codesize/test_codesize_cxx_ctors2.size +++ b/test/other/codesize/test_codesize_cxx_ctors2.size @@ -1 +1 @@ -128246 +128617 diff --git a/test/other/codesize/test_codesize_cxx_except.size b/test/other/codesize/test_codesize_cxx_except.size index 82447ae072935..e531829ac5ef3 100644 --- a/test/other/codesize/test_codesize_cxx_except.size +++ b/test/other/codesize/test_codesize_cxx_except.size @@ -1 +1 @@ -170967 +171298 diff --git a/test/other/codesize/test_codesize_cxx_except_wasm.size b/test/other/codesize/test_codesize_cxx_except_wasm.size index 4066c25867614..eb551ef1e63ad 100644 --- a/test/other/codesize/test_codesize_cxx_except_wasm.size +++ b/test/other/codesize/test_codesize_cxx_except_wasm.size @@ -1 +1 @@ -142095 +142418 diff --git a/test/other/codesize/test_codesize_cxx_except_wasm_exnref.size b/test/other/codesize/test_codesize_cxx_except_wasm_exnref.size index 75b837eb3e828..8ba15fbee382f 100644 --- a/test/other/codesize/test_codesize_cxx_except_wasm_exnref.size +++ b/test/other/codesize/test_codesize_cxx_except_wasm_exnref.size @@ -1 +1 @@ -144682 +145005 diff --git a/test/other/codesize/test_codesize_cxx_lto.size b/test/other/codesize/test_codesize_cxx_lto.size index 93b0a7cb1a69e..c1283987423eb 100644 --- a/test/other/codesize/test_codesize_cxx_lto.size +++ b/test/other/codesize/test_codesize_cxx_lto.size @@ -1 +1 @@ -121779 +121867 diff --git a/test/other/codesize/test_codesize_cxx_mangle.size b/test/other/codesize/test_codesize_cxx_mangle.size index 5d10eed055c0b..09e3c737b99ac 100644 --- a/test/other/codesize/test_codesize_cxx_mangle.size +++ b/test/other/codesize/test_codesize_cxx_mangle.size @@ -1 +1 @@ -232469 +232786 diff --git a/test/other/codesize/test_codesize_cxx_noexcept.size b/test/other/codesize/test_codesize_cxx_noexcept.size index 07f934ebfae51..602c55bf97bd0 100644 --- a/test/other/codesize/test_codesize_cxx_noexcept.size +++ b/test/other/codesize/test_codesize_cxx_noexcept.size @@ -1 +1 @@ -131645 +131975 diff --git a/test/other/codesize/test_codesize_cxx_wasmfs.size b/test/other/codesize/test_codesize_cxx_wasmfs.size index a56b7d63b7818..849311107e15f 100644 --- a/test/other/codesize/test_codesize_cxx_wasmfs.size +++ b/test/other/codesize/test_codesize_cxx_wasmfs.size @@ -1 +1 @@ -168974 +169227 diff --git a/test/other/codesize/test_codesize_files_wasmfs.exports b/test/other/codesize/test_codesize_files_wasmfs.exports index b64e135c8e3cf..1b3d6ede9e560 100644 --- a/test/other/codesize/test_codesize_files_wasmfs.exports +++ b/test/other/codesize/test_codesize_files_wasmfs.exports @@ -1,4 +1,4 @@ -p (memory) -q (__wasm_call_ctors) -r (main) -s (__indirect_function_table) +q (memory) +r (__wasm_call_ctors) +s (main) +t (__indirect_function_table) diff --git a/test/other/codesize/test_codesize_files_wasmfs.funcs b/test/other/codesize/test_codesize_files_wasmfs.funcs index 1fec0a5640720..c13be46f97079 100644 --- a/test/other/codesize/test_codesize_files_wasmfs.funcs +++ b/test/other/codesize/test_codesize_files_wasmfs.funcs @@ -22,6 +22,8 @@ $__cxxabiv1::__vmi_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__ $__cxxabiv1::__vmi_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const $__cxxabiv1::__vmi_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const $__lockfile +$__memcpy +$__memset $__pthread_mutex_lock $__throw_bad_alloc_shim\28\29 $__unlockfile @@ -36,6 +38,7 @@ $fflush $is_equal\28std::type_info\20const*\2c\20std::type_info\20const*\2c\20bool\29 $main $memcmp +$memmove $operator\20delete\28void*\29 $operator\20new\28unsigned\20long\29 $pthread_mutex_init diff --git a/test/other/codesize/test_codesize_files_wasmfs.gzsize b/test/other/codesize/test_codesize_files_wasmfs.gzsize index 43a5478d767d8..004f50eab1549 100644 --- a/test/other/codesize/test_codesize_files_wasmfs.gzsize +++ b/test/other/codesize/test_codesize_files_wasmfs.gzsize @@ -1 +1 @@ -2915 +2932 diff --git a/test/other/codesize/test_codesize_files_wasmfs.imports b/test/other/codesize/test_codesize_files_wasmfs.imports index 519a7e0d06403..74ec884c2cde4 100644 --- a/test/other/codesize/test_codesize_files_wasmfs.imports +++ b/test/other/codesize/test_codesize_files_wasmfs.imports @@ -11,5 +11,6 @@ j (_wasmfs_get_preloaded_child_path) k (_wasmfs_get_num_preloaded_files) l (_wasmfs_get_num_preloaded_dirs) m (_wasmfs_copy_preloaded_file_data) -n (_abort_js) -o (random_get) +n (_emscripten_memcpy_js) +o (_abort_js) +p (random_get) diff --git a/test/other/codesize/test_codesize_files_wasmfs.jssize b/test/other/codesize/test_codesize_files_wasmfs.jssize index 5aecb7d32517a..861ef7370fa51 100644 --- a/test/other/codesize/test_codesize_files_wasmfs.jssize +++ b/test/other/codesize/test_codesize_files_wasmfs.jssize @@ -1 +1 @@ -6214 +6247 diff --git a/test/other/codesize/test_codesize_files_wasmfs.sent b/test/other/codesize/test_codesize_files_wasmfs.sent index 519a7e0d06403..74ec884c2cde4 100644 --- a/test/other/codesize/test_codesize_files_wasmfs.sent +++ b/test/other/codesize/test_codesize_files_wasmfs.sent @@ -11,5 +11,6 @@ j (_wasmfs_get_preloaded_child_path) k (_wasmfs_get_num_preloaded_files) l (_wasmfs_get_num_preloaded_dirs) m (_wasmfs_copy_preloaded_file_data) -n (_abort_js) -o (random_get) +n (_emscripten_memcpy_js) +o (_abort_js) +p (random_get) diff --git a/test/other/codesize/test_codesize_files_wasmfs.size b/test/other/codesize/test_codesize_files_wasmfs.size index 246d6dcce2d30..2a3e7ddec4326 100644 --- a/test/other/codesize/test_codesize_files_wasmfs.size +++ b/test/other/codesize/test_codesize_files_wasmfs.size @@ -1 +1 @@ -49889 +50973 diff --git a/test/other/codesize/test_codesize_hello_O0.size b/test/other/codesize/test_codesize_hello_O0.size index c2551efd9da3d..097310b36c5ab 100644 --- a/test/other/codesize/test_codesize_hello_O0.size +++ b/test/other/codesize/test_codesize_hello_O0.size @@ -1 +1 @@ -14544 +14519 diff --git a/test/other/codesize/test_codesize_hello_O1.size b/test/other/codesize/test_codesize_hello_O1.size index b86f0690ffbed..48c6e93066ff9 100644 --- a/test/other/codesize/test_codesize_hello_O1.size +++ b/test/other/codesize/test_codesize_hello_O1.size @@ -1 +1 @@ -2552 +2535 diff --git a/test/other/codesize/test_codesize_minimal_O0.size b/test/other/codesize/test_codesize_minimal_O0.size index 7f9d7e97a5258..37cdd416f157a 100644 --- a/test/other/codesize/test_codesize_minimal_O0.size +++ b/test/other/codesize/test_codesize_minimal_O0.size @@ -1 +1 @@ -992 +975 diff --git a/test/other/codesize/test_codesize_minimal_O1.size b/test/other/codesize/test_codesize_minimal_O1.size index 25685cf6b3219..100000a67875f 100644 --- a/test/other/codesize/test_codesize_minimal_O1.size +++ b/test/other/codesize/test_codesize_minimal_O1.size @@ -1 +1 @@ -393 +376 diff --git a/test/other/test_unoptimized_code_size.wasm.size b/test/other/test_unoptimized_code_size.wasm.size index c2551efd9da3d..097310b36c5ab 100644 --- a/test/other/test_unoptimized_code_size.wasm.size +++ b/test/other/test_unoptimized_code_size.wasm.size @@ -1 +1 @@ -14544 +14519 diff --git a/test/other/test_unoptimized_code_size_no_asserts.wasm.size b/test/other/test_unoptimized_code_size_no_asserts.wasm.size index 89916bd925f25..649c6e5ce3b6a 100644 --- a/test/other/test_unoptimized_code_size_no_asserts.wasm.size +++ b/test/other/test_unoptimized_code_size_no_asserts.wasm.size @@ -1 +1 @@ -11737 +11712 diff --git a/test/other/test_unoptimized_code_size_strict.wasm.size b/test/other/test_unoptimized_code_size_strict.wasm.size index c2551efd9da3d..097310b36c5ab 100644 --- a/test/other/test_unoptimized_code_size_strict.wasm.size +++ b/test/other/test_unoptimized_code_size_strict.wasm.size @@ -1 +1 @@ -14544 +14519