On Sun Nov 2 15:41:53 2025 +0000, Piotr Caban wrote:
I've pushed a new version with a lot of changes - please approve the MR (or comment) if it looks good to you. Increasing exception object reference on throw looks strange. Do you know what's the rationale behind it? I see that it matches with Windows, I don't understand why it's needed.
Everything looks good, thank you!
Increasing exception object reference on throw looks strange. Do you know what's the rationale behind it? I see that it matches with Windows, I don't understand why it's needed.
My initial hypothesis was that it expects the `catch` block to call `Release` on the exception object, but I don't see such a call in disassembled C++/CX code. I can't imagine `__DestructExceptionObject` will call `Release` twice, so a `Release` is happening somewhere between the two points, hopefully it's the app's responsibility (and codegen'd by MSVC) and not the runtime, otherwise we're probably leaking exceptions :/