-
Notifications
You must be signed in to change notification settings - Fork 451
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
Simplify memops #39
Conversation
align: 1|2|4|8|... | ||
memop: (<sign>.)?(<align>.)? | ||
cvtop: trunc_s | trunc_u | extend_s | extend_u | ... | ||
cvtop: wrap | trunc_<sign> | extend_<sign> | ... |
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.
I guess this was already present, but is there a reason why there are signed and unsigned forms of trunc
here?
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.
Well, they exist in AstSemantics.
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.
Oh, right. This is as it should be.
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? |
+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? |
I created issue WebAssembly/design#326 -- I think there are two general options for simplifying loads & stores. |
Can this PR be closed now? |
Yes, I think it has been superseded by Luke's patch. |
…Assembly#39) * Make types explicit in global/table/memory instances * Allow global/table values/elements to be subtypes * Simplify externval typing
…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
How many ways can you misspell exception?
* 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
Similar to WebAssembly.Memory (#39), the WebAssembly.Table constructor also needs an `index` argument.
Eliminates mem_type in favour of providing access size and optional signedness flag directly in the memory opcodes.