Stream: git-wasmtime

Topic: wasmtime / Issue #2289 Cranelift: refactoring of unwind info


view this post on Zulip Wasmtime GitHub notifications bot (Oct 14 2020 at 14:07):

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 better epilogues_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