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

crucible-wasm: Support Wasm's reference types and values #1228

Open
RyanGlScott opened this issue Jul 30, 2024 · 0 comments
Open

crucible-wasm: Support Wasm's reference types and values #1228

RyanGlScott opened this issue Jul 30, 2024 · 0 comments

Comments

@RyanGlScott
Copy link
Contributor

Per this proposal, Wasm now has first-class notions of reference types and values. The Haskell wasm library added support for references in SPY/haskell-wasm@51cf7e7.

It would be nice if we could support these reference types and values in crucible-wasm as well. At a first glance, a reference value would have a Crucible type resembling MaybeType IntegerType, as a reference is either null or an index into the list of functions declared in a module. The challenge is that the list of functions does not currently support looking up a function with a potentially symbolic index, however. We could conceivably do so by representing the list of functions as a SymSequence, but this would take a fair bit of refactoring to accomplish.

RyanGlScott added a commit that referenced this issue Aug 1, 2024
… and values

This bumps the `haskell-wasm` commit to
SPY/haskell-wasm@51cf7e7
and does the minimum amount of work needed to make `crucible-wasm` continue to
compile after these changes. For now, we do not implement full support for
Wasm's reference types and values, as that would require a non-trivial amount
of work to support. See #1228.
RyanGlScott added a commit that referenced this issue Aug 1, 2024
This bumps the `haskell-wasm` commit to
SPY/haskell-wasm@de40134
and does the minimum amount of work needed to make `crucible-wasm` continue to
compile after these changes. For now, we do not implement full support for Wasm
2.0's new element segment features, as that would require a non-trivial amount
of work to support. See #1228.
RyanGlScott added a commit that referenced this issue Aug 1, 2024
This bumps the `haskell-wasm` commit to
SPY/haskell-wasm@4753ebc.
For now, we do not implement Wasm 2.0's new table-related instructions, as that
would require a non-trivial amount of work to support. See #1228.
RyanGlScott added a commit that referenced this issue Aug 1, 2024
This bumps the `haskell-wasm` commit to
SPY/haskell-wasm@32392dc
and does the minimum amount of work needed to make `crucible-wasm` continue
to compile after these changes. For now, we do not implement full support
for Wasm 2.0's new data segment features, as that would require a
non-trivial amount of work to support. See #1228.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant