Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backup branch #1

Open
wants to merge 148 commits into
base: main
Choose a base branch
from
Open

Backup branch #1

wants to merge 148 commits into from

Conversation

hedwigz
Copy link
Owner

@hedwigz hedwigz commented Dec 18, 2024

No description provided.

hedwigz and others added 30 commits December 1, 2024 23:34
…m:hedwigz/emscripten into inline-javascript-sync-awaitable-promises
…ripten-core#23029)

These two options are not compatible, and `GLOBAL_BASE` is currently
just ignored in this mode.
emscripten-core#23025)

In linux, `mkdir("some_file/dir")` returns `ENOTDIR` but Emscripten
returns `EPERM`. This fixes it.
The engines that support memory64 now all also support table64.
This removes the recursion from `lookupPath` and in my opinion makes the
control flow much more explicit and comprehensible.
This is an internal function that should not have any external users.
…ore#23049)

We were incorrectly reporting non-existent parent directories as
non-writable.

This was broken in emscripten-core#22801.
sbc100 and others added 30 commits December 18, 2024 21:47
…3199)

This is an automatic change generated by
tools/maint/rebaseline_tests.py.

The following (17) test expectation files were updated by running the
tests with `--rebaseline`:

```
other/codesize/test_codesize_cxx_ctors1.gzsize: 8542 => 8539 [-3 bytes / -0.04%]
other/codesize/test_codesize_cxx_ctors1.jssize: 20925 => 20918 [-7 bytes / -0.03%]
other/codesize/test_codesize_cxx_ctors2.gzsize: 8526 => 8523 [-3 bytes / -0.04%]
other/codesize/test_codesize_cxx_ctors2.jssize: 20893 => 20886 [-7 bytes / -0.03%]
other/codesize/test_codesize_cxx_except.gzsize: 9572 => 9568 [-4 bytes / -0.04%]
other/codesize/test_codesize_cxx_except.jssize: 24770 => 24764 [-6 bytes / -0.02%]
other/codesize/test_codesize_cxx_except_wasm.gzsize: 8503 => 8500 [-3 bytes / -0.04%]
other/codesize/test_codesize_cxx_except_wasm.jssize: 20819 => 20813 [-6 bytes / -0.03%]
other/codesize/test_codesize_cxx_except_wasm_exnref.gzsize: 8503 => 8500 [-3 bytes / -0.04%]
other/codesize/test_codesize_cxx_except_wasm_exnref.jssize: 20819 => 20813 [-6 bytes / -0.03%]
other/codesize/test_codesize_cxx_lto.gzsize: 8440 => 8437 [-3 bytes / -0.04%]
other/codesize/test_codesize_cxx_lto.jssize: 20504 => 20498 [-6 bytes / -0.03%]
other/codesize/test_codesize_cxx_mangle.gzsize: 9573 => 9571 [-2 bytes / -0.02%]
other/codesize/test_codesize_cxx_mangle.jssize: 24770 => 24764 [-6 bytes / -0.02%]
other/codesize/test_codesize_cxx_noexcept.gzsize: 8542 => 8539 [-3 bytes / -0.04%]
other/codesize/test_codesize_cxx_noexcept.jssize: 20925 => 20918 [-7 bytes / -0.03%]
other/codesize/test_codesize_files_js_fs.jssize: 18832 => 18826 [-6 bytes / -0.03%]

Average change: -0.03% (-0.04% - -0.02%)
```
WebAssembly/binaryen#7153 updated Binaryen
version to 121, but bumping the version to 121 here does not pass the CI
(because Binaryen version is behind by 2), so this updates the version
to 120 for the moment.
…ds (emscripten-core#23177)

- @with_all_fs
- @also_with_nodefs
- @also_with_nodefs_both
…e#23203)

Fix the signatures of several native wasmfs exports. These are only
needed/relevant under wasm64.
This change removes the need for `runCaller` and the `calledRun` global.
Instead we simply set `dependenciesFulfilled` to `run` directly each
time to return early due to outstanding dependencies.

This also means that we don't need a reentrancy check on `doRun` since
`dependenciesFulfilled` is only set in the case where `doRun` didn't
actually run.

This both simplifies the code and saves on code size.
…ten-core#23204)

It seems like the underlying issue with the mac package has been fixes
somehow, and I was running into issues with this version of lxml not
being installable on python 3.12 (which is in ubuntu-latest on github
CI).

See emscripten-core#19785
This is an automatic change generated by tools/maint/rebaseline_tests.py.

The following (2) test expectation files were updated by
running the tests with `--rebaseline`:

```
browser/test_small_js_flags.js.size: 4327 => 4297 [-30 bytes / -0.69%]
other/test_INCOMING_MODULE_JS_API.js.size: 3758 => 3710 [-48 bytes / -1.28%]

Average change: -0.99% (-1.28% - -0.69%)
```
This test will fail if the expectations are out-of-date on the main
branch. This can happen due to either:

1. Somebody forgetting to update the expectations when they land an
emscripten change
2. llvm or binaryen changes that rolled in on the auto-roller.

For now I propose that we don't make this new check "Required" and we
consider this the first step towards making these updates easy and
automatic.

I made this a github action rather than using CiricleCI since I
anticipate using github automation here in the future (for example to
suggest updates the current PR).
Firstly the bug has a been fixed. Secondly, the warning is no longer
up-to-date with the code and it looks like someone would have to do
`-sEXPORT_NAME=moduleArg` to hit this name collision now.. which seems
more than unlikely.
WebAssembly/binaryen#7153 updated Binaryen
version to 121, and we updated it in Emscripten to 120 to make the CI
pass (emscripten-core#23197). Now that
https://chromium-review.googlesource.com/c/emscripten-releases/+/6103023
has landed, I think we can update it to 121.
Before this change `mkdir("a/b/..")` surprisingly makes a directory
called `a/b/a`. It should raise EEXIST.
I don't think there any any other codesize tests that cover this.
…m:hedwigz/emscripten into inline-javascript-sync-awaitable-promises
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.