diff options
| author | 2026-10-15 02:37:51 +0330 | |
|---|---|---|
| committer | 2026-10-15 02:40:51 +0330 | |
| commit | fd18cb8fa5117b98939db553c2f61dd83b84d7d8 (patch) | |
| tree | 73ffa71eb12442df94a1fb7c095e3eaed338787b /README.md | |
| parent | destructors: hint: x: has drop and is live at spawn; the worker's copy drops ... (diff) | |
rt: memreport marks a leaked value whose drop never ran with (drop); spec 4.11, readme, memdebug_report_drop.zc
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -272,7 +272,7 @@ zy: double free from line 12 zy: bad heap pointer ``` -the line is the `new` that made the block. a double free prints and returns; it does not smash the block. `rt.memreport()` prints one line per recorded object that is still live, `leak: line 12 3 words`, and returns how many. the word count is the block's payload, which is a power-of-two chunk minus the 5 word header, not the size you asked for. the table holds 64 sites. freed blocks stay in it until the storage is reused, which is how a double free still knows the line. nothing here changes programs that never say `memdebug`. +the line is the `new` that made the block. a double free prints and returns; it does not smash the block. `rt.memreport()` prints one line per recorded object that is still live, `leak: line 12 3 words` (with ` (drop)` after it when the object's drop never ran), and returns how many. the word count is the block's payload, which is a power-of-two chunk minus the 5 word header, not the size you asked for. the table holds 64 sites. freed blocks stay in it until the storage is reused, which is how a double free still knows the line. nothing here changes programs that never say `memdebug`. ### line tables and backtraces |
