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

Add support for mutable globals and sign extension instructions #386

Closed
1 task
abizjak opened this issue Jun 7, 2023 · 1 comment · Fixed by #400 or Concordium/concordium-node#917
Closed
1 task
Labels
[Type] Task An additional feature or improvement.

Comments

@abizjak
Copy link
Contributor

abizjak commented Jun 7, 2023

Task description

In Rust 1.70 the default code generation (that is not possible to override) has changed so that the emitted code can contain sign extension instructions not present in the MVP version.

See https://releases.rs/docs/1.70.0/#compatibility-notes for the changelog.

Since these instructions are a conservative extension we should support them since that is the simplest way forward to ensure compatibility with newer Rust versions, but this requires a protocol update.

See also rust-lang/rust#109807 for a tracking issue on why the behaviour cannot be disabled.

Followup tasks:

  • Once this task is completed and the node is released with the new protocol version we must remove the mentions of Rust 1.69 from the documentation.
@abizjak abizjak added the [Type] Task An additional feature or improvement. label Jun 7, 2023
@abizjak abizjak changed the title Add support for mutable globals and sign extension operations Add support for mutable globals and sign extension instructions Jun 7, 2023
@abizjak
Copy link
Contributor Author

abizjak commented Jun 22, 2023

It appears we already support mutable globals since they are part of the V1 Wasm spec.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Type] Task An additional feature or improvement.
Projects
None yet
1 participant