blaise/compiler
Graeme Geldenhuys fa536a917a Add ARC cleanup on exception paths in try/finally
On the exception path of a try/finally block, release in-scope string
variables before re-raising so that heap-allocated string buffers are
freed even when exceptions unwind through the frame.

After each StringRelease the stack slot is zeroed so that nested
finally handlers see a nil pointer and take the no-op release path,
preventing double-free on deep exception chains.

Adds FCurrentBlock field and EmitExcPathArcCleanup to TCodeGenQBE.
Two new codegen tests verify position and zeroing behaviour.
2026-04-21 15:34:09 +01:00
..
src Add ARC cleanup on exception paths in try/finally 2026-04-21 15:34:09 +01:00
project.xml Add ARC cleanup on exception paths in try/finally 2026-04-21 15:34:09 +01:00