피드로 돌아가기
Dev.toBackend
원문 읽기
JIT 런타임 인프라 구축 및 Array Lowering 구현을 통한 컴파일러 파이프라인 확장
Cx Dev Log — 2026-05-05
AI 요약
Context
Cx 언어의 Phase 11 Array Lowering 마무리와 JIT 실행을 위한 기반 인프라 구축 단계임. 기존 Interpreter 기반 검증 체계에서 JIT 경로로 확장하기 위한 호스트 경계 설정과 Lowering 구조 설계가 요구되는 상황임.
Technical Solution
- SemanticLValue::Index 변형 도입을 통한 Array Element Write 및 복합 할당 연산의 IR Lowering 구현
- Cranelift Lowering Skeleton 설계를 통한 9종의 IrType 매핑 및 함수/블록/명령어 디스패치 스텁 구축
- JIT Runtime Host Boundary 설계를 통한 In-process 실행 구조 채택으로 Process Forking 비용 제거
- Differential Harness 구축을 통한 Interpreter와 JIT 경로 간의 출력 일관성 검증 체계 마련
- Panic 기반 에러 처리를 LoweringError 및 Structured Error로 전환하여 디버깅 가시성 확보
- Phase 간 의존성 분석을 통한 Phase 12, 13의 선행 구현으로 JIT 실행 인프라 조기 확보
실천 포인트
- JIT 구현 시 호스트 프로세스 내 실행(In-process)과 별도 프로세스 실행(Forking)의 오버헤드 및 격리 수준 비교 검토 - 컴파일러 에러 처리 시 generic panic 대신 도메인 특화 에러 타입(Custom Error Enum)을 정의하여 구조적 에러 전파 체계 구축 - 서로 다른 실행 경로(Interpreter vs JIT)의 결과물을 동일한 인터페이스로 캡처하는 Differential Testing 환경 구축