Commit Graph

  • ade6840610 wcc: N_DOT-base address arithmetic for [N]T-field index (#135) Hojun-Cho 2026-05-26 22:56:00 +09:00
  • 3986818172 wcc: compound-assign load-op-store for indexed + chained-ptr-field lvalues (#133) Hojun-Cho 2026-05-26 22:27:32 +09:00
  • 36bf60350c wcc: nodeisunsigned N_INDEX reads stamped type_ (#134) Hojun-Cho 2026-05-26 21:28:14 +09:00
  • 4acab6e0bb wcc: cgen N_CALL "len" TY_ARRAY/TY_SLICE/TY_STR intercept (#131) Hojun-Cho 2026-05-26 20:39:03 +09:00
  • bb6f8406c7 lib/strconv: stof_data left_shift_table + pow5_table (#106 fold-2) Hojun-Cho 2026-05-26 20:01:47 +09:00
  • e28d6b2e9d lib/math: NAN/INF bits + flattened F64_EXPBIAS (#106 fold-1b) Hojun-Cho 2026-05-26 19:19:48 +09:00
  • e6beb566ea wcc: narrow integer pointer-deref load width via localloadop (#116) Hojun-Cho 2026-05-26 19:14:14 +09:00
  • e9620953a0 lib/math: F32 family + f32bits/f32frombits + floatinfo struct (#106 fold-1a) Hojun-Cho 2026-05-26 19:10:02 +09:00
  • 0a2747ce5b wcc: collapse exprfloatkind structural body onto checker stamp (#121) Hojun-Cho 2026-05-26 18:30:18 +09:00
  • 1c4cea4e2c wcc: exprfloatkind structural/stamp floatness-disagreement bridge (#121) Hojun-Cho 2026-05-26 17:46:39 +09:00
  • 98e166504f wcc: stamp N_IDENT-callee destructure bindings in checker (#121) Hojun-Cho 2026-05-26 17:27:44 +09:00
  • 7d7ed964b0 wcc: f32 array-element store from X0 (#122) Hojun-Cho 2026-05-26 14:46:01 +09:00
  • 0917fee48d wcc: float array-element loads to X0 + indexed-float consumer (#119) Hojun-Cho 2026-05-26 13:06:42 +09:00
  • a1dff13ec1 wcc: stamp un-suffixed f32-context float literals (#104 fold-2) Hojun-Cho 2026-05-26 12:06:47 +09:00
  • acaf0152da wcc: narrow f32-typed float literals at materialisation (#104 fold-1) Hojun-Cho 2026-05-26 11:19:37 +09:00
  • 345325838f lib/sort: faithful search + lbisect + rbisect port Hojun-Cho 2026-05-26 10:54:35 +09:00
  • 3a0c7442d4 wcc: opaque assignability sink + reinterpret-cast verify (#108) Hojun-Cho 2026-05-26 10:29:04 +09:00
  • f4970d886c wcc: opaque use-guards — reject every unsized use (incl tuple/tagged, recursive) (#108) Hojun-Cho 2026-05-26 09:23:50 +09:00
  • 3a18d2cfe6 wcc: add the opaque abstract type (kind + UNDEFINED sentinel + name-binding) (#108) Hojun-Cho 2026-05-26 09:02:08 +09:00
  • d9cfb91cb9 types: add INT/UINT limit constants, derived from size(int) (#114) Hojun-Cho 2026-05-26 08:31:41 +09:00
  • b1c598651f types: add SIZE/UINTPTR limit constants Hojun-Cho 2026-05-26 03:03:24 +09:00
  • 5e4d67d90a check: widen const def-ref to declared int type in def init (#113) Hojun-Cho 2026-05-26 02:39:35 +09:00
  • 9a265a31f5 wcc: name-bind the size type in type position (#85 fold-2) Hojun-Cho 2026-05-26 01:55:54 +09:00
  • bd7181ae1f wcc: add the size primitive type (TY_SIZE), classify as unsigned int (#85) Hojun-Cho 2026-05-26 01:26:03 +09:00
  • 68dbb77d6c test: combined.ww freshness gate in phase-2 (#110) Hojun-Cho 2026-05-26 01:07:58 +09:00
  • 529eb51af3 selfhost: resync smoke.combined.ww to current lib/types (#110) Hojun-Cho 2026-05-26 01:07:25 +09:00
  • 330792b884 lib/math: checked sat_subu* unsigned saturating subtract (#28) Hojun-Cho 2026-05-25 17:11:17 +09:00
  • c40b2df097 lib/types: add U*_MIN and RUNE_MIN Hojun-Cho 2026-05-25 17:11:17 +09:00
  • 4578ce98a0 selfhost: resync w6c/wwdump combined.ww to current wcc source (#109) Hojun-Cho 2026-05-26 00:33:50 +09:00
  • f12676b880 test: 952 add frexpf64 runtime rows Hojun-Cho 2026-05-25 16:48:14 +09:00
  • 9311e6ca4e lib/math: math::floats fold-2a frexpf64 decompose Hojun-Cho 2026-05-25 16:48:14 +09:00
  • b4752aad21 test: 952 add issubnormalf64 + normalizef64 runtime rows Hojun-Cho 2026-05-25 15:06:25 +09:00
  • 263257f2c1 lib/math: math::floats fold-2a issubnormalf64 + normalizef64 Hojun-Cho 2026-05-25 15:06:19 +09:00
  • 8182342a9d test: 956 branched f64-tuple receive across all 3 forms, run + cs==ww byte-id (#105) Hojun-Cho 2026-05-25 16:23:47 +09:00
  • ec19d0ad20 cgen: tuple receive spills f64 word from XMM, not integer reg (both stages, #105) Hojun-Cho 2026-05-25 16:23:47 +09:00
  • 4c4006d854 test: 955 add negative-f64-lit compare rows (#103 FACE X) Hojun-Cho 2026-05-25 15:38:47 +09:00
  • 0388cb7a26 test: 955 f64 XMM-materialise run + cs==ww byte-id (#103) Hojun-Cho 2026-05-25 15:26:48 +09:00
  • c9e39c6782 cgen: f64-typed int-literal + tuple-field materialize in X0 (both stages, #103) Hojun-Cho 2026-05-25 15:26:43 +09:00
  • e784968dd8 test: 954 add struct-exclusion control row (#102 over-catch guard) Hojun-Cho 2026-05-25 14:45:04 +09:00
  • 734c0c36e5 test: 954 16B tuple-from-call receive cs==ww byte-id + cstage run (#102) Hojun-Cho 2026-05-25 14:29:41 +09:00
  • 6a586cf792 cgen: wwstage cglet spills both eightbytes of a 16B tuple-from-call receive (#102) Hojun-Cho 2026-05-25 14:29:34 +09:00
  • 60c3e51dc5 test: 953 add #98 XMM-pressure row (myf.g() as 1-of-3 f64 args, MOVSD->X2) Hojun-Cho 2026-05-25 14:04:07 +09:00
  • ab22900ad1 test: 953 f64 cross-module return cast/arg cs==ww byte-id + cstage run (#98/#101) Hojun-Cho 2026-05-25 13:51:13 +09:00
  • 7b3abf0ec5 cgen: wwstage fnretlookup resolves cross-module callee f64 return type (#98/#101) Hojun-Cho 2026-05-25 13:48:31 +09:00
  • 6f8b658c17 lib/math: inline floats f64bits/f64frombits reinterpret deref Hojun-Cho 2026-05-25 13:29:35 +09:00
  • 389f314473 test: math::floats fold-1 runtime regression Hojun-Cho 2026-05-25 13:17:47 +09:00
  • 253f13fa3b lib/math: port math::floats fold-1 (f64 classify/sign/bits) Hojun-Cho 2026-05-25 13:14:10 +09:00
  • ec184aade7 test: f64 cgen deref-load + NaN-compare runtime regression (#96/#97) Hojun-Cho 2026-05-25 13:04:14 +09:00
  • fa136d0b88 cgen: f64 compare consults parity flag for NaN, 4 relops (both stages, #97) Hojun-Cho 2026-05-25 12:40:23 +09:00
  • 2f2a73bd41 cgen: f64 deref-load -> MOVSD/MOVSS into X0 (both stages, #96) Hojun-Cho 2026-05-25 12:27:19 +09:00
  • 0d1ae17dd0 check: def rhs const-fold resolves sibling/imported defs + casts (#88) Hojun-Cho 2026-05-25 11:16:08 +09:00
  • b7e1ad1a4b lib/math: port math::checked (overflow + saturating arithmetic) Hojun-Cho 2026-05-25 11:09:55 +09:00
  • 5a0427ef32 cgen: N-ary tuple destructure positional store + loud-stop (both stages, #83) Hojun-Cho 2026-05-25 09:34:05 +09:00
  • 1304db8871 cgen: *p=sliceval deref store -> 3-word (both stages, #79) Hojun-Cho 2026-05-25 02:59:40 +09:00
  • ab9de65b8e cgen: sub-slice ptr = base + lo*esz (both stages, #76) Hojun-Cho 2026-05-25 02:26:15 +09:00
  • 8b23ff3517 cgen: sub-slice cap = base_cap - lo Hojun-Cho 2026-05-25 01:12:38 +09:00
  • 324df92e1d cgen: unify cstage slice-let onto shared 3-word store path Hojun-Cho 2026-05-25 00:49:47 +09:00
  • 451e2ebec9 cgen: slice-elem store/read -> 3-word via kind-OR (both stages) Hojun-Cho 2026-05-25 00:20:16 +09:00
  • 7bb40d924f cgen: merge byte-identical str+slice cgassign arms onto kind-gates -- Phase 2 C4.4 Hojun-Cho 2026-05-24 22:39:04 +09:00
  • 3637993bb2 cgen: collapse redundant TY_STR esz special-cases onto str.sub -- Phase 2 step-3 Fold 2 Hojun-Cho 2026-05-24 18:01:32 +09:00
  • 3d7c707bd2 cgen: ww str for-range loop-var narrows to MOVZBQ -- Phase 2 step-3 Fold 1 (align-up) Hojun-Cho 2026-05-24 17:29:20 +09:00
  • 80527f3868 cgen: str a,s=call() N_MASSIGN tuple-elem store -> 3-word -- Phase 2 G3 (both stages) Hojun-Cho 2026-05-24 16:54:14 +09:00
  • b51a7daa25 cgen: str chained <expr>.field = v store -> 3-word -- Phase 2 G2 (both stages) Hojun-Cho 2026-05-24 16:18:49 +09:00
  • c6929231dc cgen: str arr[i].field = v store -> 3-word -- Phase 2 G1 (both stages) Hojun-Cho 2026-05-24 15:35:37 +09:00
  • c3bbe17163 cgen: str arr[i].field read -> 3-word -- Phase 2 C4.6 arrfield (both stages) Hojun-Cho 2026-05-24 14:57:05 +09:00
  • 877a1af6d3 cgen: str tuple-positional element read -> 3-word -- Phase 2 C4.6 S3 (both stages) Hojun-Cho 2026-05-24 14:22:25 +09:00
  • 634cbefc22 cgen: str chained-*struct field read -> 3-word -- Phase 2 C4.6 caseB (both stages) Hojun-Cho 2026-05-24 13:57:20 +09:00
  • 90deeb3821 cgen: str N_DOT field read -> 3-word {ptr,len,cap} -- Phase 2 C4.6 (both stages) Hojun-Cho 2026-05-24 13:31:58 +09:00
  • 97707155ae cgen: str N_INDEX read -> 3-word {ptr,len,cap} -- Phase 2 F2 (both stages) Hojun-Cho 2026-05-24 12:27:15 +09:00
  • fb4c567e0d wcc: populate str.sub = u8 -- Phase 2 F1 foundation (both stages) Hojun-Cho 2026-05-24 09:34:54 +09:00
  • 4db680690a test/wcc/928: runtime coverage for str byte-index (C2) + str-into-tagged-union (C4.8) Hojun-Cho 2026-05-24 09:19:20 +09:00
  • b416e7114e cgen: fold str tagged-variant payload store onto slice arm (both stages) Hojun-Cho 2026-05-24 09:00:53 +09:00
  • a5ca21ddba cgen: str index-stride via type table, not literal 1 (both stages) Hojun-Cho 2026-05-24 09:00:36 +09:00
  • 1140a590bf wcc: str -> 24B {ptr,len,cap}, 3-reg ABI -- parity with []u8 (both stages) Hojun-Cho 2026-05-24 06:40:59 +09:00
  • d9345555c0 rt: bump-over-mmap allocator (rt_segmalloc + rt_free no-op) Hojun-Cho 2026-05-24 07:15:38 +09:00
  • f45caf1cd9 selfhost/cmd/wcc: index-base esz from n.type_.size + delete indexbaseesz (#72, A.6.3k) Hojun-Cho 2026-05-24 03:16:14 +09:00
  • 0763377806 selfhost/cmd/wcc: dotchainresolve walks tinfo.fields (#71, A.6.3j) Hojun-Cho 2026-05-24 02:35:53 +09:00
  • 6971f57356 selfhost/cmd/wcc: collapse chained-dot offset-emit onto tinfo.fields + delete dotinnerstructptr (#70, #12) Hojun-Cho 2026-05-24 01:41:05 +09:00
  • e5092709e4 selfhost/cmd/wcc: drop indexvaluetnode from cgassign + delete 3 retired AST-walkers (#69, #61d) Hojun-Cho 2026-05-24 00:16:14 +09:00
  • 901ddf20b9 selfhost/cmd/wcc/cgenutil: tagged-store machinery reads tinfo.params (#68) Hojun-Cho 2026-05-23 22:57:13 +09:00
  • aec48e8c13 selfhost/cmd/wcc: matchscrutt returns scrutinee node, gate on istaggedtype (#67) Hojun-Cho 2026-05-23 21:55:52 +09:00
  • 3036ba766d selfhost/cmd/wcc: type-key tagged variant match (#66, Phase-N step 3) Hojun-Cho 2026-05-23 21:22:24 +09:00
  • 0fde4beeb4 selfhost/cmd/wcc: peel NAMED in elemissignedc + refresh #63 comments (#65) Hojun-Cho 2026-05-23 19:54:00 +09:00
  • 3866ea24f5 selfhost/cmd/wcc/check: build per-decl TY_NAMED in tinfofornode (#64, Phase-N step 2) Hojun-Cho 2026-05-23 19:33:04 +09:00
  • ae6a59a355 selfhost/cmd/wcc: peel TY_NAMED in 5 structural walkers (#63, Phase-N step 1) Hojun-Cho 2026-05-23 18:44:12 +09:00
  • e0c0f75b2a selfhost/cmd/wcc/check: flatten tagged spreads + iserror on tinfo.params (#61a) Hojun-Cho 2026-05-23 17:36:39 +09:00
  • 38d6eb667c selfhost/cmd/wcc: inline N_INDEX elem tinfo at 3 tagged push/index sites (#60) Hojun-Cho 2026-05-23 17:04:31 +09:00
  • 827a05e548 selfhost/cmd/wcc/cgenutil: exprprimresolved N_DOT off dotfieldtnode (#59) Hojun-Cho 2026-05-23 16:10:46 +09:00
  • 8ccda588c6 selfhost/cmd/wcc/cgenutil: trim rhstaggedabicall N_DOT onto n.type_ (#58, A.6.3i-phase-2) Hojun-Cho 2026-05-23 15:41:31 +09:00
  • 6c9a3b369e selfhost/cmd/wcc/check: populate tinfo.fields + .tupleelems (#57, A.6.3i-phase-1) Hojun-Cho 2026-05-23 15:13:07 +09:00
  • 8d4a9700a0 selfhost/cmd/wcc/cgenutil: collapse slice+str N_DOT arms (#56, A.6.3h) Hojun-Cho 2026-05-23 14:39:05 +09:00
  • 8da14147b3 selfhost/cmd/wcc/cgenutil: collapse N_DOT arms onto n.type_ (#55, A.6.3g) Hojun-Cho 2026-05-23 13:59:06 +09:00
  • 908875682a selfhost/cmd/wcc/cgenutil: collapse nullableptrtag onto tinfo.params (#50 phase 2, A.6.3f-b) Hojun-Cho 2026-05-23 02:21:53 +09:00
  • 26724feefb selfhost/cmd/wcc/check: populate TY_TAGGED.params (#50 phase 1, A.6.3f-a) Hojun-Cho 2026-05-23 01:51:29 +09:00
  • 883665e962 selfhost/cmd/wcc/cgenutil: collapse fieldsize onto tinfo (#49, A.6.3e) Hojun-Cho 2026-05-23 01:28:38 +09:00
  • a828c036d0 selfhost/cmd/wcc/cgenutil: collapse slotsize onto tinfo (#48, A.6.3d) Hojun-Cho 2026-05-23 00:55:44 +09:00
  • 68219a119c selfhost/cmd/wcc/cgenutil: collapse localloadop onto tinfo (#47, A.6.3c) Hojun-Cho 2026-05-23 00:11:05 +09:00
  • 747279c029 selfhost/cmd/wcc: collapse typenameisunsigned onto tinfo (#52, A.6.3c-cast) Hojun-Cho 2026-05-22 23:44:31 +09:00
  • 3eef2828c6 selfhost/cmd/wcc: stamp typed-suffix N_FLOATLIT (#51b) Hojun-Cho 2026-05-22 23:12:07 +09:00
  • 1ce0f638bf selfhost/cmd/wcc: stamp typed-suffix N_INTLIT (#51, #52 precursor) Hojun-Cho 2026-05-22 22:55:54 +09:00