Skip to content

Remove support for the binaryen interpreter / wasm.js - #7831

Merged
kripken merged 3 commits into
incomingfrom
remove-bynterp
Jan 8, 2019
Merged

kripken merged 3 commits into
incomingfrom
remove-bynterp

Conversation

@kripken

@kripken kripken commented Jan 8, 2019

Copy link
Copy Markdown
Member

It was useful to bring up wasm support to have a way to interpret wasms, before VMs were up to speed, but at this point we have many VMs with correct behavior. Removing this simplifies our code and speeds up some tests.

@kripken
kripken requested review from dschuff and tlively January 8, 2019 19:06
kripken added a commit to WebAssembly/binaryen that referenced this pull request Jan 8, 2019
Updates tests to the latest notation changes, and also remove wasm.js (see emscripten-core/emscripten#7831 ) as we'd need to either rebuild it or update it for the new notation as well, and it's not used at this point.
@tlively

tlively commented Jan 8, 2019

Copy link
Copy Markdown
Member

Looks fine to me, but I'm not too familiar with the code.

@kripken

kripken commented Jan 8, 2019

Copy link
Copy Markdown
Member Author

Thanks. Ok, merging, as this unbreaks the waterfall, and was discussed and agreed upon earlier. Would be good if someone can review the code post-merge too though.

@kripken
kripken merged commit fef624b into incoming Jan 8, 2019
@kripken
kripken deleted the remove-bynterp branch January 8, 2019 23:15
@dschuff

dschuff commented Jan 8, 2019

Copy link
Copy Markdown
Member

cool!
So can we get rid of BINARYEN_METHOD entirely now? Isn't that now just redundant with WASM=1 or WASM=0?

@kripken

kripken commented Jan 8, 2019 •

Copy link
Copy Markdown
Member Author

There is wasm-native,asmjs (run wasm if present, use asm.js if not). Some users use it for a single build instead of 2, although it's not meant for that. It's mainly meant for debugging, but possibly we can remove that too, I haven't used it to debug for quite some time myself.

@kripken

kripken commented Jan 9, 2019

Copy link
Copy Markdown
Member Author

Thinking some more, removing BINARYEN_METHOD would be a big win in removing complexity. Since we haven't used it for debugging for a while, and it's a footgun for it to be misused for dual builds, I'll work to remove it.

@kripken kripken mentioned this pull request Jan 9, 2019
kripken added a commit that referenced this pull request Jan 10, 2019
Followup to #7831. This removes BINARYEN_METHOD, which means that if you build with WASM you get wasm, and have no option for an asm.js fallback, and if you build with WASM=0 you get asm.js.

This removes and simplifies a bunch of things, so it seems worth it. We do lose the BINARYEN_METHOD=wasm-native,asmjs option which let a single build run either way. That was useful for debugging back when asm.js worked well but not wasm, but those days are far in the past. Another use is to have a single build for both, but it was always a very unoptimized "compromise" build, and not recommended, so removing it avoids a possible footgun for users (if a single build is crucial for people, we should look into a more proper way to do it).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants