2026-04-20

요약 (AI 작성)

2026-04-20은 주로 zts(Zero-TS) 최소화(minify) 기능 개선과 의미론(semantic) 분석 개선에 집중한 날입니다. 24개의 커밋이 오전 시간대부터 배치되며, 대표적인 PR들로 unused expression simplify(#1650)을 확장하여 Array/Call/New/Object에 적용하고, private field name mangle(#1632) Phase 1, top-level const/let → var 다운그레이드(#1630), dead store elimination(#1644) 등의 최적화 기능들이 포함되었습니다. 의미론 쪽에서는 compound assign/update를 {read, write}로 정확 분류(#1640), var↔lexical 재선언 조기검출 보강(#1660), private method/accessor 오진 제거(#1654) 등의 정적 분석 개선 작업들이 진행되었으며, bundler에서 HMR alias_table ownership transfer malloc abort 회귀(#1682), HMR changed_modules use-after-free(#1675) 등 버그 수정도 함께 반영되었습니다.

커밋

ohah/ohah.github.io

ohah/zts

PR (해당일 생성/머지)

repo#상태제목
ohah/zts#1682mergedfix(bundler): HMR alias_table ownership transfer (malloc abort)
ohah/zts#1681mergedfix(semantic): hoist var/function inside arrow function body
ohah/zts#1680mergedfix(semantic): visit Flow component wrapper const_decl for React ref resolution
ohah/zts#1679mergedfix(semantic): hoist let/const/class in block scope for static resolution
ohah/zts#1678mergedrefactor(minify): require scratch allocator as explicit parameter
ohah/zts#1677mergedfix(minify): skip orphan var_decls in dead-store elimination
ohah/zts#1676mergedfix(class): avoid orphan function_decl breaking var _this in bundle+es5
ohah/zts#1675mergedfix(bundler): HMR changed_modules use-after-free
ohah/zts#1674mergedperf(bundler): #1672 Phase B2 — compiled output cache
ohah/zts#1673mergedrefactor(bundler): #1672 Phase B1 — CompiledModule 타입 도입
ohah/zts#1671mergedrefactor(semantic): #1669 follow-up — drop NodeIndex-based Symbol fields
ohah/zts#1670mergedrefactor(semantic): #1669 scope-wide declare ref + per-scope stmt index
ohah/zts#1668mergedperf(minify): #1632 Phase 1 — private field name mangle
ohah/zts#1667mergedperf(minify): #1630 top-level const/let → var 다운그레이드
ohah/zts#1664mergedfeat(minify): #1650 TemplateLiteral 부분 rewrite (oxc 방식)
ohah/zts#1663mergedfeat(minify): #1650 unused simplify 확장 — Array / Call / New / Object
ohah/zts#1662mergedfeat(minify): #1650 step 2 — unused expression simplify (c/d)
ohah/zts#1661mergedfix(semantic): #1660 block/switch/module 의 var↔lexical 재선언 조기검출 보강
ohah/zts#1659mergedfix(parser): #1658 async arrow 중첩 arrow 파라미터 'await' 검사 누락 수정
ohah/zts#1657mergedfix(parser): #1656 object literal 의 private method/accessor 전체 variant 에 early error
ohah/zts#1655mergedfix(semantic): #1654 ZTS1102/1103/1104 오진 제거 — private method/accessor 는 runtime TypeError
ohah/zts#1653mergedfix(parser): #1652 directive prologue 를 .directive 노드로 파싱 — #1649 회귀
ohah/zts#1651mergedfeat(minify): #1650 fixed-point loop 도입 (step 1 — wrapper)
ohah/zts#1649mergedfeat(minify): #1644 PR1.5 — unused expression simplify (a + b)
ohah/zts#1648mergedrefactor(ast): #1646 공통 child walker 추출 — 5곳 중복 순회 일소
ohah/zts#1647mergedfix(minify): #1647 dead store 가 for-loop binding 을 제거하던 회귀
ohah/zts#1645mergedfeat(minify): #1644 PR1 — unused declaration 제거 (dead store elimination)
ohah/zts#1643mergedrefactor(semantic): #1640 compound assign / update 를 {read, write} 로 정확 분류 (PR C)
ohah/zts#1642mergedrefactor(semantic): #1640 stmt_declared 중간 캐시 제거 — references.declare flag 로 통합 (PR B)
ohah/zts#1641mergedrefactor(semantic): #1640 ReferenceKind enum 을 ReferenceFlags bitset 으로 교체 (PR A)