Os.heap_bytes: the heap without the renderer; string_temps reads it

Vk.heap_bytes pulled the Vk module - and on lang/uifree the GL window path - into a plain program,
which then failed to link (_cgl_offscreen, lgl_GetError). Os.heap_bytes is malloc_zone_statistics
through a weak reference (0 where there is none, and on Windows). Reseeded. Docs for it and for
Json.free / Json.free_all.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-28 12:31:42 +03:00
parent 1adce5b58b
commit 22d1e2d66a
10 changed files with 33227 additions and 33008 deletions

View file

@ -0,0 +1,26 @@
---
id: json-free_all
name: Json.free_all
category: json
kind: namespace-method
tokens: Json.free_all
sig: Json.free_all(value) -> void
tip: Give back a parsed tree whole, strings and keys included.
order: 4
ns: Json
member: free_all
---
<a href="json-free"><code>Json.free</code></a> and every string value and object key the parser made as well: for a reader that copied whatever it keeps (<code>s[0 .. len(s)]</code>), so the whole document goes. A text read, parsed and let go this way leaves nothing behind.
```ludic
program FreeAll {
entry {
let doc = Json.parse("{\"name\": \"camp\"}")
let s = value_as_str(value_get(doc, "name"))
let name = s[0 .. len(s)]
Json.free_all(doc)
print(name)
}
}
```