Phase 8b: modern names for the raw-memory and OS/IO primitives
Groups B and C of the leftover-primitive cleanup — renames, not new machinery,
and deliberately NO unsafe_ prefix (a __-prefix is itself a C convention, and an
`unsafe` marker carries no signal in a fully-manual-memory language with no safe
subset to contrast against).
memory: mem_free -> free mem_realloc -> resize mem_set -> fill
ptr_add -> offset
process: os_argc -> arg_count os_arg -> arg os_exit -> exit
os_system -> run os_getenv -> getenv read_byte -> read_char
dead: mem_copy, os_time, write_byte (0 uses) — deleted
Two reseeds: accept both old and new names in the intrinsic dispatch, then
migrate every call site and drop the old names. file_open/read/write/seek/tell/
close are left as-is — they're the domain-prefixed syscall layer wrapped by
read_file, not the argc/argv-style C-ness the audit targeted; a `File` type is a
separate, larger design if wanted.
test.sh's CLI smoke updated (os_exit -> exit); check-vocabulary's grammar marker
moved off the deleted names. Reseeded (22243 lines); C-free fixpoint holds;
goldens identical; 18/18; vocab + doc-fences clean.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
6f1ba2c214
commit
d3301684f1
19 changed files with 2468 additions and 2614 deletions
|
|
@ -26,7 +26,7 @@ fn rt_image_init() -> void {
|
|||
img_w = words(IMG_MAX)
|
||||
img_h = words(IMG_MAX)
|
||||
spr_px = words(SPR_MAX * SPR_SZ * SPR_SZ)
|
||||
mem_set(spr_px, 0, SPR_MAX * SPR_SZ * SPR_SZ * 4)
|
||||
fill(spr_px, 0, SPR_MAX * SPR_SZ * SPR_SZ * 4)
|
||||
}
|
||||
|
||||
# ---- decoding -------------------------------------------------------------
|
||||
|
|
@ -69,9 +69,9 @@ fn rt_decode_png(path: str) -> bool {
|
|||
let d = rt_read_file(path)
|
||||
if (d == null) { return false }
|
||||
let size = rt_file_len
|
||||
if size < 8 { mem_free(d); return false }
|
||||
if d[0] != 137 { mem_free(d); return false }
|
||||
if d[1] != 80 { mem_free(d); return false }
|
||||
if size < 8 { free(d); return false }
|
||||
if d[0] != 137 { free(d); return false }
|
||||
if d[1] != 80 { free(d); return false }
|
||||
|
||||
var w = 0
|
||||
var h = 0
|
||||
|
|
@ -118,8 +118,8 @@ fn rt_decode_png(path: str) -> bool {
|
|||
}
|
||||
}
|
||||
|
||||
if w <= 0 { mem_free(d); return false }
|
||||
if h <= 0 { mem_free(d); return false }
|
||||
if w <= 0 { free(d); return false }
|
||||
if h <= 0 { free(d); return false }
|
||||
|
||||
var channels = 1
|
||||
if ct == 2 { channels = 3 }
|
||||
|
|
@ -132,7 +132,7 @@ fn rt_decode_png(path: str) -> bool {
|
|||
let rawlen = h * (stride + 1)
|
||||
let raw = bytes(rawlen + 8)
|
||||
if z_uncompress(idat, idlen, raw, rawlen) < 0 {
|
||||
mem_free(d); mem_free(raw); mem_free(idat)
|
||||
free(d); free(raw); free(idat)
|
||||
return false
|
||||
}
|
||||
|
||||
|
|
@ -215,11 +215,11 @@ fn rt_decode_png(path: str) -> bool {
|
|||
}
|
||||
}
|
||||
|
||||
mem_free(d)
|
||||
mem_free(idat)
|
||||
mem_free(raw)
|
||||
mem_free(plte)
|
||||
mem_free(trns)
|
||||
free(d)
|
||||
free(idat)
|
||||
free(raw)
|
||||
free(plte)
|
||||
free(trns)
|
||||
png_w = w
|
||||
png_h = h
|
||||
png_px = out
|
||||
|
|
@ -333,7 +333,7 @@ fn rt_png_load(path: str) -> int {
|
|||
spr_px[base + y * SPR_SZ + x] = px
|
||||
}
|
||||
}
|
||||
mem_free(png_px)
|
||||
free(png_px)
|
||||
png_px = null
|
||||
return id
|
||||
}
|
||||
|
|
@ -380,7 +380,7 @@ fn rt_sprites_load(path: str) -> void {
|
|||
if (d == null) { spr_n = 0; return }
|
||||
let size = rt_file_len
|
||||
let pal: words = words(128)
|
||||
mem_set(pal, 0, 128 * 4)
|
||||
fill(pal, 0, 128 * 4)
|
||||
var cur = 0 - 1
|
||||
var row = 0
|
||||
var i = 0
|
||||
|
|
@ -407,7 +407,7 @@ fn rt_sprites_load(path: str) -> void {
|
|||
if spr_n < SPR_MAX {
|
||||
cur = spr_n
|
||||
spr_n = spr_n + 1
|
||||
mem_set(ptr_add(spr_px, cur * SPR_SZ * SPR_SZ * 4), 0, SPR_SZ * SPR_SZ * 4)
|
||||
fill(offset(spr_px, cur * SPR_SZ * SPR_SZ * 4), 0, SPR_SZ * SPR_SZ * 4)
|
||||
}
|
||||
row = 0
|
||||
}
|
||||
|
|
@ -429,6 +429,6 @@ fn rt_sprites_load(path: str) -> void {
|
|||
}
|
||||
i = start + len + 1
|
||||
}
|
||||
mem_free(pal)
|
||||
mem_free(d)
|
||||
free(pal)
|
||||
free(d)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue