cmd: α-6 amalloc → alloc([], N)! (cgen mklabel/mkscratchname/internstrlit)
Phase 0 #8 sixth α-batch. 3 sites in selfhost/cmd/wcc/cgen.ww — all runtime-N byte buffers returning a `*u8` via a constructed str. Same shape as 7c2403c's cgenutil.ww:108 mkvarargname conversion. Remaining cgen.ww amalloc: :541-546 (LOOP_MAX/DEFER_MAX context- struct arrays → task #9, struct-field type change) and :700 (cgoutarena package-global → task #10, memio.dynamic refactor). Verified 132/132 + 995_self_rebuild byte-identity.
This commit is contained in:
@@ -21874,7 +21874,7 @@ fn mklabel(c: *cgen, prefix: str) str = {
|
|||||||
for (dk < n) { buf[i + dk] = ns.ptr[dk]; dk += 1; };
|
for (dk < n) { buf[i + dk] = ns.ptr[dk]; dk += 1; };
|
||||||
c.labelseq += 1;
|
c.labelseq += 1;
|
||||||
let total: i32 = i + n;
|
let total: i32 = i + n;
|
||||||
let p: *u8 = amalloc(c.a, (total: u64) + 1u64): *u8;
|
let p: []u8 = alloc([], (total: u64) + 1u64)!;
|
||||||
let k: i32 = 0;
|
let k: i32 = 0;
|
||||||
for (k < total) {
|
for (k < total) {
|
||||||
p[k] = buf[k];
|
p[k] = buf[k];
|
||||||
@@ -21882,7 +21882,7 @@ fn mklabel(c: *cgen, prefix: str) str = {
|
|||||||
};
|
};
|
||||||
p[total] = 0u8;
|
p[total] = 0u8;
|
||||||
let r: str;
|
let r: str;
|
||||||
r.ptr = p;
|
r.ptr = p.ptr;
|
||||||
r.len = total;
|
r.len = total;
|
||||||
return r;
|
return r;
|
||||||
};
|
};
|
||||||
@@ -21913,7 +21913,7 @@ fn mkscratchname(c: *cgen, prefix: str) str = {
|
|||||||
for (dk < n) { buf[i + dk] = ns.ptr[dk]; dk += 1; };
|
for (dk < n) { buf[i + dk] = ns.ptr[dk]; dk += 1; };
|
||||||
c.labelseq += 1;
|
c.labelseq += 1;
|
||||||
let total: i32 = i + n;
|
let total: i32 = i + n;
|
||||||
let p: *u8 = amalloc(c.a, (total: u64) + 1u64): *u8;
|
let p: []u8 = alloc([], (total: u64) + 1u64)!;
|
||||||
let k: i32 = 0;
|
let k: i32 = 0;
|
||||||
for (k < total) {
|
for (k < total) {
|
||||||
p[k] = buf[k];
|
p[k] = buf[k];
|
||||||
@@ -21921,7 +21921,7 @@ fn mkscratchname(c: *cgen, prefix: str) str = {
|
|||||||
};
|
};
|
||||||
p[total] = 0u8;
|
p[total] = 0u8;
|
||||||
let r: str;
|
let r: str;
|
||||||
r.ptr = p;
|
r.ptr = p.ptr;
|
||||||
r.len = total;
|
r.len = total;
|
||||||
return r;
|
return r;
|
||||||
};
|
};
|
||||||
@@ -21950,12 +21950,12 @@ fn internstrlit(c: *cgen, bytes: str) str = {
|
|||||||
for (dk < n) { buf[3 + dk] = ns.ptr[dk]; dk += 1; };
|
for (dk < n) { buf[3 + dk] = ns.ptr[dk]; dk += 1; };
|
||||||
c.strlitseq += 1;
|
c.strlitseq += 1;
|
||||||
let total: i32 = 3 + n;
|
let total: i32 = 3 + n;
|
||||||
let p: *u8 = amalloc(c.a, (total: u64) + 1u64): *u8;
|
let p: []u8 = alloc([], (total: u64) + 1u64)!;
|
||||||
let i: i32 = 0;
|
let i: i32 = 0;
|
||||||
for (i < total) { p[i] = buf[i]; i += 1; };
|
for (i < total) { p[i] = buf[i]; i += 1; };
|
||||||
p[total] = 0u8;
|
p[total] = 0u8;
|
||||||
let lab: str;
|
let lab: str;
|
||||||
lab.ptr = p;
|
lab.ptr = p.ptr;
|
||||||
lab.len = total;
|
lab.len = total;
|
||||||
let nw: *strlit = alloc(strlit{label=lab, bytes=bytes, slnext=c.strlits})!;
|
let nw: *strlit = alloc(strlit{label=lab, bytes=bytes, slnext=c.strlits})!;
|
||||||
c.strlits = nw;
|
c.strlits = nw;
|
||||||
|
|||||||
@@ -799,7 +799,7 @@ fn mklabel(c: *cgen, prefix: str) str = {
|
|||||||
for (dk < n) { buf[i + dk] = ns.ptr[dk]; dk += 1; };
|
for (dk < n) { buf[i + dk] = ns.ptr[dk]; dk += 1; };
|
||||||
c.labelseq += 1;
|
c.labelseq += 1;
|
||||||
let total: i32 = i + n;
|
let total: i32 = i + n;
|
||||||
let p: *u8 = amalloc(c.a, (total: u64) + 1u64): *u8;
|
let p: []u8 = alloc([], (total: u64) + 1u64)!;
|
||||||
let k: i32 = 0;
|
let k: i32 = 0;
|
||||||
for (k < total) {
|
for (k < total) {
|
||||||
p[k] = buf[k];
|
p[k] = buf[k];
|
||||||
@@ -807,7 +807,7 @@ fn mklabel(c: *cgen, prefix: str) str = {
|
|||||||
};
|
};
|
||||||
p[total] = 0u8;
|
p[total] = 0u8;
|
||||||
let r: str;
|
let r: str;
|
||||||
r.ptr = p;
|
r.ptr = p.ptr;
|
||||||
r.len = total;
|
r.len = total;
|
||||||
return r;
|
return r;
|
||||||
};
|
};
|
||||||
@@ -838,7 +838,7 @@ fn mkscratchname(c: *cgen, prefix: str) str = {
|
|||||||
for (dk < n) { buf[i + dk] = ns.ptr[dk]; dk += 1; };
|
for (dk < n) { buf[i + dk] = ns.ptr[dk]; dk += 1; };
|
||||||
c.labelseq += 1;
|
c.labelseq += 1;
|
||||||
let total: i32 = i + n;
|
let total: i32 = i + n;
|
||||||
let p: *u8 = amalloc(c.a, (total: u64) + 1u64): *u8;
|
let p: []u8 = alloc([], (total: u64) + 1u64)!;
|
||||||
let k: i32 = 0;
|
let k: i32 = 0;
|
||||||
for (k < total) {
|
for (k < total) {
|
||||||
p[k] = buf[k];
|
p[k] = buf[k];
|
||||||
@@ -846,7 +846,7 @@ fn mkscratchname(c: *cgen, prefix: str) str = {
|
|||||||
};
|
};
|
||||||
p[total] = 0u8;
|
p[total] = 0u8;
|
||||||
let r: str;
|
let r: str;
|
||||||
r.ptr = p;
|
r.ptr = p.ptr;
|
||||||
r.len = total;
|
r.len = total;
|
||||||
return r;
|
return r;
|
||||||
};
|
};
|
||||||
@@ -875,12 +875,12 @@ fn internstrlit(c: *cgen, bytes: str) str = {
|
|||||||
for (dk < n) { buf[3 + dk] = ns.ptr[dk]; dk += 1; };
|
for (dk < n) { buf[3 + dk] = ns.ptr[dk]; dk += 1; };
|
||||||
c.strlitseq += 1;
|
c.strlitseq += 1;
|
||||||
let total: i32 = 3 + n;
|
let total: i32 = 3 + n;
|
||||||
let p: *u8 = amalloc(c.a, (total: u64) + 1u64): *u8;
|
let p: []u8 = alloc([], (total: u64) + 1u64)!;
|
||||||
let i: i32 = 0;
|
let i: i32 = 0;
|
||||||
for (i < total) { p[i] = buf[i]; i += 1; };
|
for (i < total) { p[i] = buf[i]; i += 1; };
|
||||||
p[total] = 0u8;
|
p[total] = 0u8;
|
||||||
let lab: str;
|
let lab: str;
|
||||||
lab.ptr = p;
|
lab.ptr = p.ptr;
|
||||||
lab.len = total;
|
lab.len = total;
|
||||||
let nw: *strlit = alloc(strlit{label=lab, bytes=bytes, slnext=c.strlits})!;
|
let nw: *strlit = alloc(strlit{label=lab, bytes=bytes, slnext=c.strlits})!;
|
||||||
c.strlits = nw;
|
c.strlits = nw;
|
||||||
|
|||||||
@@ -21874,7 +21874,7 @@ fn mklabel(c: *cgen, prefix: str) str = {
|
|||||||
for (dk < n) { buf[i + dk] = ns.ptr[dk]; dk += 1; };
|
for (dk < n) { buf[i + dk] = ns.ptr[dk]; dk += 1; };
|
||||||
c.labelseq += 1;
|
c.labelseq += 1;
|
||||||
let total: i32 = i + n;
|
let total: i32 = i + n;
|
||||||
let p: *u8 = amalloc(c.a, (total: u64) + 1u64): *u8;
|
let p: []u8 = alloc([], (total: u64) + 1u64)!;
|
||||||
let k: i32 = 0;
|
let k: i32 = 0;
|
||||||
for (k < total) {
|
for (k < total) {
|
||||||
p[k] = buf[k];
|
p[k] = buf[k];
|
||||||
@@ -21882,7 +21882,7 @@ fn mklabel(c: *cgen, prefix: str) str = {
|
|||||||
};
|
};
|
||||||
p[total] = 0u8;
|
p[total] = 0u8;
|
||||||
let r: str;
|
let r: str;
|
||||||
r.ptr = p;
|
r.ptr = p.ptr;
|
||||||
r.len = total;
|
r.len = total;
|
||||||
return r;
|
return r;
|
||||||
};
|
};
|
||||||
@@ -21913,7 +21913,7 @@ fn mkscratchname(c: *cgen, prefix: str) str = {
|
|||||||
for (dk < n) { buf[i + dk] = ns.ptr[dk]; dk += 1; };
|
for (dk < n) { buf[i + dk] = ns.ptr[dk]; dk += 1; };
|
||||||
c.labelseq += 1;
|
c.labelseq += 1;
|
||||||
let total: i32 = i + n;
|
let total: i32 = i + n;
|
||||||
let p: *u8 = amalloc(c.a, (total: u64) + 1u64): *u8;
|
let p: []u8 = alloc([], (total: u64) + 1u64)!;
|
||||||
let k: i32 = 0;
|
let k: i32 = 0;
|
||||||
for (k < total) {
|
for (k < total) {
|
||||||
p[k] = buf[k];
|
p[k] = buf[k];
|
||||||
@@ -21921,7 +21921,7 @@ fn mkscratchname(c: *cgen, prefix: str) str = {
|
|||||||
};
|
};
|
||||||
p[total] = 0u8;
|
p[total] = 0u8;
|
||||||
let r: str;
|
let r: str;
|
||||||
r.ptr = p;
|
r.ptr = p.ptr;
|
||||||
r.len = total;
|
r.len = total;
|
||||||
return r;
|
return r;
|
||||||
};
|
};
|
||||||
@@ -21950,12 +21950,12 @@ fn internstrlit(c: *cgen, bytes: str) str = {
|
|||||||
for (dk < n) { buf[3 + dk] = ns.ptr[dk]; dk += 1; };
|
for (dk < n) { buf[3 + dk] = ns.ptr[dk]; dk += 1; };
|
||||||
c.strlitseq += 1;
|
c.strlitseq += 1;
|
||||||
let total: i32 = 3 + n;
|
let total: i32 = 3 + n;
|
||||||
let p: *u8 = amalloc(c.a, (total: u64) + 1u64): *u8;
|
let p: []u8 = alloc([], (total: u64) + 1u64)!;
|
||||||
let i: i32 = 0;
|
let i: i32 = 0;
|
||||||
for (i < total) { p[i] = buf[i]; i += 1; };
|
for (i < total) { p[i] = buf[i]; i += 1; };
|
||||||
p[total] = 0u8;
|
p[total] = 0u8;
|
||||||
let lab: str;
|
let lab: str;
|
||||||
lab.ptr = p;
|
lab.ptr = p.ptr;
|
||||||
lab.len = total;
|
lab.len = total;
|
||||||
let nw: *strlit = alloc(strlit{label=lab, bytes=bytes, slnext=c.strlits})!;
|
let nw: *strlit = alloc(strlit{label=lab, bytes=bytes, slnext=c.strlits})!;
|
||||||
c.strlits = nw;
|
c.strlits = nw;
|
||||||
|
|||||||
Reference in New Issue
Block a user