https://github.com/kripken/emscripten

sort by:
Revision Author Date Message Commit Date
e4d5e60 Limit the use of EXPORT_NAME to when MODULARIZE is set EXPORT_NAME doesn't make any sense without MODULARIZE. 16 January 2023, 06:39:39 UTC
fa1abe4 Minor cleanups to generated JS output. NFC (#18493) This makes the un-minified output JS a little more readable. - Use `<<<` `>>>` substitutions rather than comments where it makes sense. This seems to be the style we use for late-substitutions and avoiding comments means we get syntax error if we ever fail to perform the substitution for some reason. - Remove some extra newlines/whitespace. - Always (and onlye) define memoryInitializer when !MEM_INIT_IN_WASM which simplifies the code a little. - Update handling of incoming `INITIAL_MEMORY`. In the non imported case, when assertions are not defined we no longer define this variable at all. 15 January 2023, 16:34:36 UTC
d46b424 Simplify JS preprocessor so it always takes a filename. NFC (#18522) I noticed this nice simplification while working on #18520 14 January 2023, 19:11:38 UTC
cfc4540 Rebaseline codesize expectation. NFC 14 January 2023, 19:09:55 UTC
6946379 Minor refactor of jsifier.js. NFC (#18520) Use a helper function to read and preprocess and write files. This also allows us to print start and end comments for each file we include, which makes it easier to understand the debug output file. This change does use this helper for files that were previously not preprocessed but since those file don't currently have in macros this should a be a no-op and it opens up the possibility of using macros in them later on. 14 January 2023, 17:36:51 UTC
a00a69d Fix deadlock in test_pthread_dlopen_many (#18518) Avoid locking the DSO list during dlsync. Instead only lock during dlopen (when adding new DSEs to the list). This avoid problems where static constructors were run during dlopen but other threads were blocked on dlsync while holding other locks (such as the malloc lock or the stdout lock). 14 January 2023, 03:13:58 UTC
e6cdb66 Fix possible race when reading sanity file (#18512) I noticed this error a few times on the bots: ``` with open(file_path, encoding='utf-8') as fh: FileNotFoundError: [Errno 2] No such file or directory: '/home/circleci/cache/sanity.txt ``` 13 January 2023, 23:40:26 UTC
63ab425 Move getNativeTypeSize and POINTER_SIZE to JS library (#18515) 13 January 2023, 22:18:26 UTC
4ce080a Remove unneeded `to_nice_ident` helper. NFC (#18516) I'm not sure when or why the wasm imported needed to be cleaned up link this in the past but it looks like make a fastcomp thing. wasm-ld won't generated imports with these types of names under any circumstances that I know of. And even if it did I think mangling them like this would just make things more confusing and broken. 13 January 2023, 20:51:28 UTC
f743ad3 Remove STACK_ALIGN global by default (#18513) 13 January 2023, 20:47:37 UTC
d13d22c Skip other.test_itimer_proxy_to_pthread on Mac (#18511) The test is sensitive to timing and the Mac autoroller CI has too much contention to pass it reliably. 13 January 2023, 19:02:26 UTC
eff424e Fix alignof in ioctl.c to not use UB (#18510) Defining types inside offsetof expressions is explicitly made UB in C2x and is now rejected by clang. Use _Alignof instead since it is available in the version of C we use to compile our libc. 13 January 2023, 19:01:08 UTC
f3bd3c1 Inline support.js now that it contains basically no code (#18509) I went with preamble.js to include this as that is where MINIMAL_RUNTIME includes `runtime_debug.js` from. 13 January 2023, 18:41:25 UTC
35bcd07 Revert "Missing debug assert from #18503" This reverts commit 2c41051cbe015a73038f2466a0c3642eb684bdc3. 13 January 2023, 16:00:16 UTC
2c41051 Missing debug assert from #18503 13 January 2023, 01:42:24 UTC
0baac52 Remove `STACK_SIZE` JavaScript global by default (#18503) 13 January 2023, 01:39:20 UTC
4b1e2ea Fix undefined EM_JS symbol with dynamic linking (#18502) There are two issues that need fixing to actually fix #18494. This only fixes one of them. 12 January 2023, 23:59:36 UTC
e1ac185 Rebaseline codesize expectation. NFC 12 January 2023, 22:32:47 UTC
aef3f83 Remove custom `alarm` impl in favor of lower level itimer syscalls (#18416) These alarms/signals will now fire when waiting on a lock (i.e. they don't depend on the event loops running). Fixes: #12415 12 January 2023, 19:45:26 UTC
087b0ec Add support for clearenv C library function (#18492) Fixes: #18489 12 January 2023, 19:07:55 UTC
888f452 Fix deadloack in dlopen. NFC (#18487) When within dlopen itself we hold an exclusive lock so we need to disable the automatic code synchronization during that time. Split out from #18376 12 January 2023, 16:49:11 UTC
207848f Convert `environ` tests to modern test style. NFC (#18490) 12 January 2023, 15:02:28 UTC
8fc4ea5 [Docs] Add links to scripts in tools/maint/ (#18496) This adds separate entries to Emscripten's `tools/maint/create_release.py` and Emsdk's `scripts/create_release.py` and add a link to the Emscripten one. This also adds a link to `tools/maint/update_docs.py`. 12 January 2023, 04:49:26 UTC
b7cfd30 Mark 3.1.30 as released (#18495) 12 January 2023, 01:03:06 UTC
cfe2bdf Cleanup some test code in test_core.py. NFC (#18486) 10 January 2023, 23:50:01 UTC
8f72e81 Fix `Fetch` initialisation under Node (#18329) Simplify run-dependency management in Fetch startup, avoiding a previous error in node. Node calls onerror immediately there, so we need to have called addRunDependency before or else we end up calling removeRunDependency before it. 10 January 2023, 22:37:40 UTC
42a2de7 Fix typo in exception handling in get_clang_targets. NFC (#18485) Split out from #18207 10 January 2023, 10:48:57 UTC
0e09559 Allow wasm-eh tests to run on latest node version (#18483) 10 January 2023, 10:37:26 UTC
53568c0 Ensure compatibility with Safari for multi-environment ES6 builds (#18482) Use a different parameter name to prevent the variable from being incorrectly hoisted in JavaScriptCore-based engines (such as Safari). See: https://bugs.webkit.org/show_bug.cgi?id=223533. Regressed for multi-environment ES6 builds since commit ce4c405 (Emscripten 3.1.27). `-sENVIRONMENT=web` is not affected, as that would avoid the emit of this async function altogether. Resolves: #18357. 09 January 2023, 22:04:11 UTC
1d45c23 Set pthread stack size when `-sSTACK_SIZE` is set (#18479) This was always my intention with #18191 but somehow it got left out. I think it makes sense that user to override `STACK_SIZE` also, by default, override the pthread stack size. Such users can always explicitly set the pthread stack size if they don't want this behaviour. See #18472 09 January 2023, 18:24:39 UTC
b595830 Simplify debugging in dynlink.c using macro. NFC (#18480) 09 January 2023, 16:54:55 UTC
785bdd9 Don't rebuilt the cache every time the config file changes. NFC (#18462) This effectively reverts #11196. It turns out this caused a lot of unnecessary rebuilding for developers without much real benefit. If we include the config hash then ever time the config file is edited (for example, to add or remove something from WASM_ENGINES or JS_ENGINES, which are only used during testing) all the libraries would then get needlessly rebuilt. Since the sanity file already includes the emscripten version and llvm version that should catch most of he cases where the libraries really do require a rebuild. Changes to the specific llvm or emscripten GIT revision do not cause the cache to get re-built even if we do include the config file hash so it isn't really providing any usefull benefit. 06 January 2023, 16:40:26 UTC
0d7014e Remove legacy/unused Atomics aliases. NFC (#18421) 05 January 2023, 23:04:04 UTC
72f5fb1 Remove undeeded `buffer` global (#18454) If this is needed it can always be found via HEAPXX, or wasmMemory. Also, introduce a new debug helper called `missingGlobal` which allows use to remove builtin global symbols while notifying any folks that are depending on them. 05 January 2023, 19:00:59 UTC
78f0715 CI: Add title information when running tests. NFC (#18467) 05 January 2023, 17:16:57 UTC
de13451 Fix JS optimizer error on ES6 spread operator (#18461) fixes #12543 05 January 2023, 01:21:22 UTC
a6e8d85 Minor simplification in runtime_init_memory.js. NFC (#18452) As a side effect this also fixes the same issue as #17842. 04 January 2023, 23:50:51 UTC
90b6030 Update MINIMUM_NODE_VERSION to 10.19.0 and add testing (#18465) 04 January 2023, 18:23:04 UTC
529ad2c Warn when min browser versions are not compatible (#18439) This caused the test_signext_lowering test to having to be re-written in a different way since it was depending on simultaneously settings WASM_BIGINT and targeting older browser versions (which is now a warning). See #18437 04 January 2023, 18:05:46 UTC
bcdf555 testing: apply v8 --wasm-staging flag centrally (#18466) 04 January 2023, 16:57:25 UTC
eb6c593 Fix typo in test_em_js.cpp (#18458) 04 January 2023, 16:44:50 UTC
954971d Enable wasm64 tests to run under latest version of node (#18075) Now that we have a way to test in CI use a recent version of node we can define `required_wasm64` predicate that requires with d8 or a node >= 16. 04 January 2023, 13:23:04 UTC
a98b30b Fix test_source_map when run with latest node version (#18457) Updating to the latest version of the source-map npm package fixed it. 04 January 2023, 10:11:51 UTC
b7dfb58 Remove references to `tempDoublePtr` JS var. NFC (#18432) This global var was always (AFAICT) a fastcomp-only thing. It was removed several years ago when fastcomp was removed. See #11885. This change removes two helper functions (which have clearly been unused for years since using them would generate an undefined reference to `tempDoublePtr` 04 January 2023, 00:00:57 UTC
6e96bc3 test: remove redundant use of `Path`. NFC (#18460) 03 January 2023, 20:28:39 UTC
d75c1d6 Don't default to SDLv1 for un-versioned SDL includes (#18443) With SDL you can choose to either include the header files via the explictly version prefix (e.g. `<SDL/SDL_audio.h>` or `<SDL2/SDL_audio.h>`. Or some folks configure the include path such that the unversioned includes can be used (`#include <SDL_audio.h>`). Emscripten allows the unversioned form by putting the `SDL` or `SDL2` directory on the include path based on the USE_SDL settings, but the fact that were defaulting to enabling version 1 was causing some issues (See #18072 and #184402 for more details). After this change we default to not adding either of these include paths. This means that folks who want to use un-versioned includes will now need to opt into one version of the other via `-sUSE_SDL`. Note that folks using the explict `<SDL/SDL_audio.h>` includes are not effected by this (that will always result in an SDL v1 header being included). In order to make it more obvious that use of `<SDL_audio.h>` now requires an opt in, I created dummy headers that should give effected users and clear error message. We've already been doing this in STRICT module for a while now. Fixes: #18072, #18440 03 January 2023, 20:00:14 UTC
53a219a Mark 3.1.29 as released (#18459) 03 January 2023, 18:36:30 UTC
e448765 Parameterize more browser tests. NFC (#18448) 03 January 2023, 18:32:24 UTC
7588d8a Update comments in settings.js. NFC (#18427) 03 January 2023, 18:21:13 UTC
4526a8d Remove long-unused third argument to calcFastOffset. NFC (#18434) Also remove extra casts for the argument values that are no longer needed (perhaps never were). 03 January 2023, 18:20:54 UTC
43976ad [CMake/FindOpenAL] Added the OpenAL_FOUND variable (#18456) - It is the standard variable name to be expected from a find_package() call 03 January 2023, 14:08:14 UTC
6840514 Rebaseline codesize expectation. NFC 01 January 2023, 12:14:55 UTC
de4d83e Update the version of node we use to install jsvu/v8 (#18449) See https://github.com/GoogleChromeLabs/jsvu/commit/28ab560ff8a49e53f927811c7f49f5545c4f0e1d#r94690556 31 December 2022, 17:46:39 UTC
ad99d3e install.py: Only call `git` on a Git repository (#18441) 30 December 2022, 23:04:39 UTC
4307484 Restore previous behaviour of not mangling EM_JS functions (#18438) As part of #18391 (as yet unreleased) I changed the behaviour of EM_JS functions such that they were underscore mangled like native functions. However this change in naming can break existing code and is not needed for the fix after all. 29 December 2022, 11:24:16 UTC
bfabc4e Only use futex_wait_busy on the main browser thread (#18402) When I ported this code from JS back in #15742 I mistakenly changed the semantics here. This change restores the previous behaviour of using atomic.wait except in on the main browser thread. The `futex_wait_busy` can clearly only be used a single main thread and is not appropriate for using in cases where there are other threads in the system that also don't support `atomic.wait` (such as IIUC audio worklets). To support that case we would need a different busy wait function that didn't depend on some global singleton like _emscripten_main_thread_futex. 26 December 2022, 10:58:06 UTC
c0cf59f CI: Fix path to v8 after jsvu change (#18428) See https://github.com/GoogleChromeLabs/jsvu/pull/123 25 December 2022, 12:21:11 UTC
3defc1a Reorder the browser tests in Chrome (#18426) Results are uploaded after this step, and only the last results are uploaded because earlier ones are overwritten (this also seems to be the case when specifying multiple tests com the test/runner command line). It didn't seem worthwhile to add multiple test and upload steps because there are only a few tests in emrun and posixtest.browser currently. 22 December 2022, 23:42:24 UTC
6cc88d9 Fixing (p)read/writev offsets when iovcnt > 1. (#18415) doReadv and doWritev were not incrementing the offsets when looping over the iovecs. This was causing the read/writes to stomp over the first in the array. Checking for offset being undefined so that this still works when reading/writing to an unseekable file (e.g. /dev/random). 22 December 2022, 19:36:48 UTC
0c97aac Simplify `dynamicLibraries` + `-pthread` testcase. NFC (#18423) 22 December 2022, 19:27:23 UTC
8990599 Remove threads-related flags from Chrome command line (#18424) They have been unnecessary for a while, and have recently been removed from Chrome. Also use the --enable-experimental-webassembly-features flag, which enables wasm features which have been staged but not flipped on by default yet. 22 December 2022, 19:12:31 UTC
9054d30 [Docs] Add info on exception debugging (#18417) - Adds info about how to enable stack traces for uncaught exceptions - Adds a link to "Handling C++ exceptions from JavaScript" page - A few cosmetic fixes 22 December 2022, 19:00:04 UTC
057bc55 Inline temporary variables in `jsifier.js`. NFC (#18422) 22 December 2022, 15:31:22 UTC
7a86519 Simplify preamble preprocessing logic. NFC (#18420) Just include `support.js` in `shell.js`, ensures we can simplify this if-condition. 22 December 2022, 14:04:15 UTC
798dbf0 Remove unused `lineOffset` parameter. NFC (#18399) No longer needed after commit 0cf25acbe693df3b1f676581449551d610aff1cf. 22 December 2022, 13:58:32 UTC
8f7983a Combine preprocessor checks. NFC (#18419) 22 December 2022, 12:52:25 UTC
0cf25ac Remove redundant `{{BODY}}` mark logic. NFC (#18398) The shell file was split on this. Everything before this mark was emitted before `preamble{,_minimal}.js`, and everything after this mark was emitted after `postamble{,_minimal}.js`. However, this whole logic is considered redundant, since there is no code after this marker (in both `shell.js` and `shell_minimal.js`). 22 December 2022, 12:35:53 UTC
e504319 embind: remove unused typedef (#18407) 21 December 2022, 20:05:34 UTC
6faa30e Rebaseline codesize expectation. NFC 21 December 2022, 16:29:15 UTC
3b22497 webgpu: Fix handling of WGPU_WHOLE_SIZE and large u64s (#18142) Most cases that need to combine two 32-bit words into one u64 get two i32s, because that's what the WASM->JS calling convention gives us. But one place, in the handling of WGPUBindGroupEntry, was explicitly loading two u32s from memory, which would give us 0xFFFFFFFF instead of -1. Fixing this fixes the handling of WGPU_WHOLE_SIZE. Since that's fixed, also cherry-picked a change into webgpu_cpp.h that makes that the default for wgpu::BindGroupEntry, as it should be. Additionally, the logic which converted two i32s into a u64 was written for two u32s, so it was broken for any number over 0x00000000_FFFFFFFF. This is fixed by converting the i32s into u32s (using >>> 0) first. Finally, the names are improved so that errors would have been more apparent. 20 December 2022, 10:43:24 UTC
c551e67 Use `exist_ok` argument to os.makedirs. NFC (#18389) 19 December 2022, 21:36:58 UTC
e030a35 Disable the flakey test_pthread_create_standalone (#18406) 19 December 2022, 20:42:06 UTC
6988f7a [Proxying] Pass a result to the callback (#18404) Allow the function proxied by `emscripten_proxy_async_with_callback` to return a `void*` result that will be passed as an argument to the callback. Previously this could be accomplished by allocating space for the result value on the context argument passed to the proxied function and the callback, but providing the ability to pass the value directly in the API is more convenient and can save a separate allocation. Fixes #18378. 19 December 2022, 19:38:15 UTC
00cd741 Enable test_pthread_proxying_cpp on wasm2js (#18360) It had previously been disabled because of flakes on wasm2js, but those flakes are probably fixed by #18358. 19 December 2022, 19:34:30 UTC
1f0e614 Import xmlrunner only when needed (#18403) 19 December 2022, 16:37:54 UTC
7fa7520 Ensure settings, and in particular serialized settings are stable. NFC (#18394) I noticed that the symbol list cache was changing each time I linked with side modules because the ordering symbols in some of the settings was not stable. 18 December 2022, 19:59:02 UTC
7f1e4e2 Extend autoconf condition with 'conftest.cpp' (#18395) Without this change emcc calls `make_js_executable` during 'configure' and em++ does not, that makes C++ checks to fail, for example in ICU build. 17 December 2022, 21:47:35 UTC
a742129 Allow taking address of EM_JS functions with dynamic linking (#18391) Fixes: #18370 17 December 2022, 20:31:29 UTC
f694b50 Remove stray line from #18392 17 December 2022, 03:19:31 UTC
bb265ce Add API for creating promises based on native wasm functions (#18392) This API allows JS promises to be created with a unique integer handle and a native function pointer workload. The native code can than later resolve or reject the promise using `emscripten_promise_resolve` or `emscripten_promise_reject`. This change uses the handle allocator from library_wasmfs_opfs.js and moves it into generic code. 17 December 2022, 00:14:47 UTC
0f04806 [Wasm64] Fix emscripten_set_timeout and friends (#18393) Timeout IDs are all numbers and not bigint so we should use `int` to represent them in C and `i` to represent in signatures. Testing this stuff is tricky right now because we use an older version node in our CI tests and functions like clearTimeout and setInterval are not available under d8. Split out from #18392 17 December 2022, 00:07:50 UTC
c8abe48 [Docs] Add documentation for Module.mainScriptUrlOrBlob (#18371) 16 December 2022, 22:27:02 UTC
e1c2b59 Generate XML test results from unittests and upload test results to CircleCI (#18375) Use xmlrunner instead of unittest.TextTestRunner when in the CI environment. 16 December 2022, 19:07:48 UTC
baaa3a2 Enable two asyncify tests with JSPI. (#18385) These are already passing. 16 December 2022, 16:46:54 UTC
0933506 Factor out `handleAllocator` in library_wasmfs_opfs.js. NFC (#18386) 15 December 2022, 22:59:30 UTC
415392f Comment formatting that should have been part of #18384 15 December 2022, 20:31:15 UTC
a992932 Use locateFile in the dynamic module loader (#18382) With this change, in `loadLibData` the path to `libFile` is passed through `locateFile` before attempting to download the data from an external source. Fixes #14502 15 December 2022, 20:00:09 UTC
aab32ef Fix references to _emscripten_main_thread_futex in comments. NFC (#18384) 15 December 2022, 19:27:08 UTC
c0c97c6 Only define `maybeExit` helper if EXIT_RUNTIME is set. NFC (#18374) Previously it was being defined but with an empty body. This change make it more obvious to the reader that this function exists only when EXIT_RUNTIME is set. 15 December 2022, 00:48:20 UTC
8944037 Use emscripten_err for logging in dynlink.c. NFC (#18377) This is more direct that using stderr/stdout and (under node) it doesn't involve any proxying to them main thread. 15 December 2022, 00:36:32 UTC
82c9cd7 Don't implicitly exit the main thread in PROXY_TO_PTHREAD mode (#18372) maybeExit should never exit when its run from the main thread in PROXY_TO_PTHREAD mode. In this mode we always wait for the proxied main thread to signal the exit of the program. Without this change the last three lines of the test output are never printed because the whole program exits after running the callback. 14 December 2022, 22:55:27 UTC
25bbb0a More minor optimization to `compiler.js --symbols-only`. NFC (#18367) In this mode, output only native C symbols, and in the unmangled form that the linker expects. This means we can avoiding filtering them and demangling them when they arrive in python. 14 December 2022, 20:23:54 UTC
8b867df Rebaseline codesize expectation. NFC 14 December 2022, 18:59:00 UTC
fa10d78 Add -Wall when building system libraries. NFC (#18368) For libc I did have to turn off a bunch more warnings, but I think this is still worth it. 14 December 2022, 02:41:05 UTC
efc18ae Add sig for emscripten_get_canvas_element_size (#18352) 13 December 2022, 23:27:53 UTC
6b71809 Separate dlopen_async callback data from dso struct. NFC (#18361) Using fields embedded in the DSO struct (which is shared between threads) is not thread safe. This is needed as part of my fix for #18345 13 December 2022, 21:49:25 UTC
2b58001 Rebasline codesize changes after llvm change. NFC (#18365) This change seems to have an effect on code size, some positive, some negative: https://reviews.llvm.org/D139275. 13 December 2022, 20:12:30 UTC
06883a4 [Proxying] Abort if a callback cannot be scheduled (#18363) The only way a callback can fail to be scheduled is on OOM, and at the point where it is scheduled there is no way to gracefully report an error. Since programs may hang or otherwise behave arbitrarily poorly if the callback is not run, eagerly abort the program in this case instead. 13 December 2022, 19:07:34 UTC
d2d5897 Rebaseline codesize expectation. NFC 13 December 2022, 19:00:09 UTC
431d000 Rebaseline codesize expectation. NFC 13 December 2022, 18:52:03 UTC
back to top