Uh oh!
There was an error while loading. Please reload this page.
Switch InterpreterFrame to deterministic unwinding - #125182
Conversation
Tagging subscribers to this area: @BrzVlad, @janvorli, @kg |
janvorli
commented
Mar 4, 2026
I don't think this is going to work. We need to know the callee saved registers value in the |
7903973 to
508674cCompaream11
commented
Mar 4, 2026
@janvorli, good point. The |
Uh oh!
There was an error while loading. Please reload this page.
fde94ba to
9f2788fCompareUh oh!
There was an error while loading. Please reload this page.
8b0852b to
64305cdComparejanvorli
commented
Apr 1, 2026
@am11, I still feel like capturing the non-volatile registers on the non-exceptional path is a perf hit that we would not like to take. Especially since it is done on every instruction interpreted where every added instruction counts. As an alternative, I've been recently experimenting with the WASM-like resume after catch, it is much more tricky than I've thought it would be due to the need of adding personality routine to more helpers than just the InterpreterStub, having to manually unwind the frame in that personality routine (as it gets the context in the function the personality routine is attached to and we need the context of the caller so that we can rethrow the exception from there) and there might be more. I didn't have a chance to progress on that experiment recently, but I'd like to finish that. I still feel like keeping using OS libunwind for Apple OSes wouldn't hurt, as it is always present and it doesn't add any burden over there. And iOS is actually the scenario that needs interpreter and that we care about the most (besides WASM). |
am11
commented
Apr 2, 2026
@janvorli, your alternative approach sounds like a worthwhile direction. I haven’t done performance testing myself yet to understand the impact. Although we will ship only for iOS at first, we already build this code on all desktop platforms. i.e. we can’t discount it from “last six usages of in-tree libunwind” equation due to linux, FreeBSD and others. |
JulieLeeMSFT
commented
Apr 20, 2026
@janvorli, this is awaiting your review. |
janvorli
commented
Apr 20, 2026
@JulieLeeMSFT in the comments above, we have agreed to do it differently. |
am11
commented
May 28, 2026
Superseded by #128728. |
No description provided.