-
Notifications
You must be signed in to change notification settings - Fork 15
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
Support for memory64
#284
Support for memory64
#284
Conversation
ba9b99d
to
05d51cc
Compare
a022c46
to
c7bcfbd
Compare
Support for the WebAssembly `memory64` proposal is done by properly configuring wasmtime, and adapting the validation of the contracts accordingly. Imports also have to be adapted - in the sense that versions that take pointers as arguments have to now take 64-bit pointers, as opposed to 32-bit. Resolves #281
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Very happy these issues are resolved.
One thing I'd like to be added is a little documentation on that Piecrust can handle both wasm32 and wasm64 contracts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One question about the essentially doubled modules imports::wasm32
and imports::wasm64
but for the rest very nice!
I added some docs to the crate docs and the |
This PR leverages the new Dusk compiler and the forked
wasmtime
crate to supportmemory64
and increase the maximum size of the data managed by a contract to 4TiB.Resolves #159 #280 #281