Skip to content

docs(unshadow): HEXA-STACK 전략 정식화 — 🟡 floor 상속 + 🔵 ceiling 적층#2095

Merged
dancinlife merged 1 commit into
mainfrom
unshadow-hexa-stack-doc
May 29, 2026
Merged

docs(unshadow): HEXA-STACK 전략 정식화 — 🟡 floor 상속 + 🔵 ceiling 적층#2095
dancinlife merged 1 commit into
mainfrom
unshadow-hexa-stack-doc

Conversation

@dancinlife
Copy link
Copy Markdown
Contributor

B(#2093)+C(#2094) 랜딩 후 UNSHADOW 전제를 HEXA-STACK 으로 정식화.

  • LLVM 재구현 안 함(M1: native-asm 5/5 패배) → clang -O2 를 🟡 floor 로 상속 + 🔵 우위를 ceiling 으로 적층
  • 두 closed-negative(ml: #200~#223 완료 (22 modules, 824 tests PASS) #2-ext rt_str · C tag-elision)가 runtime.o C-ABI 벽으로 수렴; LTO/same-TU = .c=0 졸업이 열쇠
  • UNSHADOW.md 전제 재작성 + 3 신규 milestone · UNSHADOW.easy.md 🏗️ HEXA-STACK 섹션 · UNSHADOW.log.md 기록

🤖 Generated with Claude Code

UNSHADOW 전제를 HEXA-STACK 으로 재작성: LLVM 을 재구현하지 않고(M1 native-asm
5/5 패배) clang -O2 를 floor 로 상속한 위에 🔵 우위(인라인·atlas-fold·
proof-carrying·check-elision)를 ceiling 으로 적층. 이번 사이클 두 closed-negative
(#2-ext rt_str · C tag-elision)가 한 블로커로 수렴 = runtime.o C-ABI 벽;
LTO/same-TU = .c=0 졸업이 두 tier 를 동시에 여는 열쇠.

- UNSHADOW.md: 전제 재작성 + 3 신규 milestone (🟡 parity 상속 · 🔵×🟡 LTO unwall
  실측 · 🏗️ 적층 원칙 문서화)
- UNSHADOW.easy.md: 🏗️ HEXA-STACK 적층 섹션 (ASCII floor/ceiling 다이어그램 + 비교표)
- UNSHADOW.log.md: B(#2093)+C(#2094) 랜딩 + ABI-벽 수렴 meta-finding 기록

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@dancinlife dancinlife merged commit d2d7a3d into main May 29, 2026
@dancinlife dancinlife deleted the unshadow-hexa-stack-doc branch May 29, 2026 14:45
dancinlife added a commit that referenced this pull request May 29, 2026
… 문서 (#2135)

* feat(codegen): unbox known-int BinOp result — inline HexaVal literal, not out-of-line hexa_int()

UNSHADOW 🟢 HexaVal 언박싱 pilot. STRUCTURAL-2 known-int BinOp fast-path
(codegen.hexa L5127)는 두 피연산자가 정적 TAG_INT 임을 이미 증명하므로
결과도 정적 TAG_INT 다. origin/main 은 결과를 out-of-line `hexa_int(…)` 로
재박싱했는데, runtime.h 가 hexa_int 를 함수 선언으로만 export 하여 -O2 에서
`bl _hexa_int` opaque ABI 호출이 남고 clang 이 runtime.o 벽 너머로 fold/LICM
못 한다 (§parity-attest 의 raw 7.9×~1263× 갭 주범). pilot 은 결과를 inline C
compound literal `((HexaVal){.tag=TAG_INT,.i=(…)})` 로 emit — runtime_core_emit
의 hexa_int 본문과 글자 그대로 동일한 값(byte-eq), 단 박싱 ABI 호출만 제거.
`_is_known_int` 증명 시만 발화, else 기존 boxed emit = 일반 경로 무변경.

측정 (mini macOS arm64 · clang 21 · faithful C A/B proxy, same runtime.o):
known-int 핫루프 599→53ms (11.30×, 91% drop), parity gap 11.09×→0.98×
(AT PARITY, 100% closed), hot-fn `bl _hexa_int` 17→0, AFTER mix() = 순수
레지스터 arith. g5 byte-diff IDENTICAL (md5 63888b02).

정직 caveat: full self-host rebuild 은 B9 빌드 벽(generated-.c 부재 + runtime.h
ABI skew)으로 차단 → faithful C proxy 측정(byte-eq 는 runtime 소스서 증명).
mut-누산기(fib류 known-int 미발화)는 미적용 = follow-up.
verdict=.verdicts/unshadow-hexaval-unbox/ · bench=domains/UNSHADOW.bench.md §hexaval-unbox

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* feat(unshadow): gated same-TU build mode (HEXA_SAME_TU=1) + cost/benefit pilot

UNSHADOW milestone "🔵×🟡 same-TU 빌드 기본화" 측정 파일럿. §lto-unwall(−31%)을
C-emit 빌드 레시피로 만들고 default/opt-in/no 정직 권고를 측정으로 도출.

self/main.hexa cmd_build 에 GATED same-TU MODE (opt-in·reversible):
  · codegen 반쪽 — HEXA_SAME_TU=1 → transpile 에 HEXA_USE_RUNTIME_C=1(기존
    codegen.hexa:947 hatch) → user.c `#include "runtime.c"` (런타임을 user TU 로).
  · link 반쪽 — HEXA_SAME_TU=1 → 별 runtime 2nd TU(_rt_input) 제거 → 단일 TU.
  · shared/target 가드. unset → byte-identical legacy walled.

측정(mini macOS arm64 · best-of-5 · A/B 프록시, full rebuild=B9 벽 차단·스펙 허용):
  BENEFIT — 경계호출 인라인 전면 개방(_rt_str_starts_with 2→0·_hexa_contains_poly
    1→0·_hexa_int 12→0): string −21%·HexaVal-arith −24%(string 전용 아님).
  COST — 빌드시간 ~35×(WARM 0.10s vs same-TU 3.55s · runtime.o 캐시 구조적 불가)·
    바이너리 −0.05%(wash)·generated-runtime.c 의존 재도입.
  g5 byte-IDENTICAL(0e2afa85·657d1ec4).

권고 = OPT-IN flag, NOT default (terminal). release/perf 빌드용 가치.

verdict=.verdicts/unshadow-same-tu/ · bench=UNSHADOW.bench.md §same-tu ·
재현=tool/unshadow_same_tu_bench.hexa. NO hand-written .c (B9: runtime source
는 emitter SSOT). milestone [x] flip.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(unshadow): flip HEXA-STACK stacking-principle milestone + add measured-evidence table

원칙(🟡 floor 상속 + 🔵 ceiling 적층 + ⛔ runtime.o ABI 벽 + 🔑 LTO/same-TU)은
#2095 에서 이미 easy.md §HEXA-STACK 으로 명문화됨. 빠진 조각 = 이번 캠페인 누적
실측을 한 표로 묶는 consolidated 측정 증거. easy.md §HEXA-STACK 에 "측정 증거" 표
추가 — 각 🔵 ceiling 기법(=#2 28%·A 65%·B 47%) + 🟢 arena RSS −40% + 🔑 same-TU
FLIP −31% + 정직한 한계(C tag-elision 🔴·bounds-null 🔴 NULL·HexaVal 언박싱=미측정
예측레버). UNSHADOW.md milestone → [x]. doc-only, 측정 0(전부 기존 verdict 인용).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: dancinlife <search5599@proton.me>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@dancinlife dancinlife restored the unshadow-hexa-stack-doc branch May 30, 2026 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant