-
-
Notifications
You must be signed in to change notification settings - Fork 666
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
Rename anyref to externref to match proposal change #1319
Conversation
@torch2424 not sure of the process to add things to the agenda. Can this get added to one of the upcoming meetings? |
@jayphelps Oops! Just saw this, it slipped through my github notifications. I saw you commented on the weekly meeting, that's totally how you add something to the agenda! Looking forward to discussing this then! 😄 🎉 |
Thanks! |
Turns out that I misunderstood the implications there. With |
@jayphelps could we move forward and finish started changes in this PR? Currently we can't update to latest binaryen without this changes) |
The delay was because Binaryen had not yet adapted the rest of the changes to the proposal, which I believe impact AS too. We could update just the name, anyref to externref, but we would then be relying on part of the old version of r proposal and part of the new version intermixed, I think. Maybe that’s not a big deal, for now? After all, it’s pretty unclear if anyone else at all is using anyref in AS right now and if they are, I don’t think they’ve been vocal. Thoughts? I haven’t checked Binaryen yet to see if someone else had updated the rest of the proposal—I did the initial changes, but I don’t have cycles to prioritize updating Binaryen for the rest, right now at least. |
Given that we are blocked on this, and that reftypes is an experimental feature anyway, just renaming for now to reflect the state in Binaryen and looking into everything else later sounds reasonable to me. |
Okiedoke, I’ll move forward. Looks like we might have some test issues, looking into it.
… On Jul 11, 2020, at 8:49 PM, Daniel Wirtz ***@***.***> wrote:
Given that we are blocked on this, and that reftypes is an experimental feature anyway, just renaming for now to reflect the state in Binaryen and looking into everything else later sounds reasonable to me.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
Testing with https://nodejs.org/download/v8-canary/v15.0.0-v8-canary202006192e28363093/ (latest with Windows binaries), the experimental wasm flags appear to be
The error seen in the CI log is
so I guess that'd have to be |
How did you get it to change the node V8 version? I changed the test.yml file but it didn’t seem to change which version the test ran with, according to the logs. |
Hmm, the change to test.yml looks correct to me. Perhaps CI got confused somehow and installed v14 from master's test.yml, or there is something wrong with that exact version (maybe try |
Co-authored-by: Max Graey <maxgraey@gmail.com>
Damn. I didn’t think about the fact that, while Binaryen and AS both just renamed it to externref, V8 actually implemented all the other changes around removing subtyping/null stuff. That means as-is this PR can’t be merged. Options I can think of:
I’m inclined to say if updating Binaryen now is needed for other reasons, anyref support should just be removed for now. It was experimental, and this PR would have been a breaking change anyway. Thoughts? |
Personally I'm ok with:
but with extra cc @dcodeIO |
Commenting out the conflicting tests with a TODO sounds good to me. Perhaps we should also comment out codegen related to |
Ok I changed all null ref stuff to be no longer implemented, and commented out the related tests. All green, ready for final review I believe. |
Co-authored-by: Daniel Wirtz <dcode@dcode.io>
Co-authored-by: Daniel Wirtz <dcode@dcode.io>
Thanks for looking into this! :) |
🎉 This PR is included in version 0.14.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Note: this is a breaking change, but only for those who have opted-in to the
reference-types
experimental feature. It and anyref usage are also undocumented AFAIK.The reference type proposal recently had some changes, including the removal of all subtyping of reference types for now, as well as renaming anyref to externref so that a future type that actually supports subtyping (a real anyref) could be added back later--maybe.
I wanted to open this PR as a starting point for the work, but also because I believe some dialog needs to be had because this change impacts more than just renaming thing for AS and there is not yet a PR in binaryen to change those things. For example, now ref.null requires an immediate to know whether it's a null for func or null for extern but this is not yet done in Binaryen.
I thought it might be important to discuss this ASAP since the proposal ship seems to be sailing to stage 4 soon.
makeZero()
, for initialization assumes subtypingProposal update: WebAssembly/reference-types#87
Binaryen update: WebAssembly/binaryen#2900
⯈
⯈
⯈