diff options
author | Alon Zakai <azakai@google.com> | 2022-10-18 14:46:06 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-18 14:46:06 -0700 |
commit | 6a60b9e1d9fbaeeda20ac31b289fda4daa48d209 (patch) | |
tree | 6cef1e1282e2d50b334a086c115ea095cf204f74 /src/wasm/wat-parser.cpp | |
parent | e4fd739f72eae49aa47bef06af9f38625a3a9f33 (diff) | |
download | binaryen-6a60b9e1d9fbaeeda20ac31b289fda4daa48d209.tar.gz binaryen-6a60b9e1d9fbaeeda20ac31b289fda4daa48d209.tar.bz2 binaryen-6a60b9e1d9fbaeeda20ac31b289fda4daa48d209.zip |
[Wasm GC] Filter GUFA expression locations by their type (#5149)
Now that we have a cone type, we are able to represent in PossibleContents the
natural content of a wasm location: a type or any of its subtypes. This allows us to
enforce the wasm typing rules, that is, to filter the data arriving at a location by the
wasm type of the location.
Technically this could be unnecessary if we had full implementations of flowFoo
and so forth, that is, tailored code for each wasm expression that makes sure we
only contain and flow content that fits in the wasm type. Atm we don't have that,
and until the wasm spec stabilizes it's probably not worth the effort. Instead,
simply filter based on the type, which gives the same result (though it does take
a little more work; I measured it at 3% or so of runtime).
While doing so normalize cones to their actual maximum depth, which simplifies
things and will help more later as well.
Diffstat (limited to 'src/wasm/wat-parser.cpp')
0 files changed, 0 insertions, 0 deletions