diff options
author | Alon Zakai <azakai@google.com> | 2020-11-11 15:35:13 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-11 15:35:13 -0800 |
commit | d0d96a815fb2e6c397dce76fb1b74b803fd431f4 (patch) | |
tree | 93f9c624592a4dd38a53b6ba5ca047cadc7a2d76 /test/wasm2js | |
parent | 32171f1d6ff57fdb31f55d8aa554eac15cb5d8f5 (diff) | |
download | binaryen-d0d96a815fb2e6c397dce76fb1b74b803fd431f4.tar.gz binaryen-d0d96a815fb2e6c397dce76fb1b74b803fd431f4.tar.bz2 binaryen-d0d96a815fb2e6c397dce76fb1b74b803fd431f4.zip |
Avoid boilerplate in ExpressionAnalyzer comparing & hashing (#3332)
Expands on #3294:
* Scope names must be distinguished as either defs or uses.
* Error when a core #define is missing, which is less error-prone, as
suggested by @tlively
* Add DELEGATE_GET_FIELD which lets one define "get the field"
once and then all the loops can use it. This helps avoid boilerplate for
loops at least in some cases (when there is a single object on which
to get the field).
With those, it is possible to replace boilerplate in comparisons and
hashing logic. This also fixes a bug where BrOnExn::sent was not
scanned there.
Add some unit tests for hashing. We didn't have any, and hashing can be
subtly wrong without observable external effects (just more collisions).
Diffstat (limited to 'test/wasm2js')
0 files changed, 0 insertions, 0 deletions