Thomas Lively

Results 857 comments of Thomas Lively

> The fix for this particular example is probably to trap in the interpreter, which means basically implementing option 6 from the spec discussion. I'm not sure trapping makes sense....

The interpreter should still have `local.get` trap where the fixup would make it trap, namely when it hasn't been initialized at all in the current execution. Is that the same...

But I don't think there should be any special handling in the effects analyzer since we already prevent gets from moving back before their corresponding sets.

I guess my high-level point is that the interpreter should provide the semantics before and after the fixups. That's independent of when and how often fixups are applied.

> I'm not sure what you mean by "provide the semantics"? Are you saying the semantics should be different before and after the fixups? Sorry, I meant to write "provide...

I would say we should just go with the fixup after every pass option for now, but a 7% optimization time hit seems pretty bad. It might be worth investigating...

No, I don't know of any work underway for this right now. I can take a crack at it this week, though.

If you're interested, PRs would be super welcome! If not, no problem :)

Current dependencies on/for this PR: * main * **PR #4843** * **PR #4844** 👈 This comment was auto-generated by [Graphite](https://app.graphite.dev/github/pr/WebAssembly/binaryen/4844?utm_source=stack-comment).