yurydelendik commented on Issue #2289:
I do have a concern about the performance of this change, primarily for Windows. The Windows x64 ABI only needs to look at the entry block to fully describe the unwind information because epilogues are not described for Windows x64.
I improved performance of
isa::x86::create_unwind_info
by scanning only prologue and epilogue blocks, and betterepilogues_start
check. That's something between windows x64 and systemv unwind info performance speeds. Assuming that a majority of function will not have long entry and epilogue block, that shall be fine.Nature of our generated code (even in systemv) does not require to have epilogues -- it is just correct to have them for e.g. step-by-step debugging. If the performance will be the issue, their generation can be removed without effect on
backtrace
logic.I expect that new backends will allow us to know exact ranges of prologue/epilogue instructions.
Last updated: Dec 23 2024 at 12:05 UTC