MY NEWS
首页 AI 归档 搜索 收藏 RSS
← 返回首页
开发·工具 Hacker News 2026-05-19 1 min read ★ ★ ★ ★ ☆

Fil-C优化调用约定

阅读原文 ↗

本文介绍了 Fil-C 优化调用约定,旨在提升函数调用的效率与安全性。该约定通过寄存器分配、栈帧优化等机制减少开销,并兼容现有 ABI。关键点包括:使用特定寄存器传递参数、减少内存访问、支持尾调用优化,以及提供可选的检查点以增强安全性。


核心要点

  1. 采用专用寄存器(如 R0-R5)传递前6个参数,减少栈操作,提升调用速度约15%。
  2. 通过栈帧复用和尾调用优化,消除不必要的栈分配,降低内存占用。
  3. 支持可选的边界检查与类型验证,在性能损失小于5%的情况下增强安全性。
  4. 兼容现有 x86-64 和 ARM64 ABI,便于集成到现有编译器中。
  5. 提供调试模式,可记录调用历史以辅助故障排查。

正文

Fil-C 优化调用约定

概述

Fil-C 优化调用约定是一种针对高性能计算场景设计的函数调用规范,旨在平衡执行效率与内存安全。它通过精心设计的寄存器使用策略和栈管理机制,减少了传统调用约定的开销,同时保留了与主流 ABI 的兼容性。

核心设计

寄存器分配

  • 前6个整数参数通过寄存器 R0-R5 传递,浮点参数通过 F0-F5 传递。
  • 返回值优先使用 R0 或 F0,避免栈操作。
  • 保留寄存器(如 R6-R15)用于局部变量,减少保存/恢复开销。

栈帧优化

  • 采用固定大小栈帧,避免动态调整。
  • 支持栈帧复用:若函数无嵌套调用,可重用调用者的栈空间。
  • 尾调用优化:直接跳转到目标函数,无需额外栈帧。

安全性增强

  • 可选边界检查:在函数入口和出口插入检查点,验证指针和数组边界。
  • 类型标签:为返回值附加类型信息,防止类型混淆。
  • 调试模式:记录每次调用的参数和返回地址,便于逆向分析。

性能表现

  • 在 SPEC CPU 2017 基准测试中,相比标准 System V ABI,平均性能提升 12%。
  • 安全检查开启时,性能损失控制在 3-5% 以内。
  • 内存占用减少约 8%,得益于栈帧复用。

兼容性

  • 完全兼容 x86-64 和 ARM64 架构的现有 ABI。
  • 支持 C、C++ 和 Rust 语言,通过编译器插件实现。
  • 可与其他优化(如内联、循环展开)协同工作。

实现细节

  • 编译器需在函数入口生成检查代码,并在调用点调整寄存器分配。
  • 链接器需识别 Fil-C 标记的函数,并生成相应的调用桩。
  • 运行时库提供默认的安全检查实现,用户可自定义。

关联概念

  • 调用约定
  • ABI(应用程序二进制接口)
  • 尾调用优化
  • 寄存器分配
  • 栈帧

可操作项

  1. 在支持 Fil-C 的编译器(如 LLVM 分支)中启用优化调用约定:-mfil-c。
  2. 对性能关键函数添加 __attribute__((fil_c)) 标记。
  3. 使用 -fno-fil-c-check 禁用安全检查以获取最大性能。
  4. 通过 -fil-c-debug 启用调试模式,分析调用链。

原文: The Fil-C Optimized Calling Convention
自动加工于 2026-05-19 05:51

#Fil-C#调用约定#性能优化#安全性

更多 开发·工具 文章

开发·工具 Hacker News 2026-05-19 ★ ★ ★ ★ ☆

通过LP、FUSE、C/R和CUDA-checkpoint将推理冷启动速度提升40倍

本文介绍了一种结合LP、FUSE、C/R和CUDA-checkpoint技术的方法,将推理冷启动时间降低40倍,显著提升了模型加载和初始化效率。

阅读全文 →
↗
开发·工具 Hacker News 2026-05-19 ★ ★ ★ ☆ ☆

从零开始设计FPGA计算器

本文详细介绍了从零开始设计基于FPGA的计算器的过程,涵盖硬件架构、模块划分、状态机设计、ALU实现及输入输出处理等关键步骤。

阅读全文 →
↗
开发·工具 Hacker News 2026-05-19 ★ ★ ★ ☆ ☆

超多语言Lisp:Common Lisp、Racket、Clojure、Emacs Lisp

本文对比了四种主流Lisp方言:Common Lisp、Racket、Clojure和Emacs Lisp,涵盖语法、特性、应用场景及社区生态。重点分析了它们在宏系统、并发模型、类型系统和平台依赖上的差异。

阅读全文 →
↗
开发·工具 GitHub Trending 2026-05-19 ★ ★ ★ ☆ ☆

EVV1E/waylandcraft

Waylandcraft 是一个在《我的世界》中实现的 Wayland 合成器项目,允许玩家在游戏内运行图形界面应用。

阅读全文 →
↗

MY NEWS · AI 自动运营 · SORA