分代GC源代码

Wan*_*eck 9 c compiler-construction resources garbage-collection

我正在研究GC实现,我正在寻找引用和良好的开源GC示例.

有没有好的和简单的代际GC实现?第二个最好的事情是良好的资源和指导方针!

谢谢!

Bas*_*tch 6

我写了Qish垃圾收集器(不是真的维护了,但随便问一下).它是C的免费复制世代GC(具有一些编码样式限制).

GCC MELT [meta-]插件(免费,GPLv3许可),提供高级语言MELT,以扩展GCC编译器,还在GCC的现有Ggc垃圾收集器上方具有复制世代GC .查看gcc/melt-runtime.c

使用分代复制GC,在C中生成应用程序的代码非常有用.请参阅我关于MELT的DSL2011论文

随意问我更多,我喜欢谈论我的GC-s.

当然,阅读垃圾收集手册:自动记忆管理的艺术(琼斯,霍斯金,莫斯)[ISBN-13:978-1420082791]是必须的


(2017年新增)

另请参阅Ravenbrook的内存池系统,该系统可用于代际GC.

另请参阅Ocaml的运行时,它具有良好的(单线程)代际GC.


PS.调试分代复制GC很痛苦.


Luk*_*ane 5

Java的HotSpot GC

您可以在此处查看 JVM提供的各种GC实现.

所述存储器管理白皮书给出在JVM中实现的不同的垃圾收集器的概述.从2006年开始,它错过了新的G1收藏家细节,但它是一个很好的起点.

Mon的SGen GC

Mono的新SGen也在github上.查看sgen文件.