blaise/compiler
Graeme Geldenhuys f517f5148a feat(debug-opdf): emit recRuntimeHelper records for the RTL release routines
The OPDF emitter now writes one recRuntimeHelper (= 25) record per binary
for _StringRelease (kind 0) and _DynArrayRelease (kind 1), each carrying
the linker-resolved entry-point address.

These let the debugger inject a call to the matching RTL release routine
to free the +1 transient an injected property getter returns — without
them, `print x.Bar` on a method-getter property leaks one string/dynarray
per call in the debuggee's exit leak report.  The records are emitted only
by the program object (the helpers are global RTL symbols, not per-unit),
alongside the existing recUnitDirectory.

IR tests assert both records, their address quads, and the kind ordinals
(which must match opdf_types.TRuntimeHelperKind).  The reader side lives
in the opdebugger repo.
2026-06-28 01:26:13 +01:00
..
src feat(debug-opdf): emit recRuntimeHelper records for the RTL release routines 2026-06-28 01:26:13 +01:00
project.xml refactor(rtl): relocate RTL units into the compiler tree (dotted-flat names) 2026-06-25 16:05:44 +01:00