8df763f266
The VM patch files contain many annotations that guide the TFA and the VM compilation pipeline. Most of these are not relevant to dart2wasm, and having the TFA look at these when running inside dart2wasm leads to sub-optimal, and sometimes even unsound, results. In order to enable sharing of patch files between the VM and dart2wasm, the annotation parser is given a target flag to control which annotations it should recognize and how to parse them. The annotation parser thus becomes an abstraction layer between the concrete annotations in the patch files and the parsed annotations that the TFA sees. Additionally, external members used by dart2wasm don't always have external names. To support this, the signature shaker must skip all external members, not just the ones with an external name. This makes no difference for the VM, since all of its external members either have an external name or are implemented in a patch file, making them no longer external. TEST=ci + upcoming dart2wasm CL Change-Id: Id425dd1ccc5560721034ae83c8cdc1593801a4e5 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/231102 Reviewed-by: Alexander Markov <alexmarkov@google.com> Commit-Queue: Aske Simon Christensen <askesc@google.com>