Skip to content

Conversation

kripken
Copy link
Member

@kripken kripken commented Apr 15, 2024

The code had a different workaround, namely to add a block with an explicit
type to avoid changing the type at all (i.e. the block declared the original
type of the thing we replaced, not the refined type). But by adding a block we
can end up with an invalid pop, as the fuzzer found, see the EH testcase here.

To fix this, use the usual workaround of just running ReFinalize. That is simpler
and also improves the code while we do it. It does add more work, but this is
likely a very rare situation anyhow.

@kripken kripken requested review from tlively and aheejin April 15, 2024 20:48
@kripken kripken closed this Apr 15, 2024
@kripken kripken deleted the coalesce.refinalize branch April 15, 2024 23:37
@tlively
Copy link
Member

tlively commented Apr 16, 2024

Did you mean to close this instead of merging it?

@kripken kripken restored the coalesce.refinalize branch April 16, 2024 15:58
@kripken kripken reopened this Apr 16, 2024
@kripken
Copy link
Member Author

kripken commented Apr 16, 2024

I must have pressed the wrong button somehow, yeah... not sure how that happened.

@kripken
Copy link
Member Author

kripken commented Apr 16, 2024

What's weird is it also deleted the branch, which I'm pretty sure is not automatic (certainly after merge it is not automatic, I do it manually each time) so I would have had to press two wrong buttons... which makes me wonder if there was not a github bug of some kind here.

@kripken kripken merged commit e29d778 into WebAssembly:main Apr 16, 2024
@kripken kripken deleted the coalesce.refinalize branch April 16, 2024 17:09
@gkdn gkdn mentioned this pull request Aug 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants