diff options
author | Thomas Lively <tlively@google.com> | 2023-03-14 15:23:09 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-14 20:23:09 +0000 |
commit | b1f0e98ce3899e803e829df8a57df879695113ee (patch) | |
tree | 1b314d841775215195e6f366f14868005b3e9f79 /src/js | |
parent | 5661c6f7e7eeb79445a0913ee0ed356b881a1ba2 (diff) | |
download | binaryen-b1f0e98ce3899e803e829df8a57df879695113ee.tar.gz binaryen-b1f0e98ce3899e803e829df8a57df879695113ee.tar.bz2 binaryen-b1f0e98ce3899e803e829df8a57df879695113ee.zip |
Fix misoptimization in TypeMerging (#5572)
TypeMerging previously tried to merge types with their supertypes and siblings
in a single step, but this could cause a misoptimization in which a type was
merged with its parent's sibling without being merged with its parent, breaking
subtyping.
Fix the bug by merging with supertypes and siblings separately. Since we now
have multiple merging steps, also take the opportunity to run the sibling
merging step multiple times to exploit more merging opportunities.
Fixes #5556.
Diffstat (limited to 'src/js')
0 files changed, 0 insertions, 0 deletions