Fil-C의 놀라운 가비지 컬렉터 FUGC: 병렬, 동시, 정확

2025-09-05

Fil-C는 FUGC(Fil's Unbelievable Garbage Collector)라는 병렬 동시 실행형 온더플라이 그레이 스택 Dijkstra 정확도 비이동형 가비지 컬렉터를 사용합니다. FUGC는 멀티스레드 동시 실행 마킹 및 스위핑을 통해 '소프트 핸드셰이크' 메커니즘으로 뮤테이터 스레드와의 비차단 상호 작용을 구현하여 전역 중단을 방지합니다. 그레이 스택 방식으로 로드 배리어가 제거되고 간단한 저장 배리어만 필요하며, Dijkstra 배리어를 통해 정확한 마킹이 보장됩니다. FUGC는 비이동형이므로 동시 실행 구현이 간소화되고 C, Java, JavaScript 스타일의 메모리 관리(파이널라이저, 약한 참조, 약한 맵 등)를 지원하여 Fil-C의 메모리 관리 효율성과 안전성을 크게 향상시킵니다.