-
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
[spec/interpreter/test] Land bulk instructions & reference types proposals #1287
Conversation
See issue #3.
This aligns with current interest in using `mem.` prefix for memory operations, see #627 and WebAssembly/threads#62 (comment).
Also remove some of the stuff from the bulk memory proposal that really should be written in the spec ReST files.
I think it's a better name than `set`, especially considering we may have a `table.set` in the future, which will likely set just one value. It also follows naming of [Array.prototype.fill](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill) which has similar behavior.
Also fix some typos I noticed.
This follows the naming discussed in issue #627.
* [spec] Initial documentation of syntax Includes the basic structure needed for the proposal, but no validation, binary, text or execution.
Using `memory.init` or `memory.drop` on an active segment is a validation error, not a trap.
@@ -251,7 +315,7 @@ | |||
(assert_return (invoke "as-br_table-last" (i32.const 1)) (i32.const 2)) | |||
|
|||
(assert_return (invoke "as-call_indirect-first" (i32.const 0)) (i32.const 3)) | |||
(assert_return (invoke "as-call_indirect-first" (i32.const 1)) (i32.const 2)) | |||
;;(assert_return (invoke "as-call_indirect-first" (i32.const 1)) (i32.const 2)) |
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.
Was it intentional that this was commented out?
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.
Hm, probably not, but I can't trace back where it came from. Mind creating a PR to reactivate it?
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.
No problem, I've done so here: #1323
The proposal was merged in <WebAssembly/spec#1287>.
The proposal was merged in <WebAssembly/spec#1287>.
…e main tests., a=testonly Automatic update from web-platform-tests Merge wasm reference types tests into the main tests. The proposal was merged in <WebAssembly/spec#1287>. -- wpt-commits: d6752ceced9f95d19e317693d2ba902e9fc9cd35 wpt-pr: 30805
…e main tests., a=testonly Automatic update from web-platform-tests Merge wasm reference types tests into the main tests. The proposal was merged in <WebAssembly/spec#1287>. -- wpt-commits: d6752ceced9f95d19e317693d2ba902e9fc9cd35 wpt-pr: 30805
…e main tests., a=testonly Automatic update from web-platform-tests Merge wasm reference types tests into the main tests. The proposal was merged in <WebAssembly/spec#1287>. -- wpt-commits: d6752ceced9f95d19e317693d2ba902e9fc9cd35 wpt-pr: 30805
…e main tests., a=testonly Automatic update from web-platform-tests Merge wasm reference types tests into the main tests. The proposal was merged in <WebAssembly/spec#1287>. -- wpt-commits: d6752ceced9f95d19e317693d2ba902e9fc9cd35 wpt-pr: 30805
The proposal was merged in <WebAssembly/spec#1287>.
This rule was probably copied from the (very similar) memory.grow rule when it was introduced by WebAssembly#1287 in c3d5cbc. While memory.grow doesn’t have an initialization value, table.grow does.
Those tests were moved to `binary-leb128.wast` in WebAssembly#1019, but WebAssembly#1287 brought them back.
As per WG vote on 2021-02-10, both proposals have been promoted to phase 5 and are ready to be merged.
This PR includes both of them together, since they are mutually dependent. Technically, this is a merge of the reference-types repo, which already contained all parts of the bulk instructions repo, plus conflict resolutions and additions to fill in gaps.