Hojun-Cho
f7fd3e4850
wcc_ww/cgen: #62 Layer-2 (ww half) — rhsstructpayload chases the alias chain; widen-store su at entry
...
The wwstage tagged widen's struct-payload classify was name-keyed:
rhsstructpayload's N_IDENT arm did a bare structlookup on the local's
declared TNAME, so an alias name (ali->base) missed the registered
structinfo and the value fell past the struct arm to the SCALAR widen
arm — word0-only box payload, words 1+ zero-filled. At normal decl
order this was BOTH-WRONG-IDENTICAL with cstage pre-F1 (byte-id YES,
gate-blind; F0 m5b_match1 exit 2/2). Choke-point fix: route the arm
through structlookupchain (the name-domain twin of cstage's
su = type_chase_named, c138605 ) and return the REGISTERED struct
name so every consumer's re-lookup hits. All three consumers
graduate through the one funnel (proof-grep: rhsstructpayload is the
only struct-payload classifier): cgwidentaggedstorebp's struct arm
(let/assign/match), pushargsrev's widen route (the call-arg twin),
and cgreturn's needswiden (cgenstmt.ww:1022). The variant TAG still
keys on the un-chased stamped type — the member's nominal identity
is the alias (cg_tag_for_variant precedent).
Rider, same store family: cgwidentaggedstorebp now chases the source
classify ONCE at entry (post cast peels, where src is final) —
`su = tichase(src.type_)` replaces the five per-arm chases
(nested-arm su / memread su37 / >32B+cast-guard sf37 / tuple-guard
stu72 / tuple-arm stu, all reading the same src.type_), mirroring
cstage cg_widen_tagged_store's su position. dt entry loop + the
remaining in-function plain chases (castu/ceti/fti/fvt) collapse to
tichase — mechanical, excluded from c1 only because the function was
c2 scope wholesale.
Runtime graduation (banked rows .ai/impl62r_layer2_rows.md):
m5b_match1 (L2-1 norm) + m5_match (L2-2 fwd) cs0/ww2 -> 0/0 byte-id;
L2-4 3-word (last payload word) 0/0; push-twin arg row 0/0; control
m5b_match0 holds 0/0 (ken confirms at verdict). test 944: the four
K_RUN_CS rows flip to K_RUN (both drivers + byte-id), 129/129.
SURFACED, FILED NOT FIXED (task #89 ): the RETURN-position leg
(`return x` of an alias struct into a (void|ali) fn return) was
both-wrong-identical (cs1/ww1 byte-id) and is now transiently
cs1/ww0 byte-id NO — ww is the runtime-correct side; cstage
cgreturn's own route into the widen misses the alias (F1 c138605
covered store+push only). F1-precedent transient divergence, noted
per the L2 rows file's acceptance clause.
Selfhost byte-id: new w6c_ww on the c1-HEAD five main.combined.ww —
byte-identical to the c1 build's output (the fix is asm-neutral on
the corpus); cs==ww on the regenerated five. make test-unit green
(288). Closes task #62 's ww half — fix-landed-pending-gate (#71
precedent). combined.ww regens ride along.
2026-06-05 21:46:36 +09:00
..
2026-06-02 18:54:35 +09:00
2026-05-11 13:49:27 +09:00
2026-05-18 18:25:36 +09:00
2026-05-18 18:25:36 +09:00
2026-05-16 11:17:20 +09:00
2026-05-11 13:49:27 +09:00
2026-05-11 13:49:27 +09:00
2026-05-12 11:35:50 +09:00
2026-05-12 12:45:11 +09:00
2026-05-11 13:49:27 +09:00
2026-05-11 13:49:27 +09:00
2026-05-12 13:44:27 +09:00
2026-05-12 13:37:31 +09:00
2026-05-16 03:00:34 +09:00
2026-05-13 20:06:24 +09:00
2026-05-14 02:44:57 +09:00
2026-05-14 01:58:52 +09:00
2026-05-14 00:36:34 +09:00
2026-05-13 23:45:35 +09:00
2026-05-25 01:59:14 +09:00
2026-06-03 14:58:23 +09:00
2026-06-03 18:03:13 +09:00
2026-06-03 18:53:44 +09:00
2026-06-03 20:32:22 +09:00
2026-06-03 20:55:52 +09:00
2026-06-03 22:58:45 +09:00
2026-06-03 22:38:02 +09:00
2026-06-03 23:51:28 +09:00
2026-05-14 00:21:53 +09:00
2026-05-14 23:45:14 +09:00
2026-05-14 23:26:49 +09:00
2026-05-25 01:59:14 +09:00
2026-05-15 01:39:37 +09:00
2026-05-25 01:59:14 +09:00
2026-05-15 14:16:53 +09:00
2026-05-15 11:24:33 +09:00
2026-05-28 14:07:58 +09:00
2026-05-15 15:06:37 +09:00
2026-06-04 22:42:47 +09:00
2026-05-15 16:43:07 +09:00
2026-05-15 18:13:02 +09:00
2026-05-15 18:14:33 +09:00
2026-05-15 18:45:21 +09:00
2026-05-15 19:07:29 +09:00
2026-05-16 00:07:00 +09:00
2026-05-27 13:04:02 +09:00
2026-05-16 10:47:50 +09:00
2026-05-16 11:17:20 +09:00
2026-05-16 12:20:56 +09:00
2026-05-16 11:37:17 +09:00
2026-05-16 11:17:20 +09:00
2026-05-16 12:52:36 +09:00
2026-05-16 13:45:33 +09:00
2026-05-16 23:32:27 +09:00
2026-05-17 00:00:55 +09:00
2026-05-17 00:27:22 +09:00
2026-05-17 01:40:49 +09:00
2026-05-17 07:25:49 +09:00
2026-05-17 07:33:55 +09:00
2026-05-18 00:15:34 +09:00
2026-05-18 01:51:57 +09:00
2026-05-18 02:20:42 +09:00
2026-05-18 02:49:06 +09:00
2026-05-18 03:15:40 +09:00
2026-05-18 18:25:36 +09:00
2026-05-18 18:25:36 +09:00
2026-05-18 18:25:36 +09:00
2026-06-02 18:54:35 +09:00
2026-05-18 12:01:34 +09:00
2026-05-18 18:25:36 +09:00
2026-05-25 11:27:00 +09:00
2026-05-18 18:25:36 +09:00
2026-05-18 18:25:36 +09:00
2026-05-18 18:25:36 +09:00
2026-05-18 18:25:36 +09:00
2026-06-04 04:34:54 +09:00
2026-05-18 19:22:27 +09:00
2026-05-18 19:22:27 +09:00
2026-05-18 19:40:41 +09:00
2026-05-18 19:55:30 +09:00
2026-05-24 08:11:14 +09:00
2026-05-18 20:55:37 +09:00
2026-05-18 21:13:42 +09:00
2026-05-18 23:01:09 +09:00
2026-05-18 23:37:16 +09:00
2026-05-18 23:56:58 +09:00
2026-05-19 00:58:28 +09:00
2026-05-19 02:13:58 +09:00
2026-05-19 03:09:34 +09:00
2026-05-19 03:39:42 +09:00
2026-05-19 04:04:41 +09:00
2026-05-19 04:56:56 +09:00
2026-05-19 10:44:16 +09:00
2026-05-19 12:30:36 +09:00
2026-05-19 13:43:45 +09:00
2026-05-19 15:09:57 +09:00
2026-05-20 02:27:17 +09:00
2026-05-24 08:11:14 +09:00
2026-05-22 00:14:36 +09:00
2026-05-26 02:39:35 +09:00
2026-05-28 16:16:29 +09:00
2026-05-28 17:12:20 +09:00
2026-05-28 18:03:26 +09:00
2026-05-28 18:50:10 +09:00
2026-05-28 19:25:53 +09:00
2026-05-28 20:01:14 +09:00
2026-05-28 20:55:42 +09:00
2026-05-30 03:24:23 +09:00
2026-05-28 23:17:22 +09:00
2026-05-29 01:00:02 +09:00
2026-05-29 03:04:18 +09:00
2026-05-29 03:52:04 +09:00
2026-05-29 04:51:44 +09:00
2026-05-29 06:18:27 +09:00
2026-05-30 03:24:23 +09:00
2026-05-30 03:24:23 +09:00
2026-06-01 05:04:46 +09:00
2026-05-31 20:31:40 +09:00
2026-05-31 20:31:40 +09:00
2026-06-01 05:04:46 +09:00
2026-06-01 05:04:46 +09:00
2026-05-31 23:34:16 +09:00
2026-05-29 18:05:53 +09:00
2026-05-30 02:00:07 +09:00
2026-05-30 04:54:12 +09:00
2026-05-30 05:29:58 +09:00
2026-05-30 06:47:44 +09:00
2026-05-31 17:00:42 +09:00
2026-05-30 09:04:33 +09:00
2026-05-30 09:36:32 +09:00
2026-06-04 16:10:34 +09:00
2026-05-31 20:31:40 +09:00
2026-05-31 22:20:53 +09:00
2026-06-01 02:07:59 +09:00
2026-06-01 09:01:56 +09:00
2026-06-01 09:57:45 +09:00
2026-06-01 09:59:32 +09:00
2026-06-01 11:53:06 +09:00
2026-06-01 13:36:42 +09:00
2026-06-04 02:38:36 +09:00
2026-05-11 13:49:27 +09:00
2026-06-03 00:28:16 +09:00
2026-06-04 13:37:19 +09:00
2026-06-03 15:57:33 +09:00
2026-06-04 23:37:08 +09:00
2026-06-04 13:00:03 +09:00
2026-06-05 00:00:00 +09:00
2026-06-04 10:20:18 +09:00
2026-06-05 09:31:23 +09:00
2026-06-04 22:48:53 +09:00
2026-06-04 23:37:08 +09:00
2026-06-05 00:19:47 +09:00
2026-05-12 13:50:09 +09:00
2026-06-05 02:39:09 +09:00
2026-06-05 06:18:45 +09:00
2026-06-04 22:42:47 +09:00
2026-05-28 10:40:08 +09:00
2026-05-28 08:07:19 +09:00
2026-05-28 09:06:54 +09:00
2026-05-28 09:06:54 +09:00
2026-05-30 05:58:06 +09:00
2026-06-01 18:23:29 +09:00
2026-06-01 09:24:59 +09:00
2026-06-02 21:58:39 +09:00
2026-06-02 22:18:19 +09:00
2026-05-27 22:13:46 +09:00
2026-05-27 18:43:08 +09:00
2026-05-27 16:17:24 +09:00
2026-05-27 15:39:03 +09:00
2026-05-27 13:55:56 +09:00
2026-05-12 03:14:20 +09:00
2026-05-27 00:12:39 +09:00
2026-05-27 01:29:24 +09:00
2026-05-27 01:51:12 +09:00
2026-05-27 02:32:31 +09:00
2026-05-27 03:07:49 +09:00
2026-05-27 03:30:15 +09:00
2026-05-27 04:19:37 +09:00
2026-05-27 05:04:05 +09:00
2026-05-27 12:21:15 +09:00
2026-06-03 11:35:03 +09:00
2026-05-27 09:18:03 +09:00
2026-05-27 10:27:55 +09:00
2026-05-27 00:44:16 +09:00
2026-06-01 22:26:53 +09:00
2026-05-17 07:25:49 +09:00
2026-05-17 07:33:55 +09:00
2026-05-29 23:19:36 +09:00
2026-05-18 00:15:34 +09:00
2026-05-29 19:43:48 +09:00
2026-05-18 01:51:57 +09:00
2026-06-04 04:01:16 +09:00
2026-06-04 04:34:54 +09:00
2026-05-18 02:20:42 +09:00
2026-06-04 04:54:43 +09:00
2026-06-04 05:28:45 +09:00
2026-05-24 09:19:20 +09:00
2026-05-18 18:25:36 +09:00
2026-06-05 07:39:24 +09:00
2026-06-04 06:13:18 +09:00
2026-05-18 12:01:34 +09:00
2026-06-01 17:34:23 +09:00
2026-05-23 21:22:24 +09:00
2026-05-24 12:27:15 +09:00
2026-05-24 13:31:58 +09:00
2026-05-24 13:57:20 +09:00
2026-05-24 14:22:25 +09:00
2026-05-24 14:57:05 +09:00
2026-06-04 21:07:38 +09:00
2026-06-04 21:09:31 +09:00
2026-05-24 15:35:37 +09:00
2026-05-24 16:18:49 +09:00
2026-06-05 08:39:40 +09:00
2026-05-24 16:54:14 +09:00
2026-05-30 00:46:57 +09:00
2026-06-01 19:01:58 +09:00
2026-06-01 17:52:42 +09:00
2026-05-24 17:29:20 +09:00
2026-06-04 19:06:54 +09:00
2026-05-25 00:20:16 +09:00
2026-06-05 09:42:50 +09:00
2026-05-25 01:59:14 +09:00
2026-05-25 02:36:54 +09:00
2026-06-05 21:46:36 +09:00
2026-06-05 10:46:17 +09:00
2026-06-05 21:10:35 +09:00
2026-06-05 20:14:49 +09:00
2026-05-25 03:13:48 +09:00
2026-06-01 21:27:49 +09:00
2026-06-01 13:36:42 +09:00
2026-05-26 14:46:01 +09:00
2026-05-27 23:31:19 +09:00
2026-05-28 01:50:28 +09:00
2026-05-26 19:14:14 +09:00
2026-05-26 22:27:32 +09:00
2026-06-02 15:00:55 +09:00
2026-06-02 14:01:03 +09:00
2026-05-26 22:56:00 +09:00
2026-06-01 23:10:46 +09:00
2026-06-04 22:34:09 +09:00
2026-06-02 01:19:46 +09:00
2026-06-02 05:41:34 +09:00
2026-05-20 01:09:16 +09:00
2026-06-02 02:16:13 +09:00
2026-05-25 13:04:14 +09:00
2026-05-27 10:55:31 +09:00
2026-06-02 05:31:24 +09:00
2026-06-04 01:44:39 +09:00
2026-05-25 14:04:07 +09:00
2026-05-26 17:27:44 +09:00
2026-05-25 15:38:47 +09:00
2026-05-28 03:55:22 +09:00
2026-06-01 13:36:42 +09:00
2026-06-04 22:42:47 +09:00
2026-05-26 01:55:54 +09:00
2026-05-26 03:07:01 +09:00
2026-05-26 08:31:41 +09:00
2026-05-26 09:02:08 +09:00
2026-05-26 09:52:13 +09:00
2026-05-26 10:29:04 +09:00
2026-05-26 10:54:35 +09:00
2026-05-26 11:19:37 +09:00
2026-05-26 12:06:47 +09:00
2026-05-18 19:22:27 +09:00
2026-05-18 00:48:14 +09:00
2026-05-17 23:46:34 +09:00
2026-05-25 11:16:25 +09:00
2026-05-18 19:22:27 +09:00
2026-05-18 19:22:27 +09:00
2026-05-18 19:22:27 +09:00
2026-05-15 15:48:13 +09:00
2026-05-15 17:13:32 +09:00
2026-05-15 17:14:49 +09:00
2026-05-16 02:42:41 +09:00
2026-05-17 02:51:15 +09:00
2026-05-17 02:40:40 +09:00
2026-05-17 07:07:57 +09:00
2026-05-15 00:26:10 +09:00
2026-05-15 00:27:38 +09:00
2026-05-18 19:22:27 +09:00
2026-05-15 09:00:34 +09:00
2026-05-15 09:00:34 +09:00
2026-05-15 09:00:34 +09:00
2026-05-15 09:00:34 +09:00
2026-05-15 09:00:34 +09:00
2026-05-15 09:00:34 +09:00
2026-06-04 23:25:07 +09:00
2026-06-05 01:37:35 +09:00
2026-06-04 16:11:08 +09:00
2026-06-02 09:44:38 +09:00
2026-05-15 09:00:34 +09:00
2026-06-01 14:05:32 +09:00
2026-05-21 16:32:27 +09:00
2026-05-21 16:32:27 +09:00
2026-06-03 19:20:57 +09:00
2026-05-21 16:32:27 +09:00
2026-05-21 18:07:13 +09:00
2026-05-11 17:52:29 +09:00
2026-05-12 03:58:55 +09:00
2026-05-14 02:51:49 +09:00
2026-05-15 09:00:34 +09:00