Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # 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.
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants