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

Updating default features to include WASM_BIGINT, bulk-memory, and nontrapping-fptoint #23184

Open
dschuff opened this issue Dec 16, 2024 · 0 comments

Comments

@dschuff
Copy link
Member

dschuff commented Dec 16, 2024

We will shortly update emscripten to enable these features by default, raising the default browser versions (i.e. settings.MIN_CHROME_VERSION etc) to Safari 15.0, Chrome 85, Firefox 79, and Node 16. (The only default that will
actually change is Safari, from 14.1 to 15).

In order to try to minimize the number of things happening simultaneously, I plan to land each of #22993, #22873, and #23007 separately. Before all of them are landed, I plan to not adjust the defaults for MIN_SAFARI_VERSION but instead reduce the version required for each feature separately (e.g. the bulk memory PR will reduce the Safari version for bulk memory from 15 to 14.1 rather than raising the system-wide default from 14.1 to 15). This will have the effect that each feature will still be controlled by the feature_matrix code but will be enabled separately. Then once all 3 are enabled together and stable, I'll raise the default and fix the individual features so that manually setting MIN_SAFARI_VERSION will have the correct effect. I plan not to make any releases while we are in this state.

dschuff added a commit that referenced this issue Jan 6, 2025
* Remove libbulkmemory `_emscripten_memcpy_js` and fold memcpy and
memset into libc
* Use bulk memcpy/memset for Oz builds, but keep ASan behavior the same.
* Move the zero-length check in memcpy from C into assembly, and add one
for memset
* Remove the use of `-mno-bulk-memory` at compile time (enabling it in
object files)
* Temporarily set the Safari version required to use bulk memory to a
14.1 (which has the effect of enabling it by default without enabling
the other 14.1 features by default). This will be reverted when
nontrapping-fptoint and bigint are also enabled by default.

See #23184
dschuff added a commit to dschuff/emscripten that referenced this issue Jan 6, 2025
Update the default MIN_SAFARI_VERSION from 14.1 to 15.0.
Also fix the feature matrix code to be correct again as described in emscripten-core#23184
dschuff added a commit that referenced this issue Jan 7, 2025
Update the default MIN_SAFARI_VERSION from 14.1 to 15.0.
Also fix the feature matrix code to be correct again as described in
#23184
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

No branches or pull requests

1 participant