Ori EH Personality
6 sections
Overview
Complete Ori-owned exception handling on Itanium EH platforms end-to-end: emit @ori_eh_personality in LLVM IR, raise exceptions via _Unwind_RaiseException (not Rust panic_any) for AOT Itanium paths, and free caught exception objects correctly.
Completed
4 sections
Codegen Integration
All Itanium LLVM IR emitted by Ori references @ori_eh_personality, with consistent runtime declarations, EH model selection, and JIT symbol mapping
Ori Exception Raise
On Itanium AOT paths, ori_panic/ori_panic_cstr raise Ori exceptions via _Unwind_RaiseException instead of std::panic::panic_any
Native Exception Catch
catch(expr:) frees caught Ori exceptions on Itanium paths, and ori_try_call remains a clearly scoped SEH compatibility mechanism
Verification
Prove end-to-end correctness for personality selection, exception raise/catch lifecycle, and platform-scoped behavior without regressions