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

Simplify memops #39

Closed
wants to merge 1 commit into from
Closed

Simplify memops #39

wants to merge 1 commit into from

Conversation

rossberg
Copy link
Member

Eliminates mem_type in favour of providing access size and optional signedness flag directly in the memory opcodes.

align: 1|2|4|8|...
memop: (<sign>.)?(<align>.)?
cvtop: trunc_s | trunc_u | extend_s | extend_u | ...
cvtop: wrap | trunc_<sign> | extend_<sign> | ...
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess this was already present, but is there a reason why there are signed and unsigned forms of trunc here?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, they exist in AstSemantics.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, right. This is as it should be.

@lukewagner
Copy link
Member

Looks like another step in the right direction. Since this doesn't end up exactly at the op name syntax in AstSemantics.md#linear-memory, perhaps good to start with a design-repo PR that changes the names to match here?

@jfbastien
Copy link
Member

+1 on editing design repo. I like this proposal, it would be good to tie it to WebAssembly/design#82 as it seems to resolve the objections from that issue?

@rossberg
Copy link
Member Author

rossberg commented Sep 2, 2015

I created issue WebAssembly/design#326 -- I think there are two general options for simplifying loads & stores.

@lukewagner
Copy link
Member

Can this PR be closed now?

@rossberg
Copy link
Member Author

Yes, I think it has been superseded by Luke's patch.

@rossberg rossberg closed this Sep 18, 2015
@rossberg rossberg deleted the simpler-memops branch May 18, 2017 11:15
eqrion pushed a commit to eqrion/wasm-spec that referenced this pull request Sep 18, 2019
…Assembly#39)

* Make types explicit in global/table/memory instances
* Allow global/table values/elements to be subtypes
* Simplify externval typing
alexcrichton pushed a commit to alexcrichton/spec that referenced this pull request Nov 18, 2019
…ssembly#39)

* Add v2i64 comparison operations

* Add opcode space holes instead of new instructions

* Strikethrough i64x2.mul

* Strikethrough opcode numbers, too

* Remove nonexistent instructions entirely
ErikMcClure pushed a commit to innative-sdk/spec that referenced this pull request Jun 15, 2020
dhil pushed a commit to dhil/webassembly-spec that referenced this pull request Mar 2, 2023
How many ways can you misspell exception?
dhil added a commit to dhil/webassembly-spec that referenced this pull request Jul 31, 2024
* Resume table syntax

This patch changes the syntax of resume tables:

```wast
(resume $ct (tag $t $h)) => (resume $ct (on $t $h))
(resume_throw $ct $e (tag $t $h)) => (resume_throw $ct $e (on $t $h))
```

* Update examples

* Update overview document

* Update explainer document
rossberg pushed a commit that referenced this pull request Nov 6, 2024
Similar to WebAssembly.Memory (#39), the WebAssembly.Table constructor
also needs an `index` argument.
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.

4 participants