selfhost/cmd/w6l/dynout+obj: amalloc → alloc([], N)! (α/γ-11)
Phase 0 eleventh α/γ-batch. ~23 amalloc sites: - w6l/dynout.ww: 22 (~18 α u8 ELF section buffers + 3 γ pointer arrays — dynsyms []*lsym, sosused []*lso, vernameptrarr []*u8) - w6l/obj.ww:346 standalone α hdrsize u8 All single-shot fixed-count (NOT β grow as originally classified in the phase0-mapper audit). α: `[]u8 = alloc([], N)!` + .ptr at the dwr*/drd*/dbcopy callees. γ: element-count was bytes/8. obj.ww:346 keeps the `*u8` legacy alias via `let mb: *u8 = mbs.ptr;` since `armember.data` is `*u8` and gets stored across the function; heap memory survives the local slice header (no GC, process-exit reclaim). Verified 132/132 incl. 992_w6l_ww + 995_self_rebuild + 996_dyn_ww byte-identity.
This commit is contained in:
@@ -343,7 +343,8 @@ fn loadarchive(l: *lnk, path: *u8, buf: *u8, len: u64) i32 = {
|
||||
// any padding entries (NUL or space leading byte).
|
||||
if (first != 47u8) { if (first != 0u8) { if (first != 32u8) {
|
||||
let m: *armember = alloc(armember { size = hdrsize })!;
|
||||
let mb: *u8 = amalloc(l.a, hdrsize): *u8;
|
||||
let mbs: []u8 = alloc([], hdrsize)!;
|
||||
let mb: *u8 = mbs.ptr;
|
||||
let i: u64 = 0u64;
|
||||
for (i < hdrsize) {
|
||||
mb[i] = buf[hdrend + i];
|
||||
|
||||
Reference in New Issue
Block a user