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

Upgrade wasm-opt to 0.111.0 #888

Merged
merged 1 commit into from
Jan 5, 2023
Merged

Upgrade wasm-opt to 0.111.0 #888

merged 1 commit into from
Jan 5, 2023

Conversation

brson
Copy link
Contributor

@brson brson commented Jan 1, 2023

This upgrades binaryen to version 111.

Binaryen (and wasm-opt) now enables the SignExt and MutableGlobals features by default, which are also enabled in the LLVM backend. In the future Binaryen will align its default feature selection with the LLVM backend.

This is probably is ok for cargo-contract - I assume, but don't know, that the substrate wasm vm allows these two common features.

This also points to potential future optimizations by explicitly turning on more features that the substrate vm supports, but aren't being enabled in wasm-opt.

The changelog for 0.111.0.

I see that the cargo-contract current version is a beta. If a major release is impending, it might be prudent to delay merging this.

@ascjones ascjones merged commit 06f2c4c into use-ink:master Jan 5, 2023
@Robbepop
Copy link
Contributor

Robbepop commented Jan 5, 2023

SignExt and MutableGlobals Wasm proposals are supported by the newer wasmi versions but need to be enabled by pallet-contracts.

The pallet-contracts needs to be updated though to enable those features for wasmi.
Also SignExt introduces a few new instructions that need to be registered in the gas cost model.

@ascjones
Copy link
Collaborator

ascjones commented Jan 5, 2023

Apologies @brson, I was a bit trigger happy merging this and failed to read your description properly. However I did look at the release notes which mention mvp_features_only. So rather than just revert to 110 I have added that #891. What do you think?

@brson
Copy link
Contributor Author

brson commented Jan 5, 2023

@ascjones I asked the binaryen developers about this and they said that mvp_features_only should behave the same way wrt features as binaryen 110, and that looks to be true to me. I think it should accomplish what you want.

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.

3 participants