diff options
author | Alon Zakai <azakai@google.com> | 2024-11-04 15:45:27 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-04 15:45:27 -0800 |
commit | d71161aedb8ae1d6650111a0de0c2bdf53ec127b (patch) | |
tree | b12120751327292afb198afa3b1ae50ebd22f591 /src/wasm-interpreter.h | |
parent | c35e9871697b0b103228a96e9e79066e762d5e22 (diff) | |
download | binaryen-d71161aedb8ae1d6650111a0de0c2bdf53ec127b.tar.gz binaryen-d71161aedb8ae1d6650111a0de0c2bdf53ec127b.tar.bz2 binaryen-d71161aedb8ae1d6650111a0de0c2bdf53ec127b.zip |
[GC] Fix GlobalTypeOptimization logic for public types handling (#7051)
This fixes a regression from #7019. That PR fixed an error on situations with
mixed public and private types, but it made us stop optimizing in valid cases,
including cases with entirely private types.
The specific regression was that we checked if we had an entry in the
map of "can become immutable", and we thought that was enough. But
we may have a private child type with a public parent, and still be able to
optimize in the child if the field is not present in the parent. We also did
not have exhaustive checking of all the states canBecomeImmutable can be,
so add those + testing.
Diffstat (limited to 'src/wasm-interpreter.h')
0 files changed, 0 insertions, 0 deletions