-
Notifications
You must be signed in to change notification settings - Fork 73
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
Agenda for subgroup meeting - June 2, 2020 #89
Comments
Here's an idea for a discussion topic, but I'd want to know if people are interested. I was chatting with @steveblackburn about the various challenges and constraints with helping linear-memory memory managers cooperate (asynchronously) with host memory managers. We had some ideas, and got a good sense of what the real problematic cases look like, but it would help to get a sense from y'all of what the various patterns look like concretely rather than just abstractly. Unfortunately, Steve won't be able to make the meeting due to the timezone differences (he's in Australia), but I'll do my best to collect notes for him. Does that seem like a useful topic? |
This is a useful topic. I'm in the same time zone as Steve. His office is 20 feet away. Office....ah, those were the days, two months ago.... Yes, I would like to discuss this issue. |
From a timeline/priorities point of view, I would appreciate it if this subgroup's initial focus was on finding consensus on a first version ("MVP") of GC support for Wasm, or in other words: what needs to happen so that https://github.com/WebAssembly/gc/blob/master/proposals/gc/MVP.md can move along the phases process and become a standard:
In this framing, I'm not sure how y'all are thinking about the topic @RossTate suggested above. Do you see it as a fundamental question that must be answered before we can agree to move ahead with a non-linear-memory GC proposal? If so, by all means, let's have that discussion and get that clarity one way or the other. Or do you see it as an interesting beyond-MVP exploration? If so, I would humbly suggest to postpone it until after we've brought the MVP closer to finalization. As a specific first step, I would suggest that any relevant conversations that may have happened in smaller rounds report their outcomes to the wider group. That could happen in the Zoom meeting, or in the form of PRs and issues filed at any time. Maybe it would also be useful to collectively assemble a (more authoritative than my sketch above) list of things that will need to be addressed/decided in order to make progress on the/a proposal, so that we know where we stand? |
That's a reasonable request. There were a few reasons I suggested the above topic:
That last item connects to your suggestion of listing items, which I think is a good suggestion. Were you suggesting doing that here or at the meeting? |
I was thinking it might fit in well as a meeting agenda item, but we can certainly also do it here if folks prefer. Or maybe we don't need a new list, and this issue tracker should just be the list? 54 open issues, many of which haven't been updated in a year or more, could do with some curating then though. |
I agree with @jakobkummerow that our first meeting should focus on getting the subgroup up-to-speed with the disparate developments in this space. So I think for the first meeting we should start with a quick round of introductions, then status updates organized by topic. As for the topics, I think we should list them here and ask one person to present an overview to the group about that topic. We don't have time to cover these comprehensively. But perhaps we could do 5-10 minutes each, starting with summary, pointers to the most recent information, followed by any open questions, and next steps/future work. I imagine we can pretty easily fill up the full hour this way. Here is a quick list of topics that we may want to cover, feel free to suggest more:
What does everyone think? |
Good point, I'll do some triage today. |
I can present proposal statuses. Should probably start with the upstream ones, since that's were most of the spec-side action has moved. |
Thanks, @rossberg. I assume you won't cover the various other GC alternative proposals, right? Should we try to do status of those too in this meeting? @RossTate @aardappel What do you think? @jakobkummerow @eqrion An update on the v8/SM prototypes would be useful too, would you be able to present? |
I'm happy to put something together, but would appreciate some more guidance on what y'all would like. Maybe a quick video chat would be good to hash out what you think would work well? |
@RossTate My thought here is to try to make sure everyone in the group knows what is currently being worked on, since there's a lot going on and it's hard to keep up with all of the discussions. So I was hoping that you could do a short summary of the discussions/designs you've been involved with. Maybe that's too much to cram into one meeting though? But yeah, let's chat offline. |
In the spirit of facilitating a smooth process over the lifetime of this effort, I offer the following thoughts on process:
When raising a topic, or expressing an opinion, it is useful to be able to identify the stakeholders you are representing. E.g., we need nominal types in order to implement Scheme records (not).
Identify criteria before technical solutions. This allows given ideas to be measured against the criteria; as opposed to simple argumentation on the different features of the proposed solution.
Being roadkill for an idea means that you are sufficiently certain of your case that you are willing to be ‘run over’ by the rest of the group if they disagree with you. Signalling whether you are roadkill or not can be very helpful to other members of the group. In the given heat of the moment, it can be difficult for others to truly discern your intentions.
The most effective way to get agreement for a particular idea is to frame it in terms that amount to a ‘git commit’ to an eventual specification. |
Notes from today's meeting are here: WebAssembly/meetings#571. Please update them as needed. |
* Upgrade to latest Sphinx release (2.4.4) (#1171) Fixes #1157 * Support 4GB of memory both in initial and max. * [interpreter] Strictify and specify .bin.wast format (#1173) * Merge nontrapping-float-to-int proposal into spec (#1143) See the non-trapping-float-to-int-conversions proposal here: https://github.com/WebAssembly/nontrapping-float-to-int-conversions * Merge sign-extension-ops proposal into spec (#1144) See the sign-extension-ops proposal here: https://github.com/WebAssembly/sign-extension-ops This PR is built on top of #1143 (merge nontrapping-float-to-int). * Merge multi-value proposal into spec (#1145) See the multi-value proposal here: https://github.com/WebAssembly/multi-value This PR is built on top of the following PRs: * #1143 (merge nontrapping-float-to-int) * #1144 (merge sign-extension-ops) * [interpreter] Remove junk in README * [interpreter] Remove junk in README * [spec] Fix grammar for fractions (#1178) * [spec] Add missing i64.extend32_s syntax (#1179) * [js-api][web-api] Fix some markup errors. * Add a README to the proposals directory. * Add more address overflow tests (#1188) There are already tests for effective address overflow, but those have a large value baked into the offset. These tests all use `1` as the immediate offset, and use `-1` for the address on the stack, which may be compiled differently. * Add a test for non-treelike behavior of stack (#961) We've recently found a bug in a WebAssembly library we've been working with where we're mapping WebAssembly to a tree-like IR internally. The way we parse into this representation, however, has a bug when the function isn't itself tree-like but rather exibits properties that exploit a stack machine. For example this isn't so straightforward to represent in a tree-like fashion: (import "" "a" (func $foo)) (import "" "b" (func $foo (result i32))) (func (result i32) call $b call $b call $a i32.xor) The extra `call $a` in the middle is valid `WebAssembly` but needs special treatment when converting to a more tree-like IR format. I figured it'd be good to ensure there's a spec test covering this case as we currently pass the suite of spec tests but still contain this bug! * [js-api] Various editorial improvements. * [js-api] Replace pseudo-ASCII characters by normal ones. This also required disambiguating the references to "module", as there are now two definitions by that name. * [js-api] Improve prose in 'run a host function'. * [js-api] Improve some of the multi-value prose. * Synchronize js-api tests. * Add script to synchronize js-api tests. Co-authored-by: Ng Zhi An <[email protected]> Co-authored-by: Alon Zakai <[email protected]> Co-authored-by: Ben Smith <[email protected]> Co-authored-by: Ms2ger <[email protected]> Co-authored-by: Alex Crichton <[email protected]>
We will have our first subgroup meeting on June 2, 2020 at 9am PDT (6pm CET). As with other Wasm meetings, we'll host this on zoom. If you would like to attend, please fill out this form.
Please respond to this issue with topics for the agenda.
The text was updated successfully, but these errors were encountered: