-
Notifications
You must be signed in to change notification settings - Fork 16
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
Upstreaming fns from walrus_ops
to walrus
#20
Comments
@vados-cosmonic thanks for looking into it. I'm open to upstreaming methods that make sense into Walrus, although we need to be careful to ensure they are as well-defined as possible. That might be a little tricky since the stack bumping technique is based on a lot of assumptions about the shape of the Wasm binary, and to formalize it requires formalizing those assumptions as well. That is, I don't think this is something that can just be copying and pasting the code unfortunately. So not to say no, but to say we need to have some clear guidelines for the process. |
Hey thanks for the feedback, this makes sense... So I'll have to be really careful about what's worth even trying to take (if we can find anything that works at all). How do you feel about the following, they seem somewhat general:
Basically I've included everything but the bumping stuff... But if we know that the bumping work for core modules, preview1 and preview2 (?) then maybe it's fine to just check for only those cases and reject all other cases to be overly cautious? Really feeling like a |
This is a really good list, thanks for thinking about what makes the most general sense here.
Then I wonder if we could replace both Having both |
WASI-virt contains functions that are helpful for manipulating modules and dealing with exports/imports, which would be helpful to an even wider group if upstreamed here to walrus. This commit copies and upstreams some operations that were introduced in WASI-virt for wider use via walrus. See also: bytecodealliance/WASI-Virt#20 Signed-off-by: Victor Adossi <[email protected]>
WASI-virt contains functions that are helpful for manipulating modules and dealing with exports/imports, which would be helpful to an even wider group if upstreamed here to walrus. This commit copies and upstreams some operations that were introduced in WASI-virt for wider use via walrus. See also: bytecodealliance/WASI-Virt#20 Signed-off-by: Victor Adossi <[email protected]>
Hey @guybedford I've got a little draft PR up if you'd like to take a look -- rustwasm/walrus#248 . Mostly what I'm wondering about is how we can differentiate in the more general functions between imports and exports... I'd like to use/overload |
WASI-virt contains functions that are helpful for manipulating modules and dealing with exports/imports, which would be helpful to an even wider group if upstreamed here to walrus. This commit copies and upstreams some operations that were introduced in WASI-virt for wider use via walrus. See also: bytecodealliance/WASI-Virt#20 Signed-off-by: Victor Adossi <[email protected]>
WASI-virt contains functions that are helpful for manipulating modules and dealing with exports/imports, which would be helpful to an even wider group if upstreamed here to walrus. This commit copies and upstreams some operations that were introduced in WASI-virt for wider use via walrus. See also: bytecodealliance/WASI-Virt#20 Signed-off-by: Victor Adossi <[email protected]>
WASI-virt contains functions that are helpful for manipulating modules and dealing with exports/imports, which would be helpful to an even wider group if upstreamed here to walrus. This commit copies and upstreams some operations that were introduced in WASI-virt for wider use via walrus. See also: bytecodealliance/WASI-Virt#20 Signed-off-by: Victor Adossi <[email protected]>
WASI-virt contains functions that are helpful for manipulating modules and dealing with exports/imports, which would be helpful to an even wider group if upstreamed here to walrus. This commit copies and upstreams some operations that were introduced in WASI-virt for wider use via walrus. See also: bytecodealliance/WASI-Virt#20 Signed-off-by: Victor Adossi <[email protected]>
WASI-virt contains functions that are helpful for manipulating modules and dealing with exports/imports, which would be helpful to an even wider group if upstreamed here to walrus. This commit copies and upstreams some operations that were introduced in WASI-virt for wider use via walrus. See also: bytecodealliance/WASI-Virt#20 Signed-off-by: Victor Adossi <[email protected]>
* feat: upstream ops from WASI-virt WASI-virt contains functions that are helpful for manipulating modules and dealing with exports/imports, which would be helpful to an even wider group if upstreamed here to walrus. This commit copies and upstreams some operations that were introduced in WASI-virt for wider use via walrus. See also: bytecodealliance/WASI-Virt#20 Signed-off-by: Victor Adossi <[email protected]> * fix(tests): update WAT used in tests The excellent pre-existing test suite contains a lot of WAT files as test-cases that seem to have older syntax in them. The breakage is introduced because the current test suite runs stable, latest and nightly versions of Rust while conducting tests. While the rest of the Wasm toolchain (binaryen, wabt, etc) are hard-coded to versions that should stay compatible with the WAT as they were written, the upstreaming of various changes to Rust itself seems to be causing failures when using the existing WAT for tests. This PR updates the WAT (mostly operation renaming) that have changed in order to get tests running again. Signed-off-by: Victor Adossi <[email protected]> --------- Signed-off-by: Victor Adossi <[email protected]>
After the work done upstreaming operations used in `src/walrus_ops.rs` to walrus, the code for WASI-Virt can be updated to use the new APIs and reduce custom code. This commit updates the WASI-Virt codebase to use the upstreamed functions and adds some light refactors to the more mechanical pieces of code for stubbing/denying/stripping. see: bytecodealliance#20 Signed-off-by: Victor Adossi <[email protected]>
After the work done upstreaming operations used in `src/walrus_ops.rs` to walrus, the code for WASI-Virt can be updated to use the new APIs and reduce custom code. This commit updates the WASI-Virt codebase to use the upstreamed functions and adds some light refactors to the more mechanical pieces of code for stubbing/denying/stripping. see: bytecodealliance#20 Signed-off-by: Victor Adossi <[email protected]>
After the work done upstreaming operations used in `src/walrus_ops.rs` to walrus, the code for WASI-Virt can be updated to use the new APIs and reduce custom code. This commit updates the WASI-Virt codebase to use the upstreamed functions and adds some light refactors to the more mechanical pieces of code for stubbing/denying/stripping. see: bytecodealliance#20 Signed-off-by: Victor Adossi <[email protected]>
After the work done upstreaming operations used in `src/walrus_ops.rs` to walrus, the code for WASI-Virt can be updated to use the new APIs and reduce custom code. This commit updates the WASI-Virt codebase to use the upstreamed functions and adds some light refactors to the more mechanical pieces of code for stubbing/denying/stripping. see: bytecodealliance#20 Signed-off-by: Victor Adossi <[email protected]>
After the work done upstreaming operations used in `src/walrus_ops.rs` to walrus, the code for WASI-Virt can be updated to use the new APIs and reduce custom code. This commit updates the WASI-Virt codebase to use the upstreamed functions and adds some light refactors to the more mechanical pieces of code for stubbing/denying/stripping. see: bytecodealliance#20 Signed-off-by: Victor Adossi <[email protected]>
Changes have been upstreamed to |
After the work done upstreaming operations used in `src/walrus_ops.rs` to walrus, the code for WASI-Virt can be updated to use the new APIs and reduce custom code. This commit updates the WASI-Virt codebase to use the upstreamed functions and adds some light refactors to the more mechanical pieces of code for stubbing/denying/stripping. see: bytecodealliance#20 Signed-off-by: Victor Adossi <[email protected]>
After the work done upstreaming operations used in `src/walrus_ops.rs` to walrus, the code for WASI-Virt can be updated to use the new APIs and reduce custom code. This commit updates the WASI-Virt codebase to use the upstreamed functions and adds some light refactors to the more mechanical pieces of code for stubbing/denying/stripping. see: bytecodealliance#20 Signed-off-by: Victor Adossi <[email protected]>
After the work done upstreaming operations used in `src/walrus_ops.rs` to walrus, the code for WASI-Virt can be updated to use the new APIs and reduce custom code. This commit updates the WASI-Virt codebase to use the upstreamed functions and adds some light refactors to the more mechanical pieces of code for stubbing/denying/stripping. see: bytecodealliance#20 Signed-off-by: Victor Adossi <[email protected]>
After the work done upstreaming operations used in `src/walrus_ops.rs` to walrus, the code for WASI-Virt can be updated to use the new APIs and reduce custom code. This commit updates the WASI-Virt codebase to use the upstreamed functions and adds some light refactors to the more mechanical pieces of code for stubbing/denying/stripping. see: bytecodealliance#20 Signed-off-by: Victor Adossi <[email protected]>
After the work done upstreaming operations used in `src/walrus_ops.rs` to walrus, the code for WASI-Virt can be updated to use the new APIs and reduce custom code. This commit updates the WASI-Virt codebase to use the upstreamed functions and adds some light refactors to the more mechanical pieces of code for stubbing/denying/stripping. see: bytecodealliance#20 see: rustwasm/walrus#252 Signed-off-by: Victor Adossi <[email protected]>
After the work done upstreaming operations used in `src/walrus_ops.rs` to walrus, the code for WASI-Virt can be updated to use the new APIs and reduce custom code. This commit updates the WASI-Virt codebase to use the upstreamed functions and adds some light refactors to the more mechanical pieces of code for stubbing/denying/stripping. see: #20 see: rustwasm/walrus#252 Signed-off-by: Victor Adossi <[email protected]>
Hey @guybedford thanks for this awesome project.
I'd want to make use of the code around injecting data and bumping the stack appropriately in a project I'm working on (basically what the project does is modify data segments in an existing wasm module dynamically) and while copying it (with attribution of course) is cool, importing it is even cooler.
To that end, I was wondering if some of the
walrus_ops
stuff could/should be upstreamed towalrus
(or maybe some sort ofwalrus-extras
crate)?[EDIT] to be clear -- I'd be willing to do the work here, assuming we can figure out a way you'd like to do it!
The text was updated successfully, but these errors were encountered: