From e750954cf3edbaa11d88e21ec827204eb9594a37 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sun, 18 Dec 2022 11:30:50 +0100 Subject: [PATCH 1/7] Node: always define `__filename` and `__dirname` in non-ES6 workers In favor of `location.href`. This ensures we can remove those `ENVIRONMENT_IS_WORKER` specific guards. Alternative to commit 5decc7028f22142b87cec134ba6e39b976d22094 introduced in PR #10343. --- src/shell.js | 23 +++++++---------------- src/worker.js | 7 ++++--- 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/src/shell.js b/src/shell.js index 3f41efd0c2a07..6653fe0e48e8e 100644 --- a/src/shell.js +++ b/src/shell.js @@ -135,11 +135,8 @@ var ENVIRONMENT_IS_WASM_WORKER = Module['$ww']; // before the page load. In non-MODULARIZE modes generate it here. var _scriptDir = (typeof document != 'undefined' && document.currentScript) ? document.currentScript.src : undefined; -if (ENVIRONMENT_IS_WORKER) { - _scriptDir = self.location.href; -} #if ENVIRONMENT_MAY_BE_NODE -else if (ENVIRONMENT_IS_NODE) { +if (ENVIRONMENT_IS_NODE) { _scriptDir = __filename; } #endif // ENVIRONMENT_MAY_BE_NODE @@ -201,18 +198,14 @@ if (ENVIRONMENT_IS_NODE) { var fs = require('fs'); var nodePath = require('path'); - if (ENVIRONMENT_IS_WORKER) { - scriptDirectory = nodePath.dirname(scriptDirectory) + '/'; - } else { #if EXPORT_ES6 - // EXPORT_ES6 + ENVIRONMENT_IS_NODE always requires use of import.meta.url, - // since there's no way getting the current absolute path of the module when - // support for that is not available. - scriptDirectory = require('url').fileURLToPath(new URL('./', import.meta.url)); // includes trailing slash + // EXPORT_ES6 + ENVIRONMENT_IS_NODE always requires use of import.meta.url, + // since there's no way getting the current absolute path of the module when + // support for that is not available. + scriptDirectory = require('url').fileURLToPath(new URL('./', import.meta.url)); // includes trailing slash #else - scriptDirectory = __dirname + '/'; + scriptDirectory = __dirname + '/'; #endif - } #include "node_shell_read.js" @@ -369,9 +362,7 @@ if (ENVIRONMENT_IS_SHELL) { // ENVIRONMENT_IS_NODE. #if ENVIRONMENT_MAY_BE_WEB || ENVIRONMENT_MAY_BE_WORKER if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document != 'undefined' && document.currentScript) { // web + if (typeof document != 'undefined' && document.currentScript) { // web scriptDirectory = document.currentScript.src; } #if MODULARIZE diff --git a/src/worker.js b/src/worker.js index 847b56515e8f8..1a469726dc9b7 100644 --- a/src/worker.js +++ b/src/worker.js @@ -30,9 +30,10 @@ if (ENVIRONMENT_IS_NODE) { self: global, require: require, Module: Module, - location: { - href: __filename - }, +#if !EXPORT_ES6 + __filename: __filename, + __dirname: __dirname, +#endif Worker: nodeWorkerThreads.Worker, importScripts: function(f) { (0, eval)(fs.readFileSync(f, 'utf8') + '//# sourceURL=' + f); From 4dba3713e6db389a5afc1a1e8df43922d4e0acdb Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Wed, 7 Dec 2022 08:56:57 +0100 Subject: [PATCH 2/7] Fix regression in `browser.test_pthreads_started_in_worker` --- src/shell.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/shell.js b/src/shell.js index 6653fe0e48e8e..98c0f54d21a43 100644 --- a/src/shell.js +++ b/src/shell.js @@ -133,13 +133,24 @@ var ENVIRONMENT_IS_WASM_WORKER = Module['$ww']; #if SHARED_MEMORY && !MODULARIZE // In MODULARIZE mode _scriptDir needs to be captured already at the very top of the page immediately when the page is parsed, so it is generated there // before the page load. In non-MODULARIZE modes generate it here. -var _scriptDir = (typeof document != 'undefined' && document.currentScript) ? document.currentScript.src : undefined; +var _scriptDir; #if ENVIRONMENT_MAY_BE_NODE if (ENVIRONMENT_IS_NODE) { _scriptDir = __filename; -} +} else #endif // ENVIRONMENT_MAY_BE_NODE +#if ENVIRONMENT_MAY_BE_WORKER +if (ENVIRONMENT_IS_WORKER) { + _scriptDir = self.location.href; +} else +#endif // ENVIRONMENT_MAY_BE_WORKER +#if ENVIRONMENT_MAY_BE_WEB +if (typeof document != 'undefined' && document.currentScript) { // web + _scriptDir = document.currentScript.src; +} else +#endif // ENVIRONMENT_MAY_BE_WEB + _scriptDir = undefined; #endif // SHARED_MEMORY && !MODULARIZE // `/` should be present at the end if `scriptDirectory` is not empty From 3e47701f8b58fec13a1b61c13f0b3fad4af833c4 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sun, 18 Dec 2022 16:16:31 +0100 Subject: [PATCH 3/7] Add TODO-item --- src/shell.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/shell.js b/src/shell.js index 98c0f54d21a43..ae2bf0021183e 100644 --- a/src/shell.js +++ b/src/shell.js @@ -392,6 +392,7 @@ if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { if (scriptDirectory.indexOf('blob:') !== 0) { scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf('/')+1); } else { + // TODO: Why? Does this mean that the previous `scriptDirectory`-logic is only for `blob:` URLs? scriptDirectory = ''; } From b04fd51fbfa4f58b5e1338702e66b588270c6461 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Thu, 22 Dec 2022 15:50:58 +0100 Subject: [PATCH 4/7] Add a previously failed test case This failed with: ``` Aborted(Assertion failed: scriptDirectory (./) should be an absolute path) ``` --- test/test_other.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/test/test_other.py b/test/test_other.py index fb06ca0bdf157..9e7a6e6e155a9 100644 --- a/test/test_other.py +++ b/test/test_other.py @@ -12781,3 +12781,16 @@ def test_signext_lowering(self): # should successfully lower sign-ext. self.run_process(cmd + ['-sMIN_SAFARI_VERSION=120000', '-o', 'lowered.js']) self.assertEqual('1\n', self.run_js('lowered.js')) + + def test_locate_file_abspath_pthread(self): + # Verify that `scriptDirectory` is an absolute path when `ENVIRONMENT_IS_WORKER` + self.emcc_args += ['-pthread', '--pre-js', 'pre.js'] + self.set_setting('PROXY_TO_PTHREAD') + self.set_setting('EXIT_RUNTIME') + create_file('pre.js', ''' + Module['locateFile'] = (fileName, scriptDirectory) => { + assert(nodePath['isAbsolute'](scriptDirectory), `scriptDirectory (${scriptDirectory}) should be an absolute path`); + return scriptDirectory + fileName; + }; + ''') + self.do_runf(test_file('hello_world.c'), 'hello, world!') From 3b124a624fb15782a0eba452377969d89bd57cef Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Thu, 22 Dec 2022 17:17:11 +0100 Subject: [PATCH 5/7] Add missing `@node_pthreads` --- test/test_other.py | 1 + 1 file changed, 1 insertion(+) diff --git a/test/test_other.py b/test/test_other.py index 9e7a6e6e155a9..30d8dfb958284 100644 --- a/test/test_other.py +++ b/test/test_other.py @@ -12782,6 +12782,7 @@ def test_signext_lowering(self): self.run_process(cmd + ['-sMIN_SAFARI_VERSION=120000', '-o', 'lowered.js']) self.assertEqual('1\n', self.run_js('lowered.js')) + @node_pthreads def test_locate_file_abspath_pthread(self): # Verify that `scriptDirectory` is an absolute path when `ENVIRONMENT_IS_WORKER` self.emcc_args += ['-pthread', '--pre-js', 'pre.js'] From 247721a95605bf9dcdf476210e3f88fd66138cc9 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sun, 26 Mar 2023 14:19:43 +0200 Subject: [PATCH 6/7] Simplify --- emcc.py | 20 ++++------ src/closure-externs/closure-externs.js | 6 +-- src/library_pthread.js | 2 +- src/library_wasm_worker.js | 2 +- src/library_webaudio.js | 2 +- src/shell.js | 51 ++++++++++++-------------- src/shell_minimal.js | 33 +++++++++++++---- 7 files changed, 62 insertions(+), 54 deletions(-) diff --git a/emcc.py b/emcc.py index 1b3171b6d4c7d..4abd5fabfff37 100755 --- a/emcc.py +++ b/emcc.py @@ -3908,28 +3908,22 @@ def modularize(): # document.currentScript, so a simple export declaration is enough. src = 'var %s=%s' % (settings.EXPORT_NAME, src) else: - script_url_node = '' + script_url_web = '' # When MODULARIZE this JS may be executed later, # after document.currentScript is gone, so we save it. - # In EXPORT_ES6 + PTHREADS the 'thread' is actually an ES6 module webworker running in strict mode, - # so doesn't have access to 'document'. In this case use 'import.meta' instead. - if settings.EXPORT_ES6 and settings.USE_ES6_IMPORT_META: - script_url = 'import.meta.url' - else: - script_url = "typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined" - if shared.target_environment_may_be('node'): - script_url_node = "if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;" + # In EXPORT_ES6 mode we can just use 'import.meta'. + if shared.target_environment_may_be('web') and \ + not settings.EXPORT_ES6 or not settings.USE_ES6_IMPORT_META: + script_url_web = "var _scriptSrc = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : '';" src = '''%(node_imports)s var %(EXPORT_NAME)s = (() => { - var _scriptDir = %(script_url)s; - %(script_url_node)s + %(script_url_web)s return (%(src)s); })(); ''' % { 'node_imports': node_es6_imports(), 'EXPORT_NAME': settings.EXPORT_NAME, - 'script_url': script_url, - 'script_url_node': script_url_node, + 'script_url_web': script_url_web, 'src': src } diff --git a/src/closure-externs/closure-externs.js b/src/closure-externs/closure-externs.js index 9c25e396287aa..4e8fabac4ec5f 100644 --- a/src/closure-externs/closure-externs.js +++ b/src/closure-externs/closure-externs.js @@ -212,13 +212,13 @@ var removeEventListener = function (type, listener) {}; */ var close; -// Due to the way MODULARIZE works, Closure is run on generated code that does not define _scriptDir, -// but only after MODULARIZE has finished, _scriptDir is injected to the generated code. +// Due to the way MODULARIZE works, Closure is run on generated code that does not define _scriptSrc, +// but only after MODULARIZE has finished, _scriptSrc is injected to the generated code. // Therefore it cannot be minified. /** * @suppress {duplicate, undefinedVars} */ -var _scriptDir; +var _scriptSrc; // Closure run on asm.js uses a hack to execute only on shell code, declare externs needed for it. /** diff --git a/src/library_pthread.js b/src/library_pthread.js index e36fede406edd..711d432eca20c 100644 --- a/src/library_pthread.js +++ b/src/library_pthread.js @@ -386,7 +386,7 @@ var LibraryPThread = { // independently load up the same main application file. 'urlOrBlob': Module['mainScriptUrlOrBlob'] #if !EXPORT_ES6 - || _scriptDir + || currentScript #endif , #if WASM2JS diff --git a/src/library_wasm_worker.js b/src/library_wasm_worker.js index e43a75eefdb06..7caae90902704 100644 --- a/src/library_wasm_worker.js +++ b/src/library_wasm_worker.js @@ -133,7 +133,7 @@ mergeInto(LibraryManager.library, { 'mem': wasmMemory, #else 'wasm': wasmModule, - 'js': Module['mainScriptUrlOrBlob'] || _scriptDir, + 'js': Module['mainScriptUrlOrBlob'] || currentScript, 'wasmMemory': wasmMemory, #endif 'sb': stackLowestAddress, // sb = stack bottom (lowest stack address, SP points at this when stack is full) diff --git a/src/library_webaudio.js b/src/library_webaudio.js index d0e6da3075404..0ac8ff6f89433 100644 --- a/src/library_webaudio.js +++ b/src/library_webaudio.js @@ -198,7 +198,7 @@ let LibraryWebAudio = { #if MINIMAL_RUNTIME Module['js'] #else - Module['mainScriptUrlOrBlob'] || _scriptDir + Module['mainScriptUrlOrBlob'] || currentScript #endif ); }).then(() => { diff --git a/src/shell.js b/src/shell.js index 3c4dd28dff44a..e3d5da62be6cc 100644 --- a/src/shell.js +++ b/src/shell.js @@ -141,28 +141,36 @@ var ENVIRONMENT_IS_PTHREAD = Module['ENVIRONMENT_IS_PTHREAD'] || false; var ENVIRONMENT_IS_WASM_WORKER = Module['$ww']; #endif -#if SHARED_MEMORY && !MODULARIZE -// In MODULARIZE mode _scriptDir needs to be captured already at the very top of the page immediately when the page is parsed, so it is generated there -// before the page load. In non-MODULARIZE modes generate it here. -var _scriptDir; +#if EXPORT_ES6 && USE_ES6_IMPORT_META +var currentScript = import.meta.url; +#else +var currentScript; #if ENVIRONMENT_MAY_BE_NODE -if (ENVIRONMENT_IS_NODE) { - _scriptDir = __filename; +if (typeof __filename !== 'undefined') { // Node + currentScript = __filename; } else #endif // ENVIRONMENT_MAY_BE_NODE #if ENVIRONMENT_MAY_BE_WORKER if (ENVIRONMENT_IS_WORKER) { - _scriptDir = self.location.href; + currentScript = self.location.href; } else #endif // ENVIRONMENT_MAY_BE_WORKER #if ENVIRONMENT_MAY_BE_WEB +#if MODULARIZE +// When MODULARIZE this JS may be executed later, after document.currentScript is gone, so we store it in _scriptSrc. +if (ENVIRONMENT_IS_WEB) { + currentScript = _scriptSrc; +} else +#else +// In non-MODULARIZE mode we generate it here. if (typeof document != 'undefined' && document.currentScript) { // web - _scriptDir = document.currentScript.src; + currentScript = document.currentScript.src; } else +#endif #endif // ENVIRONMENT_MAY_BE_WEB - _scriptDir = undefined; -#endif // SHARED_MEMORY && !MODULARIZE + currentScript = ''; +#endif // EXPORT_ES6 && USE_ES6_IMPORT_META // `/` should be present at the end if `scriptDirectory` is not empty var scriptDirectory = ''; @@ -383,27 +391,14 @@ if (ENVIRONMENT_IS_SHELL) { // ENVIRONMENT_IS_NODE. #if ENVIRONMENT_MAY_BE_WEB || ENVIRONMENT_MAY_BE_WORKER if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (typeof document != 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } -#if MODULARIZE - // When MODULARIZE, this JS may be executed later, after document.currentScript - // is gone, so we saved it, and we use it here instead of any other info. - if (_scriptDir) { - scriptDirectory = _scriptDir; - } -#endif // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), + // if currentScript does not contain a slash, lastIndexOf will return -1, + // and scriptDirectory will be an empty string. + // If currentScript contains a query (starting with ?) or a fragment (starting with #), // they are removed because they could contain a slash. - if (scriptDirectory.indexOf('blob:') !== 0) { - scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf('/')+1); - } else { - // TODO: Why? Does this mean that the previous `scriptDirectory`-logic is only for `blob:` URLs? - scriptDirectory = ''; + if (currentScript.indexOf('blob:') !== 0) { + scriptDirectory = currentScript.substr(0, currentScript.replace(/[?#].*/, "").lastIndexOf('/')+1); } #if ENVIRONMENT && ASSERTIONS diff --git a/src/shell_minimal.js b/src/shell_minimal.js index d019d388ffd6b..c5cbc25b38ea1 100644 --- a/src/shell_minimal.js +++ b/src/shell_minimal.js @@ -159,12 +159,6 @@ function ready() { #if PTHREADS -#if !MODULARIZE -// In MODULARIZE mode _scriptDir needs to be captured already at the very top of the page immediately when the page is parsed, so it is generated there -// before the page load. In non-MODULARIZE modes generate it here. -var _scriptDir = (typeof document != 'undefined' && document.currentScript) ? document.currentScript.src : undefined; -#endif - // MINIMAL_RUNTIME does not support --proxy-to-worker option, so Worker and Pthread environments // coincide. #if WASM_WORKERS @@ -174,5 +168,30 @@ var ENVIRONMENT_IS_WORKER = typeof importScripts == 'function', var ENVIRONMENT_IS_WORKER = ENVIRONMENT_IS_PTHREAD = typeof importScripts == 'function'; #endif -var currentScriptUrl = typeof _scriptDir != 'undefined' ? _scriptDir : ((typeof document != 'undefined' && document.currentScript) ? document.currentScript.src : undefined); +#if EXPORT_ES6 && USE_ES6_IMPORT_META +var currentScript = import.meta.url; +#else +var currentScript; + +#if ENVIRONMENT_MAY_BE_NODE +if (typeof __filename !== 'undefined') { // Node + currentScript = __filename; +} else +#endif // ENVIRONMENT_MAY_BE_NODE +#if ENVIRONMENT_MAY_BE_WEB +#if MODULARIZE +// When MODULARIZE this JS may be executed later, after document.currentScript is gone, so we store it in _scriptSrc. +if (ENVIRONMENT_IS_WEB) { + currentScript = _scriptSrc; +} else +#else +// In non-MODULARIZE mode we generate it here. +if (typeof document != 'undefined' && document.currentScript) { // web + currentScript = document.currentScript.src; +} else +#endif +#endif // ENVIRONMENT_MAY_BE_WEB + currentScript = ''; +#endif // EXPORT_ES6 && USE_ES6_IMPORT_META + #endif // PTHREADS From 4b21f48a10aece1316b01df93273fda0445768a8 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Tue, 28 Mar 2023 10:43:40 +0200 Subject: [PATCH 7/7] Rebaseline codesize tests. NFC This change was generated using: $ ./test/runner other.*code_size* other.*metadce* --rebase --- test/other/metadce/test_metadce_cxx_ctors1.jssize | 2 +- test/other/metadce/test_metadce_cxx_ctors2.jssize | 2 +- test/other/metadce/test_metadce_cxx_except.jssize | 2 +- test/other/metadce/test_metadce_cxx_except_wasm.jssize | 2 +- test/other/metadce/test_metadce_cxx_mangle.jssize | 2 +- test/other/metadce/test_metadce_cxx_noexcept.jssize | 2 +- test/other/metadce/test_metadce_hello_O0.jssize | 2 +- test/other/metadce/test_metadce_hello_O1.jssize | 2 +- test/other/metadce/test_metadce_hello_O2.jssize | 2 +- test/other/metadce/test_metadce_hello_O3.jssize | 2 +- test/other/metadce/test_metadce_hello_Os.jssize | 2 +- test/other/metadce/test_metadce_hello_Oz.jssize | 2 +- test/other/metadce/test_metadce_hello_dylink.jssize | 2 +- test/other/metadce/test_metadce_hello_export_nothing.jssize | 2 +- test/other/metadce/test_metadce_libcxxabi_message_O3.jssize | 2 +- .../metadce/test_metadce_libcxxabi_message_O3_standalone.jssize | 2 +- test/other/metadce/test_metadce_mem_O3.jssize | 2 +- test/other/metadce/test_metadce_mem_O3_grow.jssize | 2 +- test/other/metadce/test_metadce_mem_O3_grow_standalone.jssize | 2 +- test/other/metadce/test_metadce_mem_O3_standalone.jssize | 2 +- test/other/metadce/test_metadce_mem_O3_standalone_lib.jssize | 2 +- test/other/metadce/test_metadce_mem_O3_standalone_narg.jssize | 2 +- .../metadce/test_metadce_mem_O3_standalone_narg_flto.jssize | 2 +- test/other/metadce/test_metadce_minimal_64.jssize | 2 +- test/other/metadce/test_metadce_minimal_O0.jssize | 2 +- test/other/metadce/test_metadce_minimal_O1.jssize | 2 +- test/other/metadce/test_metadce_minimal_O2.jssize | 2 +- test/other/metadce/test_metadce_minimal_O3.jssize | 2 +- test/other/metadce/test_metadce_minimal_Os.jssize | 2 +- test/other/metadce/test_metadce_minimal_Oz-ctors.jssize | 2 +- test/other/metadce/test_metadce_minimal_Oz.jssize | 2 +- test/other/metadce/test_metadce_minimal_pthreads.jssize | 2 +- test/other/test_unoptimized_code_size.js.size | 2 +- test/other/test_unoptimized_code_size_no_asserts.js.size | 2 +- test/other/test_unoptimized_code_size_strict.js.size | 2 +- 35 files changed, 35 insertions(+), 35 deletions(-) diff --git a/test/other/metadce/test_metadce_cxx_ctors1.jssize b/test/other/metadce/test_metadce_cxx_ctors1.jssize index 11aaae0dc022f..a89c0c0ac9b47 100644 --- a/test/other/metadce/test_metadce_cxx_ctors1.jssize +++ b/test/other/metadce/test_metadce_cxx_ctors1.jssize @@ -1 +1 @@ -26183 +26215 diff --git a/test/other/metadce/test_metadce_cxx_ctors2.jssize b/test/other/metadce/test_metadce_cxx_ctors2.jssize index c87d967550f6a..4e22afcfd42ec 100644 --- a/test/other/metadce/test_metadce_cxx_ctors2.jssize +++ b/test/other/metadce/test_metadce_cxx_ctors2.jssize @@ -1 +1 @@ -26147 +26179 diff --git a/test/other/metadce/test_metadce_cxx_except.jssize b/test/other/metadce/test_metadce_cxx_except.jssize index f11164ae1afba..239a7fb93cc93 100644 --- a/test/other/metadce/test_metadce_cxx_except.jssize +++ b/test/other/metadce/test_metadce_cxx_except.jssize @@ -1 +1 @@ -30720 +30752 diff --git a/test/other/metadce/test_metadce_cxx_except_wasm.jssize b/test/other/metadce/test_metadce_cxx_except_wasm.jssize index 79ad1614ad48f..50ebecdb54c97 100644 --- a/test/other/metadce/test_metadce_cxx_except_wasm.jssize +++ b/test/other/metadce/test_metadce_cxx_except_wasm.jssize @@ -1 +1 @@ -25862 +25894 diff --git a/test/other/metadce/test_metadce_cxx_mangle.jssize b/test/other/metadce/test_metadce_cxx_mangle.jssize index f11164ae1afba..239a7fb93cc93 100644 --- a/test/other/metadce/test_metadce_cxx_mangle.jssize +++ b/test/other/metadce/test_metadce_cxx_mangle.jssize @@ -1 +1 @@ -30720 +30752 diff --git a/test/other/metadce/test_metadce_cxx_noexcept.jssize b/test/other/metadce/test_metadce_cxx_noexcept.jssize index 11aaae0dc022f..a89c0c0ac9b47 100644 --- a/test/other/metadce/test_metadce_cxx_noexcept.jssize +++ b/test/other/metadce/test_metadce_cxx_noexcept.jssize @@ -1 +1 @@ -26183 +26215 diff --git a/test/other/metadce/test_metadce_hello_O0.jssize b/test/other/metadce/test_metadce_hello_O0.jssize index d3ea9f5793238..59def7725019f 100644 --- a/test/other/metadce/test_metadce_hello_O0.jssize +++ b/test/other/metadce/test_metadce_hello_O0.jssize @@ -1 +1 @@ -23970 +23998 diff --git a/test/other/metadce/test_metadce_hello_O1.jssize b/test/other/metadce/test_metadce_hello_O1.jssize index e4d150b45c423..3fbbbebc0ed14 100644 --- a/test/other/metadce/test_metadce_hello_O1.jssize +++ b/test/other/metadce/test_metadce_hello_O1.jssize @@ -1 +1 @@ -8555 +8585 diff --git a/test/other/metadce/test_metadce_hello_O2.jssize b/test/other/metadce/test_metadce_hello_O2.jssize index e086a733090d3..eea712c5708f6 100644 --- a/test/other/metadce/test_metadce_hello_O2.jssize +++ b/test/other/metadce/test_metadce_hello_O2.jssize @@ -1 +1 @@ -6070 +6100 diff --git a/test/other/metadce/test_metadce_hello_O3.jssize b/test/other/metadce/test_metadce_hello_O3.jssize index 6762ad20ec827..aa0444dab3150 100644 --- a/test/other/metadce/test_metadce_hello_O3.jssize +++ b/test/other/metadce/test_metadce_hello_O3.jssize @@ -1 +1 @@ -5896 +5926 diff --git a/test/other/metadce/test_metadce_hello_Os.jssize b/test/other/metadce/test_metadce_hello_Os.jssize index 6762ad20ec827..aa0444dab3150 100644 --- a/test/other/metadce/test_metadce_hello_Os.jssize +++ b/test/other/metadce/test_metadce_hello_Os.jssize @@ -1 +1 @@ -5896 +5926 diff --git a/test/other/metadce/test_metadce_hello_Oz.jssize b/test/other/metadce/test_metadce_hello_Oz.jssize index e885b56e61b25..ec131830919b5 100644 --- a/test/other/metadce/test_metadce_hello_Oz.jssize +++ b/test/other/metadce/test_metadce_hello_Oz.jssize @@ -1 +1 @@ -5855 +5885 diff --git a/test/other/metadce/test_metadce_hello_dylink.jssize b/test/other/metadce/test_metadce_hello_dylink.jssize index e8f92ab1737aa..59440f28616ec 100644 --- a/test/other/metadce/test_metadce_hello_dylink.jssize +++ b/test/other/metadce/test_metadce_hello_dylink.jssize @@ -1 +1 @@ -27921 +27954 diff --git a/test/other/metadce/test_metadce_hello_export_nothing.jssize b/test/other/metadce/test_metadce_hello_export_nothing.jssize index d464190f4f303..e8f0acdd4ba5f 100644 --- a/test/other/metadce/test_metadce_hello_export_nothing.jssize +++ b/test/other/metadce/test_metadce_hello_export_nothing.jssize @@ -1 +1 @@ -4639 +4666 diff --git a/test/other/metadce/test_metadce_libcxxabi_message_O3.jssize b/test/other/metadce/test_metadce_libcxxabi_message_O3.jssize index e96a113a815ce..12d87d95497c0 100644 --- a/test/other/metadce/test_metadce_libcxxabi_message_O3.jssize +++ b/test/other/metadce/test_metadce_libcxxabi_message_O3.jssize @@ -1 +1 @@ -5170 +5197 diff --git a/test/other/metadce/test_metadce_libcxxabi_message_O3_standalone.jssize b/test/other/metadce/test_metadce_libcxxabi_message_O3_standalone.jssize index b399a63028457..8f26239674769 100644 --- a/test/other/metadce/test_metadce_libcxxabi_message_O3_standalone.jssize +++ b/test/other/metadce/test_metadce_libcxxabi_message_O3_standalone.jssize @@ -1 +1 @@ -5238 +5265 diff --git a/test/other/metadce/test_metadce_mem_O3.jssize b/test/other/metadce/test_metadce_mem_O3.jssize index 1f10f1976c57e..ae9182a87fd22 100644 --- a/test/other/metadce/test_metadce_mem_O3.jssize +++ b/test/other/metadce/test_metadce_mem_O3.jssize @@ -1 +1 @@ -6092 +6123 diff --git a/test/other/metadce/test_metadce_mem_O3_grow.jssize b/test/other/metadce/test_metadce_mem_O3_grow.jssize index 725a719f3bcb1..07ec407d760bb 100644 --- a/test/other/metadce/test_metadce_mem_O3_grow.jssize +++ b/test/other/metadce/test_metadce_mem_O3_grow.jssize @@ -1 +1 @@ -6436 +6467 diff --git a/test/other/metadce/test_metadce_mem_O3_grow_standalone.jssize b/test/other/metadce/test_metadce_mem_O3_grow_standalone.jssize index c9a4db7eba921..58f51009ad21e 100644 --- a/test/other/metadce/test_metadce_mem_O3_grow_standalone.jssize +++ b/test/other/metadce/test_metadce_mem_O3_grow_standalone.jssize @@ -1 +1 @@ -5818 +5848 diff --git a/test/other/metadce/test_metadce_mem_O3_standalone.jssize b/test/other/metadce/test_metadce_mem_O3_standalone.jssize index bac191e478119..7974cb622864c 100644 --- a/test/other/metadce/test_metadce_mem_O3_standalone.jssize +++ b/test/other/metadce/test_metadce_mem_O3_standalone.jssize @@ -1 +1 @@ -5741 +5771 diff --git a/test/other/metadce/test_metadce_mem_O3_standalone_lib.jssize b/test/other/metadce/test_metadce_mem_O3_standalone_lib.jssize index d57d96f601aca..a8e87c7e3a844 100644 --- a/test/other/metadce/test_metadce_mem_O3_standalone_lib.jssize +++ b/test/other/metadce/test_metadce_mem_O3_standalone_lib.jssize @@ -1 +1 @@ -5256 +5283 diff --git a/test/other/metadce/test_metadce_mem_O3_standalone_narg.jssize b/test/other/metadce/test_metadce_mem_O3_standalone_narg.jssize index b399a63028457..8f26239674769 100644 --- a/test/other/metadce/test_metadce_mem_O3_standalone_narg.jssize +++ b/test/other/metadce/test_metadce_mem_O3_standalone_narg.jssize @@ -1 +1 @@ -5238 +5265 diff --git a/test/other/metadce/test_metadce_mem_O3_standalone_narg_flto.jssize b/test/other/metadce/test_metadce_mem_O3_standalone_narg_flto.jssize index b399a63028457..8f26239674769 100644 --- a/test/other/metadce/test_metadce_mem_O3_standalone_narg_flto.jssize +++ b/test/other/metadce/test_metadce_mem_O3_standalone_narg_flto.jssize @@ -1 +1 @@ -5238 +5265 diff --git a/test/other/metadce/test_metadce_minimal_64.jssize b/test/other/metadce/test_metadce_minimal_64.jssize index a7f7f14163139..b489426b1b509 100644 --- a/test/other/metadce/test_metadce_minimal_64.jssize +++ b/test/other/metadce/test_metadce_minimal_64.jssize @@ -1 +1 @@ -4077 +4104 diff --git a/test/other/metadce/test_metadce_minimal_O0.jssize b/test/other/metadce/test_metadce_minimal_O0.jssize index 0508df68b45cc..d2d5b4ece8f2a 100644 --- a/test/other/metadce/test_metadce_minimal_O0.jssize +++ b/test/other/metadce/test_metadce_minimal_O0.jssize @@ -1 +1 @@ -20278 +20306 diff --git a/test/other/metadce/test_metadce_minimal_O1.jssize b/test/other/metadce/test_metadce_minimal_O1.jssize index 5e91da113af69..fb29abf3c9b15 100644 --- a/test/other/metadce/test_metadce_minimal_O1.jssize +++ b/test/other/metadce/test_metadce_minimal_O1.jssize @@ -1 +1 @@ -4935 +4962 diff --git a/test/other/metadce/test_metadce_minimal_O2.jssize b/test/other/metadce/test_metadce_minimal_O2.jssize index e67b201f450e6..34434a7dfd9ce 100644 --- a/test/other/metadce/test_metadce_minimal_O2.jssize +++ b/test/other/metadce/test_metadce_minimal_O2.jssize @@ -1 +1 @@ -3798 +3826 diff --git a/test/other/metadce/test_metadce_minimal_O3.jssize b/test/other/metadce/test_metadce_minimal_O3.jssize index 1149062c66bf4..7f0e18ca00cc8 100644 --- a/test/other/metadce/test_metadce_minimal_O3.jssize +++ b/test/other/metadce/test_metadce_minimal_O3.jssize @@ -1 +1 @@ -3666 +3693 diff --git a/test/other/metadce/test_metadce_minimal_Os.jssize b/test/other/metadce/test_metadce_minimal_Os.jssize index 1149062c66bf4..7f0e18ca00cc8 100644 --- a/test/other/metadce/test_metadce_minimal_Os.jssize +++ b/test/other/metadce/test_metadce_minimal_Os.jssize @@ -1 +1 @@ -3666 +3693 diff --git a/test/other/metadce/test_metadce_minimal_Oz-ctors.jssize b/test/other/metadce/test_metadce_minimal_Oz-ctors.jssize index 2ae555a2e692c..bb0a36e9adfc3 100644 --- a/test/other/metadce/test_metadce_minimal_Oz-ctors.jssize +++ b/test/other/metadce/test_metadce_minimal_Oz-ctors.jssize @@ -1 +1 @@ -3647 +3674 diff --git a/test/other/metadce/test_metadce_minimal_Oz.jssize b/test/other/metadce/test_metadce_minimal_Oz.jssize index 1149062c66bf4..7f0e18ca00cc8 100644 --- a/test/other/metadce/test_metadce_minimal_Oz.jssize +++ b/test/other/metadce/test_metadce_minimal_Oz.jssize @@ -1 +1 @@ -3666 +3693 diff --git a/test/other/metadce/test_metadce_minimal_pthreads.jssize b/test/other/metadce/test_metadce_minimal_pthreads.jssize index 32f63fcc9dfdf..3bc752d02c5f8 100644 --- a/test/other/metadce/test_metadce_minimal_pthreads.jssize +++ b/test/other/metadce/test_metadce_minimal_pthreads.jssize @@ -1 +1 @@ -15557 +15432 diff --git a/test/other/test_unoptimized_code_size.js.size b/test/other/test_unoptimized_code_size.js.size index 08789b21f9bd1..9caf37dc43375 100644 --- a/test/other/test_unoptimized_code_size.js.size +++ b/test/other/test_unoptimized_code_size.js.size @@ -1 +1 @@ -64465 +64391 diff --git a/test/other/test_unoptimized_code_size_no_asserts.js.size b/test/other/test_unoptimized_code_size_no_asserts.js.size index 5c9209553b59f..0427e665ddb12 100644 --- a/test/other/test_unoptimized_code_size_no_asserts.js.size +++ b/test/other/test_unoptimized_code_size_no_asserts.js.size @@ -1 +1 @@ -37791 +37717 diff --git a/test/other/test_unoptimized_code_size_strict.js.size b/test/other/test_unoptimized_code_size_strict.js.size index 046dd3e1cb98c..361e3a81a6676 100644 --- a/test/other/test_unoptimized_code_size_strict.js.size +++ b/test/other/test_unoptimized_code_size_strict.js.size @@ -1 +1 @@ -63499 +63425