selfhost/cmd/ww+w6l/main.ww: amalloc → alloc([], N)! (α-10)
Phase 0 #8 tenth α/γ-batch. 14 amalloc sites: - ww/main.ww: 11 (path bufs in importpathform/locatein/peekpackage/ expanddir/arenadupcstr/builddirmodulepath/buildsearchpath + γ names/nlens in enumeratedir) - w6l/main.ww: 3 (resolvelib cstr+NUL paths) α: *u8 → []u8 + .ptr at consumer; γ: **u8 / *u64 → []*u8 / []u64 with element-count alloc (was bytes/8). Verified 132/132 + 995_self_rebuild byte-identity. ~27 amalloc sites remain across 5 files; most blocked on #7 (astrndup), #8 (β grow loops in w6a/parse, w6a/obj, w6l/dynout), #10 (cgoutarena).
This commit is contained in:
@@ -139,30 +139,30 @@ fn resolvelib(a: *arena, name: *u8, libdirs: **u8, nlibdirs: i32) *u8 = {
|
||||
let _l1: u64 = buildpath(bufp.ptr, dir, name, ".so");
|
||||
if (islinkable(bufp.ptr)) {
|
||||
let pl: u64 = cstrlen(bufp.ptr);
|
||||
let p: *u8 = amalloc(a, pl + 1u64): *u8;
|
||||
let p: []u8 = alloc([], pl + 1u64)!;
|
||||
let k: u64 = 0u64;
|
||||
for (k <= pl) { p[k] = bufp[k]; k += 1u64; };
|
||||
return p;
|
||||
return p.ptr;
|
||||
};
|
||||
let v: u64 = 0u64;
|
||||
for (v <= 8u64) {
|
||||
let _l2: u64 = buildpathv(bufp.ptr, dir, name, v);
|
||||
if (islinkable(bufp.ptr)) {
|
||||
let pl2: u64 = cstrlen(bufp.ptr);
|
||||
let p2: *u8 = amalloc(a, pl2 + 1u64): *u8;
|
||||
let p2: []u8 = alloc([], pl2 + 1u64)!;
|
||||
let k2: u64 = 0u64;
|
||||
for (k2 <= pl2) { p2[k2] = bufp[k2]; k2 += 1u64; };
|
||||
return p2;
|
||||
return p2.ptr;
|
||||
};
|
||||
v += 1u64;
|
||||
};
|
||||
let _l3: u64 = buildpath(bufp.ptr, dir, name, ".a");
|
||||
if (islinkable(bufp.ptr)) {
|
||||
let pl3: u64 = cstrlen(bufp.ptr);
|
||||
let p3: *u8 = amalloc(a, pl3 + 1u64): *u8;
|
||||
let p3: []u8 = alloc([], pl3 + 1u64)!;
|
||||
let k3: u64 = 0u64;
|
||||
for (k3 <= pl3) { p3[k3] = bufp[k3]; k3 += 1u64; };
|
||||
return p3;
|
||||
return p3.ptr;
|
||||
};
|
||||
i += 1;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user