Fil-C 是一种致力于实现内存安全且高性能的类 C 编程语言。该文档详细阐述了其优化的调用约定,旨在解决内存安全与执行效率之间的固有矛盾。Fil-C 能够在处理对抗性行为(如函数指针签名不匹配、错误类型的参数传递)时保证安全,同时在常规代码路径中生成接近原生 C 语言的高效指令。其核心技术在于采用算术编码将函数签名压缩为 64 位整数哈希。在调用函数时,若签名匹配,参数通过寄存器直接传递,性能几乎等同于未经安全加固的“Yolo-C”;若签名不匹配,则通过 Thunks 机制回退到基于栈缓冲区的通用约定。此外,通过深度操纵 ELF 弱符号和 COMDAT 组机制,Fil-C 优化了直接调用过程,消除了运行时的 Getter 调用和能力检查开销。测试数据显示,这些优化在 PizBench9019 基准测试中带来了超过 1% 的性能提升。这一方案为系统级编程语言的性能优化提供了新的思路。
事件分析
💡 核心观点:Fil-C 凭借巧妙的编译器底层优化,成功打破了“内存安全必定牺牲性能”的传统铁律。
原文链接:Hacker News





