Conversation
|
What does "Require arity 1 for drops and breaks" mean? |
|
@kripken, that uses like |
|
And the same for breaks, so |
|
Yes, or |
|
Sounds fine, then I was just confused by the title "Require arity 1 for drops and breaks" which seemed to suggest that a value is needed, i.e., break without a value isn't possible? Is there some other meaning to arity here that is confusing me? |
|
Sorry, I agree the patch name may be misleading. Arity is a bit overloaded: there is syntactic arity (number of arguments) and there is semantic arity (number of values). If we e.g. allowed multiple values, then you could envision allowing things like |
|
I see, thanks. |
|
Decisions need to be made on the handling of multiple values - the semantics need to be decided. If this matter is not given some attention then wasm will end up in the same place that CIL did where multiple values need to be handled by passing around a structure value which would be very poor outcome given that we already have two available options to consider and explore:
In both cases |
Add tests for conflicting-but-ultimately-dropped values.
|
This has been rebased and merged to binary-0xc branch. |
This is sufficient to pass test/core/simd/simd_i32x4_arith.wast.
As of WebAssembly/design#694. This is a big change: it modifies the static & dynamic semantics, introduces
dropandtee_localoperators (with tests), and adapts tons of existing tests.While there I also updated some opcode uses to match the current Binary.md