#gc #rooting #shadowstack

bin+lib gc-shadowstack

GC对象根定位的阴影栈算法实现

3个版本 (稳定)

1.1.1 2021年4月9日
1.0.0 2021年4月9日
0.1.0 2021年4月9日

#88 in #gc

MIT 许可证

14KB
191

gc-shadowstack

GC库中对象根定位的阴影栈实现。

描述

与许多依赖协作代码生成器编译栈映射的GC算法不同(在rustc中不支持),该算法仔细维护一个栈根的链表[Henderson2002]。所谓的“阴影栈”反映了机器栈。维护此数据结构比使用编译进可执行文件的栈映射作为常量数据要慢,但具有显著的便携性优势,因为它不需要目标代码生成器的特殊支持,并且不需要复杂的特定平台代码来遍历机器栈,也不需要堆分配和引用计数来维护根对象列表。


lib.rs:

GC中的根定位阴影栈实现

描述

与其他像使用引用计数来计数栈上实例的其他算法不同,此算法维护一个栈根的单链表。所谓的“阴影栈”反映了机器栈。维护此数据比使用引用计数的栈根更快、更高效,它不需要堆分配,也不依赖于编译器优化。生成阴影栈类型的占位模块以查看提供的所有API的文档。

依赖

~25KB