-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
dart2wasm
: Export constant identifying the compiler
#55694
Comments
As you link to #54785, this is something that can be useful for more than just Dart2Wasm. That is, I'd want to also define (But I'm OK with just agreeing that they should all exist, and then landing this as the first step.) |
Need this here as well! Could be very useful for example projects for packages to show an indicator as to whether it's running with WASM, to verify potential performance improvements. |
I'm not claiming this fixes #54785 :) I just need the identification in dart2wasm and I think it would be nice to have it in a format that will eventually be consistent between all tools. |
@lrhn is there a problem with adding It looks like dart2js added it ~9 months ago: sdk/pkg/compiler/lib/src/options.dart Line 1089 in 1d0c90c
|
I have no problem with landing this as-is. (That's what I tried to say in the last line of my previous comment, maybe I should just be more direct. Ship it!) I don't know whether I'm the one who should get to decide this. So far, nobody else does, so I'll take it! I hope that this format is what we end up on, and if we don't, we'll have to take it from there. Since Dart2JS already used it, it'll only a bigger migration problem, not a more difficult one. |
I'd like to have a reliable way of knowing whether my Dart code is running as WebAssembly. This is useful to work around some implementation differences (e.g. references vs. copies when viewing typed data).
#54785 suggests a suitable constant could be
dart.tool.dart2wasm = true
. Which such a constant, I could select suitable code paths depending on whether my code is compiled to JavaScript or WebAssembly.There are existing workarounds with a combination of conditional library imports or
identical(0, 0.0)
hacks, but an officially supported constant would be a lot cleaner.I've opened https://dart-review.googlesource.com/c/sdk/+/365822/1 for this.
The text was updated successfully, but these errors were encountered: