diff options
| author | _ov4 <ov4@ov4.org> | 2026-10-27 14:07:24 +0000 |
|---|---|---|
| committer | _ov4 <ov4@ov4.org> | 2026-10-27 14:07:24 +0000 |
| commit | caa88a9b36d9e1dfae40ecb31aee05bc2891fa17 (patch) | |
| tree | d41168dc0799c6f8b033a3d6fdb2c2c72aac2b42 /AGENTS/SUBSYSTEMS/CLASS_LIFETIME.md | |
| parent | 5d37ebcc02f6ca2ce1ced93f803dd1daf634d866 (diff) | |
docs(preprocessor): document switches and library regions
Add manuals and aliases for all five PP directives, replace the retired #LIB
page, and update compiler and shared-editor architecture notes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'AGENTS/SUBSYSTEMS/CLASS_LIFETIME.md')
| -rw-r--r-- | AGENTS/SUBSYSTEMS/CLASS_LIFETIME.md | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/AGENTS/SUBSYSTEMS/CLASS_LIFETIME.md b/AGENTS/SUBSYSTEMS/CLASS_LIFETIME.md index 98693e5..19be0aa 100644 --- a/AGENTS/SUBSYSTEMS/CLASS_LIFETIME.md +++ b/AGENTS/SUBSYSTEMS/CLASS_LIFETIME.md @@ -37,7 +37,9 @@ Part of the [subsystem notes](../SUBSYSTEMS.md). Builds on [classes](CLASSES.md) - Stack lifetimes use a per-function `StackObjects` list saved/restored around function emission. DECLARE and BYVAL copies share ownership registration, including arrays and records with class fields. -- Each record retains the original address, an entry-initialized Alive flag and, for +- Each record retains its original source line and owning unit so deferred cleanup + uses the correct __LIB region, even for globals from another unit. It also retains + the original address, an entry-initialized Alive flag and, for arrays, a runtime element count in an entry slot. Array buffer addresses also live in entry slots so deferred cleanup never references branch-local bound SSA values. - Every array registers, even when its elements need no destruction: cleanup runs the |
