Skip to content

Conversation

@kripken
Copy link
Member

@kripken kripken commented Feb 13, 2024

Replacing the string heap type with extern is dangerous as they do not share top/bottom
types. In practice this works out almost everywhere except for a few ifs, which we can fix
up as a hack for now.

@kripken kripken requested a review from tlively February 13, 2024 21:40
Copy link
Member

@tlively tlively left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this tested in multiple configurations (e.g. optimized and non-optimized) on the modules we care about? I'm worried about the gaps here being exposed unexpectedly by benign-looking build tweaks.

@kripken
Copy link
Member Author

kripken commented Feb 13, 2024

Good questions, yeah, that is a risk. But I'm fuzzing this now and it seems robust. What I think is going on is that j2wasm code has this if pattern in one place, and that if isn't really changed into anything else (it's not worth turning into a select). I do see many copies of the if but I believe that is due to inlining.

@kripken kripken merged commit 32a2782 into WebAssembly:main Feb 13, 2024
@kripken kripken deleted the string.loewring.if.2 branch February 13, 2024 23:32
radekdoulik pushed a commit to dotnet/binaryen that referenced this pull request Jul 12, 2024
)

Replacing the string heap type with extern is dangerous as they do not share top/bottom
types. In practice this works out almost everywhere except for a few ifs, which we can fix
up as a hack for now.
@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.

2 participants