alexcrichton commented on PR #36:
Chris, Nick, and I talked about this in-person at the CG meeting over dinner yesterday so I wanted to drop some notes here from what we talked about so we don't forget:
- We probably don't actually want to do the "set flags on exception" ABI. That means it's (a) a new ABI to maintain and (b) we can't ever turn it on by default. In some sense "wasted work" but also it's a lot more to maintain over time.
- To assist with unwinding we say that an "invoke" will always spill all registers (everything is caller-saved) initially. That way we don't have to recover registers during unwinding.
- We won't remove setjmp/longjmp yet, so that'll stay for traps (although it would be good to do it with instructions in Cranelift instead one day)
- As a first stepping stone it might be interesting to add a mode where we just trap on throws. Non-exceptional programs could then be run/benchmarked which might help some early users dogfood.
@dhil is it okay if I take over this RFC to get it across the finish line?
@dhil is it okay if I take over this RFC to get it across the finish line?
Yes absolutely!
Last updated: Feb 28 2025 at 02:27 UTC