958055b | Alon Zakai | 26 October 2020, 16:26:38 UTC | Rename PThreadinitMainThreadBlock => PThread.prepareMainThread for clarity | 26 October 2020, 16:26:38 UTC |
f9d491b | Sam Clegg | 24 October 2020, 20:43:46 UTC | Verify dlopen flags (#12591) | 24 October 2020, 20:43:46 UTC |
7b87f0b | Sam Clegg | 24 October 2020, 18:32:59 UTC | 2.0.8 (#12597) | 24 October 2020, 18:32:59 UTC |
d059fd6 | Sam Clegg | 23 October 2020, 23:08:12 UTC | emrun: use argparse in more conventional way (#12520) * emrun: use argparse in more conventional way This is not quite NFC since passing command line arguments to the page that start with `-` now requires a separator. This used to work: ./emrun filename.html --foo --bar Where as now one needs to add `--` to signal the end of emrun's argument parsing. So either: ./emrun filename.html -- --foo --bar or: ./emrun -- filename.html --foo --bar * error_check | 23 October 2020, 23:08:12 UTC |
f93a4a9 | Sam Clegg | 23 October 2020, 23:07:09 UTC | Use the same test layout in test_other that we do in test_core. NFC. (#12588) This also allows us to use the same `run_in_out_file_test` method in both places. | 23 October 2020, 23:07:09 UTC |
5f082af | Alon Zakai | 23 October 2020, 22:40:00 UTC | Fix other.test_separate_dwarf_with_filename on windows (#12592) We need to emit a URL in the custom section, which has UNIX-style path separators. | 23 October 2020, 22:40:00 UTC |
56c5062 | Sam Clegg | 23 October 2020, 18:49:07 UTC | Fix dlsym for 64-bit functions (#12586) This basically involved looking the `orig$` functions whenever we want a native WebAssembly function. Regarding test_dlfcn_i64: It seems that this test wasn't actually testing functions that have i64 in thier signature but some kind of i64 handling from back in the asm.js days. See #2060. This change repurposes it to and makes it more useful. | 23 October 2020, 18:49:07 UTC |
d62987b | Sam Clegg | 23 October 2020, 18:41:19 UTC | Cleanup format in test sources. NFC. (#12587) | 23 October 2020, 18:41:19 UTC |
dab2333 | Alon Zakai | 23 October 2020, 18:34:53 UTC | Make ASSERTIONS=2 imply STACK_OVERFLOW_CHECK=2 (#12579) This is in addition to the existing 1 implying 1. The goal is to make it easier to use -s ASSERTIONS=2 and have it check as many things as possible. | 23 October 2020, 18:34:53 UTC |
a513357 | Sam Clegg | 23 October 2020, 18:23:37 UTC | Re-enable browser.test_dylink_dso_needed tests (#12585) This was fixed back in #11028 Fixes: #8753 | 23 October 2020, 18:23:37 UTC |
45c49fa | Sam Clegg | 23 October 2020, 15:30:55 UTC | Add support for RTLD_DEFAULT in dlsym (#12583) This implicitly-open handle looks up symbols in the same way that they are looked up when loading shared libraries. i.e. it searches all symbols in the main module + any shared libraries loaded with RTLD_GLOBAL. | 23 October 2020, 15:30:55 UTC |
1a49031 | Alon Zakai | 23 October 2020, 00:33:33 UTC | Add a strict mode test for dynamic linking (#12584) | 23 October 2020, 00:33:33 UTC |
a58e464 | Alon Zakai | 22 October 2020, 23:05:17 UTC | Declare a var for __stack_pointer in relocatable mode (#12582) Without this strict mode will error. Noticed in #12568 | 22 October 2020, 23:05:17 UTC |
8ea21a9 | Sam Clegg | 22 October 2020, 20:52:23 UTC | Update STANDALONE_WASM docs after #12020 (#12580) As of #12020 we now require the explicit opt out via --no-entry | 22 October 2020, 20:52:23 UTC |
071ba77 | Alon Zakai | 22 October 2020, 19:57:18 UTC | Emit a relative path in -gseparate-dwarf (#12549) This way the side file can be found relative to the main one. Fixes #12526 | 22 October 2020, 19:57:18 UTC |
0caed62 | Sam Gao | 22 October 2020, 18:32:26 UTC | Re-increment uncaught exception count on rethrow (#12535) In https://github.com/emscripten-core/emscripten/blob/master/src/library_exceptions.js, the uncaught exception count is incremented and decremented exactly once during __cxa_throw and __cxa_begin_catch respectively (as the ABI says it should be). This however doesn't get re-incremented in the event of a rethrow, so anything that happens between the first catch and the second catch (eg. destructors) receive the decremented value. In LLVM the count is incremented again in __cxa_rethrow, which curiously the ABI does not ask us to do, but seems to be the behaviour we expect. Perhaps the ABI assumes that rethrow calls throw under the hood. This PR brings us closer to that, and in alignment with LLVM. The testcase added here now emits the same correct output as a native build, which it did not before this PR. | 22 October 2020, 18:32:26 UTC |
112b38f | Rocco Musolino | 22 October 2020, 16:25:44 UTC | Add a check if "document" exists when looking for the script dir (#12553) | 22 October 2020, 16:25:44 UTC |
9a843c0 | Sam Clegg | 22 October 2020, 14:45:48 UTC | jsifier: Avoid emiting many empty lines in JS pre-processing (#12576) Also, add comments about where various chunks of code are included from. | 22 October 2020, 14:45:48 UTC |
08879a5 | Sam Clegg | 22 October 2020, 14:45:33 UTC | dylink: Remove redundant `moduleLocal` symbol map (#12575) After #12574 I noticed that moduleLocal is now just a copy of the relocated module exports. | 22 October 2020, 14:45:33 UTC |
e3882c9 | Sam Clegg | 21 October 2020, 22:49:40 UTC | Fix mis-reporting of `undefined exported functions` on data symbols (#12573) We can already use EXPORT_FUNCTIONS to export data symbols but the symbol check was only looking at function exports. This was leading to erroneous error message for users who were doing `-s EXPORTED_FUNCTIONS=[data_symbol]`. See: #12558 | 21 October 2020, 22:49:40 UTC |
b3c2f6c | Sam Clegg | 21 October 2020, 22:46:57 UTC | Minor dylink cleanups. NFC. (#12574) - Rename loadWebAssemblyModule to loadSideModule. - Remove pointless `createLibModule` function. - Avoid pointless name mangling for moduleLocal symbol map. - Avoid extra argument to resovleSymbol. | 21 October 2020, 22:46:57 UTC |
24a4c4a | Sam Clegg | 21 October 2020, 16:45:45 UTC | Add entry points for emdump and file_packager scripts (#12570) Also fix flake8 issues in emdump | 21 October 2020, 16:45:45 UTC |
2444983 | Sam Clegg | 21 October 2020, 15:29:11 UTC | Error out if wasm2js and dynamic linking are used together (#12564) This combination has never been allowed by we didn't show a clear error before. | 21 October 2020, 15:29:11 UTC |
13da6c1 | Sam Clegg | 21 October 2020, 15:28:57 UTC | Remove TODO in test code. NFC. (#12565) This test seems to pass now with the wasm backend | 21 October 2020, 15:28:57 UTC |
ea19a1a | Sam Clegg | 21 October 2020, 15:28:43 UTC | Add dlfcn.h to struct_info.json (#12566) | 21 October 2020, 15:28:43 UTC |
181b872 | DhairyaBahl | 21 October 2020, 15:16:07 UTC | Adding name to authors (#12567) | 21 October 2020, 15:16:07 UTC |
eabd82c | Pawel Czarnecki | 21 October 2020, 02:17:40 UTC | [idbfs] Properly check date equivalence (#12560) #12409 introduced a bug. The PR was merged with the assumption that != on Date objects compares the date values just like the greater than operator does. Unfortunately, this checks for object reference equivalence and will always evaluate to false in this case since each timestamp is a separate Date object. | 21 October 2020, 02:17:40 UTC |
368bf80 | Alon Zakai | 20 October 2020, 20:47:01 UTC | [docs] Remove some fastcomp mentions (#12547) | 20 October 2020, 20:47:01 UTC |
416f76a | Stephan Reiter | 20 October 2020, 20:02:08 UTC | If async preparing wasm fails with MODULARIZE=1, reject the module ready promise (#12408) For example, if a global constructor performs an invalid memory access, an exception will be thrown that bubbles up to receiveInstantiatedSource. That causes a rejection of the promise returned from instantiateAsync, and we should forward that to the module consumer via the module ready promise. By handling that rejection we also avoid an unhandled-promise-rejection error in browsers. Fixes #12396 | 20 October 2020, 20:02:08 UTC |
a6a0a44 | Sam Clegg | 20 October 2020, 19:02:03 UTC | Remove legacy --mutable-sp flag to wasm-emscripten-finalize. NFC. (#12557) This is now the default in binaryen and ignored. | 20 October 2020, 19:02:03 UTC |
05c0473 | DhairyaBahl | 20 October 2020, 02:03:41 UTC | Document COOP/COEP requirement for -pthread (#12540) | 20 October 2020, 02:03:41 UTC |
c8c05ed | Aleksander Guryanov | 19 October 2020, 21:41:27 UTC | Update SDL Mix_PlayMusic according SDL docs (#12545) SDL Docs say: === int Mix_PlayMusic(Mix_Music *music, int loops) music Pointer to Mix_Music to play. loops number of times to play through the music. 0 plays the music zero times... -1 plays the music forever (or as close as it can get to that) === So we should not play at all with 0, but it turns out SDL actually does in practice. So don't change that. And for 1, we should play one time and stop, and not loop forever, which this patch fixes. | 19 October 2020, 21:41:27 UTC |
37b5cfa | Beuc | 19 October 2020, 21:19:29 UTC | sdl2-config: bump version (#12538) Third-party SDL modules query require a recent-ish version of SDL2 (e.g. standard SDL2_image requires SDL2 >= 2.0.8). Emscripten currently ships SDL2 tag version_22, that is 2.0.10. | 19 October 2020, 21:19:29 UTC |
f94626e | Alon Zakai | 18 October 2020, 22:44:33 UTC | Update changelog and clarify ABI issues [ci skip] (#12542) | 18 October 2020, 22:44:33 UTC |
13493fd | Sam Clegg | 16 October 2020, 17:58:56 UTC | Use a mutable global as __stack_pointer in dynamic linking (#12536) Without this change we were using a normal Number and then `wasm-emscripten-finalize` would use that value to set an internal mutable global. This change means that users emscripten's dynamic linking now depends on the mutable globals proposal. However this is already available in all major browsers: https://webassembly.org/roadmap/ This is small step towards #12461 which can be landing in isolation without otherwise changing the ABI. Once this lands we can remove `internalizeStackPointerGlobal` from `wasm-emscripten-finalize`. | 16 October 2020, 17:58:56 UTC |
e05a75e | Sam Clegg | 16 October 2020, 02:12:41 UTC | Refactor setting of modify_wasm in RELOCATABLE mode. NFC. (#12534) As of today RELOCATABLE always requires modify_wasm so be explicit about that. Also, only pass --pass-arg=legalize-js-interface-export-originals when that pass is being run. | 16 October 2020, 02:12:41 UTC |
31df03a | Sam Clegg | 15 October 2020, 22:46:06 UTC | Some minor cleanups split out from #12461 (#12532) - Use C over C++ in test_dlfcn_longjmp since the test doesn't use C++ and it makes debugging simpler. - Add/improve a couple of assertions - Remove duplicate `var` in declaration wasmTable. | 15 October 2020, 22:46:06 UTC |
17c145c | Paul m. p. P | 15 October 2020, 22:28:24 UTC | tools/ports: supports embuilder --pic when building harfbuzz (#12491) Use the same cflags for C/C++ Final fix for emscripten-core/emsdk#479 | 15 October 2020, 22:28:24 UTC |
04e5f3d | Sam Clegg | 15 October 2020, 18:14:28 UTC | Cleanup test_zzz_emrun. NFC. (#12522) | 15 October 2020, 18:14:28 UTC |
0c8cde5 | Sam Clegg | 15 October 2020, 02:22:38 UTC | Document npm dependencies in docs/packaging.md (#12521) See #12519 | 15 October 2020, 02:22:38 UTC |
9faf0a7 | Sam Clegg | 15 October 2020, 02:11:57 UTC | emrun: Don't send response on `^exit^` message (#12523) This message means that the browser itself is closing or has already closed. Without this change the tests the rely on this all report exceptions sending the `OK` response. e.g: ``` ---------------------------------------- Exception happened during processing of request from ('127.0.0.1', 49430) Traceback (most recent call last): File "/usr/lib/python3.8/socketserver.py", line 650, in process_request_thread self.finish_request(request, client_address) File "/usr/lib/python3.8/socketserver.py", line 360, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.8/http/server.py", line 647, in __init__ super().__init__(*args, **kwargs) File "/usr/lib/python3.8/socketserver.py", line 720, in __init__ self.handle() File "/usr/lib/python3.8/http/server.py", line 427, in handle self.handle_one_request() File "/usr/lib/python3.8/http/server.py", line 415, in handle_one_request method() File "/home/sbc/dev/wasm/emscripten/emrun.py", line 703, in do_POST self.wfile.write(b'OK') File "/usr/lib/python3.8/socketserver.py", line 799, in write self._sock.sendall(b) BrokenPipeError: [Errno 32] Broken pipe ---------------------------------------- ``` | 15 October 2020, 02:11:57 UTC |
4a8833d | algestam | 14 October 2020, 19:51:05 UTC | Fix typos in packaging docs (#12524) Fixes: #12518 | 14 October 2020, 19:51:05 UTC |
f32c646 | Tibor Klajnscek | 14 October 2020, 18:01:13 UTC | Fix ABORT_ON_WASM_EXCEPTIONS wrapper function caching to work with Safari/Firefox (#12441) We used the string name of the function before, but that is different between browsers. Instead, check the actual function. | 14 October 2020, 18:01:13 UTC |
034b67c | Sam Clegg | 14 October 2020, 16:28:39 UTC | Remove unused removeFunctionWasm helper. NFC (#12507) And extract getEmptyTableSlot helper. | 14 October 2020, 16:28:39 UTC |
72cd886 | Sam Clegg | 14 October 2020, 16:02:11 UTC | Allow --argument=foo as well as --argument foo (#12512) This is useful in general but specifically for cmake which links to re-order compiler flags. | 14 October 2020, 16:02:11 UTC |
6e2c287 | Sam Clegg | 14 October 2020, 15:42:44 UTC | Bump min binaryen version (#12504) | 14 October 2020, 15:42:44 UTC |
590f224 | Sam Clegg | 13 October 2020, 22:21:25 UTC | Cleanup argument handling in emcc. NFC. (#12501) It seems to tried to improve this but never finished the job until now. - refer to the current argument as just `arg` throughout the loop - use check_arg to conditionally consume an arg - use consume_arg to unconditionally consume the next arg - move exception handling post-sets outside the main handler loop. | 13 October 2020, 22:21:25 UTC |
eb05ac6 | Alon Zakai | 13 October 2020, 21:40:30 UTC | Use env_modify in test_openjpeg (#12511) | 13 October 2020, 21:40:30 UTC |
1046cd3 | Sam Clegg | 13 October 2020, 20:21:12 UTC | Fix and reenable test_unistd_truncate_noderawfs (#12510) | 13 October 2020, 20:21:12 UTC |
a3bc227 | Alon Zakai | 13 October 2020, 18:21:32 UTC | C environ constructor cleanup (#12509) We had a redundant check there. Also improve the test to handle the case where malloc failed in the constructor. This might help debug the asan failure on the bot on this test (which does not fail locally for me). | 13 October 2020, 18:21:32 UTC |
b814fe4 | Alon Zakai | 13 October 2020, 18:21:03 UTC | ASan testing fixes (#12508) This should fix all current errors on the waterfall for asan, except for the one I can't reproduce locally (environ). | 13 October 2020, 18:21:03 UTC |
aeb549d | Sam Clegg | 13 October 2020, 15:45:16 UTC | Don't try to generate source map in single file mode. (#12505) | 13 October 2020, 15:45:16 UTC |
6e3d03d | Sam Clegg | 13 October 2020, 15:13:23 UTC | Re-enable metadce test after https://reviews.llvm.org/D89152 (#12503) | 13 October 2020, 15:13:23 UTC |
8421296 | Alon Zakai (kripken) | 13 October 2020, 13:51:51 UTC | 2.0.7 | 13 October 2020, 13:51:51 UTC |
90c8740 | Sam Clegg | 13 October 2020, 06:30:05 UTC | Use do_replace helper to replace JS placeholders (#12487) This means we won't accidentatlly end up with dead replacements if/when a placeholder is removed from the input. Also remove now-with-only-one-member FilenameReplacementStrings class in favor of just inlining the string. Also change the `{{{ }}}` template markers to signify that his is late-stage replacement unlike the with `{{{ }}}` margers | 13 October 2020, 06:30:05 UTC |
88dad4c | Sam Clegg | 13 October 2020, 03:49:09 UTC | Temporarily disable test_metadce_hello_main_module_2 (#12500) So that https://reviews.llvm.org/D89152 can roll | 13 October 2020, 03:49:09 UTC |
bd8e5b5 | Sam Clegg | 12 October 2020, 23:27:47 UTC | Set memfile in single location (#12485) This cleans up the handling the memfile a little and uses its presence to abdence to drive behaviour rather than check the various settings in multiple places. | 12 October 2020, 23:27:47 UTC |
c5fdb4d | Sam Clegg | 12 October 2020, 23:25:25 UTC | Don't allow libraries to clobber global library iterator variable (#12498) | 12 October 2020, 23:25:25 UTC |
0c6f198 | Sam Clegg | 12 October 2020, 21:48:28 UTC | Remove legacy function stubs. NFC. (#12497) | 12 October 2020, 21:48:28 UTC |
751eed6 | Sam Clegg | 12 October 2020, 21:04:24 UTC | Remove unused WASM_TEXT_FILE. NFC. (#12486) | 12 October 2020, 21:04:24 UTC |
b15af86 | algestam | 12 October 2020, 14:04:53 UTC | Fix code block in verify emscripten environment docs (#12494) | 12 October 2020, 14:04:53 UTC |
c13a3c5 | algestam | 12 October 2020, 01:32:31 UTC | Add O_NOCTTY flag to nodefs flags (#12492) | 12 October 2020, 01:32:31 UTC |
c59a1b0 | Sam Clegg | 12 October 2020, 01:28:23 UTC | Remove dead code in src/jsifier.js. NFC. (#12484) Also more cleanup on MINIMAL_RUNTIME output, including formatting of asmLibraryArg and removal of large number of empty lines due to runtime elements. Avoid including $PATH when filesystem access is not needed. | 12 October 2020, 01:28:23 UTC |
beac72f | Heejin Ahn | 11 October 2020, 23:43:24 UTC | Ensure EH does not change code after linking (#12493) We used to require Binaryen postprocessing for EH and have a `fail` requirement for it in `other.test_immutable_after_link`. I deleted the requirement in #12399, but it could have been better if I didn't just delete it but changed it to an `ok` requirement. This PR adds that. | 11 October 2020, 23:43:24 UTC |
e179b57 | Heejin Ahn | 11 October 2020, 09:51:11 UTC | Don't run binaryen postprocessing for Emscripten EH/SjLj (#12399) Now that we are renaming invoke wrappers and `emscripten_longjmp_jmpbuf` in the wasm backend, using Emscripten EH or SjLj does not need Binaryen's postprocessing. This makes Emscripten not enable Binaryen postprocessing using wasm-emscripten-finalize when we are using them, and deletes all special handling for `emscripten_longjmp_jmpbuf`, given that Emscripten will not see it. Addresses: WebAssembly/binaryen#3043 WebAssembly/binaryen#3081 Companions: https://reviews.llvm.org/D88697 WebAssembly/binaryen#3191 | 11 October 2020, 09:51:11 UTC |
a7f4f96 | Sam Clegg | 10 October 2020, 01:34:55 UTC | Formatting cleanups for MINIMAL_RUNTIME output. NFC. (#12483) Largely whitespace changes to make the output file more readable without running it through a formatter. | 10 October 2020, 01:34:55 UTC |
d909ed0 | Sam Clegg | 09 October 2020, 23:46:23 UTC | Remove unused {{GLOBAL_VARS}}. NFC. (#12482) This seems to have served a purpose in the past but isn't doing anything today AFAICT. | 09 October 2020, 23:46:23 UTC |
6c19faa | Sam Clegg | 09 October 2020, 23:45:20 UTC | Remove PREAMBLE_ADDITIONS and MODULE_ADDITIONS (#12481) It looks like support for PREAMBLE_ADDITIONS was removed in #5739 and MODULE_ADDITIONS in #5773. | 09 October 2020, 23:45:20 UTC |
3f3d300 | Sam Clegg | 09 October 2020, 20:52:13 UTC | Rebaseline codesize tests after recent llvm roll (#12479) | 09 October 2020, 20:52:13 UTC |
5e5c875 | Heejin Ahn | 09 October 2020, 07:15:57 UTC | Disable other.test_minimal_runtime_code_size on Mac (#12474) After #12464, small code size regression also happened on Mac. Not sure what the exact reason is, but this just disables it to make the autoroller work again. Failure log: https://logs.chromium.org/logs/emscripten-releases/buildbucket/cr-buildbucket.appspot.com/8866979228011064752/+/steps/Emscripten_testsuite__upstream__other_/0/stdout | 09 October 2020, 07:15:57 UTC |
3cf806d | Doug Conmy | 08 October 2020, 19:39:43 UTC | Fix timezone returning wrong values during DST (#12330) Calculate the non-DST-adjusted time properly. fixes #11572 Co-authored-by: Tristan Griffin <tristan.griffin@pnp-hcl.com> Co-authored-by: Tristan Griffin <tristangriffin@icloud.com> | 08 October 2020, 19:39:43 UTC |
ef4d1e9 | Sam Clegg | 08 October 2020, 17:47:34 UTC | Remove EM_LOG_DEMANGLE (#12470) When displaying a callstack from a wasm module names will either not appear at all or they will be populated from the wasm names section which never contains managled names. As far as I can tell mangled names no longer appear be backtraces so demanagling is no longer a useful features. | 08 October 2020, 17:47:34 UTC |
8b759fa | ShrekShao | 08 October 2020, 01:47:36 UTC | Add EMSCRIPTEN_ defines around webgl extensions (#12386) * Add EMSCRIPTEN_ defines around webgl extensions * Formatting and remove an obsolete ext * Fix * EMSCRIPTEN_ to EMSCRIPTEN_GL_ * Add R16F/RG16F to EXT_color_buffer_half_float * Fix | 08 October 2020, 01:47:36 UTC |
defac26 | Alon Zakai | 08 October 2020, 01:33:39 UTC | Show a clear compile error on pthreads+MODULARIZE without EXPORT_NAME (#12469) | 08 October 2020, 01:33:39 UTC |
4f8a0be | Sam Clegg | 08 October 2020, 00:24:34 UTC | test_core.py: remove @no_wasm decorator (#12466) See: #12335 | 08 October 2020, 00:24:34 UTC |
4153f96 | Sam Clegg | 08 October 2020, 00:02:04 UTC | Revive emscripten_log tests (#12471) | 08 October 2020, 00:02:04 UTC |
5631de2 | Sam Clegg | 07 October 2020, 21:55:52 UTC | Report import module name in metadce tests. NFC. (#12468) This is already useful to distinguish wasi imports and will be more relevant with the new PIC ABI. | 07 October 2020, 21:55:52 UTC |
113fb86 | Thomas Lively | 07 October 2020, 20:03:14 UTC | Disable other.test_minimal_runtime_code_size on Windows (#12464) Code size is slightly different on Windows for unknown reasons and the Windows autoroller is not skipping this test even though it is configured to do so. As a result, the autoroller is currently failing to roll in LLVM. We don't know why either of these issues occur, so although it would be nice to figure them out, this PR simply disables the problematic test on Windows as a workaround. | 07 October 2020, 20:03:14 UTC |
244847b | Sam Clegg | 07 October 2020, 20:02:10 UTC | Avoid linking libc++ in more tests (#12467) | 07 October 2020, 20:02:10 UTC |
e08611a | Sam Clegg | 07 October 2020, 19:08:35 UTC | Rebaseline metadce test in prep for PIC ABI refactor (#12465) | 07 October 2020, 19:08:35 UTC |
bf576fb | Sam Clegg | 07 October 2020, 18:48:51 UTC | Use C over C++ where possible in dylink tests (#12451) This avoids name mangling and generally simplifies things which is good for unit tests. | 07 October 2020, 18:48:51 UTC |
bec573b | Alon Zakai | 07 October 2020, 18:41:23 UTC | Implement SAFE_HEAP using acorn, and use it on user JS (#12450) Previously we instrumented the compiled code, and also code in JS libraries using {{{ makeGetValue }}} etc., but not arbitrary HEAP8 etc. usage in user JS code. This fixed that by adding a safeHeap pass to the acorn optimizer. This found a few issues in our JS code too, which have been fixed in recent PRs already. | 07 October 2020, 18:41:23 UTC |
2ee7da1 | Alon Zakai | 07 October 2020, 18:11:03 UTC | Implement a more efficient vecFromJSArray (#12463) This is a followup of #5519 and #5655 since they were closed. It is possible to implement emscripten::vecFromJSArray more efficiently for numeric arrays by using the optimized TypedArray.prototype.set function. The main issue with this method is that it will silently fail(or succeed) if elements of the array or not numbers, as it does not do any type checking but instead works as if it called the javascript Number() function for each element. (See ToNumber for more details) So instead of simply updating vecFromJSArray to use this new implementation and break code (since there's no typechecking anymore) I added a new convertJSArrayToNumberVector (name subject to change) and improved performance a tiny bit for vecFromJSArray by: * Taking the val parameter by const reference instead of copy * Reserving the storage of the vector | 07 October 2020, 18:11:03 UTC |
e32abfa | Sam Clegg | 07 October 2020, 16:33:32 UTC | Don't link in C++ mode by default in STRICT mode (#12452) This makes STRICT mode behave more like gcc and clang and not link in C++ mode unless run via the C++ driver. | 07 October 2020, 16:33:32 UTC |
1a7a775 | Heejin Ahn | 07 October 2020, 15:42:26 UTC | Add deps info for emscripten_longjmp (#12456) This was going to be a part of #12399, but commiting this single line first will enable rolling of the corresponding LLVM (https://reviews.llvm.org/D88697) and Binaryen (WebAssembly/binaryen#3191) patches successfully without us needing to disable any Emscripten tests or do a special rolling. | 07 October 2020, 15:42:26 UTC |
a8a104f | Sam Clegg | 07 October 2020, 15:02:16 UTC | Use metaclass to create two tests for when using @with_both_exception_handling (#12454) This allows the wasm_eh variant to be run in isolation and fail in isolation. | 07 October 2020, 15:02:16 UTC |
18e914b | Thomas Lively | 07 October 2020, 05:13:37 UTC | [runner.py] Do not silently ignore incorrect command line skips (#12453) If `skip:some.test_thing` is passed on the command line, do not silently swallow any errors that occur when trying to set it as skipped. This might help debug an issue where the Windows roller is not correctly skipping a test that it is supposed to be skipping. | 07 October 2020, 05:13:37 UTC |
25360be | Clément Grégoire | 06 October 2020, 20:49:31 UTC | Document embind array field requiring registration of std::array #4510 (#11834) #4510 Added support for raw array fields by interpreting them as a std::array. However, while mentioned in the pull request, it was not documented that you still have to register the std::array type. | 06 October 2020, 20:49:31 UTC |
4a2c7a2 | Sam Clegg | 06 October 2020, 19:44:19 UTC | Remove unused src/library_strtok_r.c. NFC. (#12449) The JS version of this used to be included in the js library but was removed in: 64300b2ea56bfe6f09f855cfd7f7f6d99ec39bfe This file itself was never actually used. | 06 October 2020, 19:44:19 UTC |
75ea338 | Alon Zakai | 06 October 2020, 19:27:35 UTC | Improve STACK_OVERFLOW_CHECK on SAFE_HEAP and when abort()ing (#12422) STACK_OVERFLOW_CHECK tests address zero, and we should not do that when ASan (already present before this PR) or SAFE_HEAP are used, as they guard that address themselves, and would error on this check. Also don't run stack checks when abort()ing as in that case the program has already quit, and any further logging is irrelevant. (these issues were noticed when properly implementing SAFE_HEAP for user JS code, which was missing) | 06 October 2020, 19:27:35 UTC |
21fb59b | Sam Clegg | 06 October 2020, 19:06:56 UTC | Remove use of set-env in github actions (#12438) See https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/ | 06 October 2020, 19:06:56 UTC |
4bb8794 | Alon Zakai | 06 October 2020, 18:51:08 UTC | Fix a merge conflict with landed pthreads testing PRs (#12447) One PR refactored the pthread_create tests, and another appended to them. To fix it, create a new test for the new mode. | 06 October 2020, 18:51:08 UTC |
b28e6c7 | Alon Zakai | 06 October 2020, 16:50:11 UTC | fix (#12435) | 06 October 2020, 16:50:11 UTC |
b34e333 | Alon Zakai | 06 October 2020, 16:49:46 UTC | Disable tests not expected to pass with SAFE_HEAP (#12436) | 06 October 2020, 16:49:46 UTC |
8bb460f | Alon Zakai | 06 October 2020, 16:49:04 UTC | Fix segfaults in some pthread_stub methods (#12434) Noticed by SAFE_HEAP. It's ok to pass a null pointer to these, and they should ignore it. | 06 October 2020, 16:49:04 UTC |
616a8e9 | Alon Zakai | 06 October 2020, 16:47:37 UTC | Document and test that PROXY_TO_PTHREAD fixes the pthread_create issue (#12431) That is, pthread_create in that mode works as expected, with the pthread being synchronously available (since the creation is proxied to the main runtime thread, which can spin the browser event loop to create the worker). Related to discussion in #11554 | 06 October 2020, 16:47:37 UTC |
e099f2a | Beuc | 06 October 2020, 16:39:52 UTC | IDBFS: don't ignore changes files if timestamp decreased (#12409) This saves a file not only if the file's timestamp was increased due to a direct change, but also when the timestamp decreased due to e.g. an in-process unzip which restored a file with an earlier timestamp. | 06 October 2020, 16:39:52 UTC |
112a096 | Carl Woffenden | 06 October 2020, 16:37:49 UTC | Don't generate a UI event if the page is unloading (#12442) Without this logs can show "Cannot read property 'clientWidth' of null" errors, which are caused by resize and other events still firing as the page is unloading. This minor change takes an early-out if document.body is null (which happens during unload). | 06 October 2020, 16:37:49 UTC |
9ce8566 | Alon Zakai | 06 October 2020, 16:29:03 UTC | Simplify windows and mac builds (#12445) They each had a single test job. Merge the build+test jobs into a single job, which is simpler (less code in the circleci config) and also faster (avoids the overhead of starting a second job, a second install of choco packages, and persisting and unpersisting data). Also remove gen_struct_info hack (as the hack actually breaks things after the simplification, not splitting it out). | 06 October 2020, 16:29:03 UTC |
6f45523 | Heejin Ahn | 06 October 2020, 15:26:14 UTC | Remove unused methods from shared.JS (#12439) These methods don't seem to be used anywhere. Can we remove them? | 06 October 2020, 15:26:14 UTC |