工程师们似乎认为编写垃圾回收机制是很难的,是一种只有少数智者和Hans Boehm(et al)才能理解的高深魔法。
我认为编写垃圾回收最难的地方就是内存分配,这和阅读 K&R 所写的 malloc 样例难度是相当的。
在开始之前有一些重要的事情需要说明一下:
第一,我们所写的代码是基于Linux Kernel的,注意是Linux Kernel而不是GNU/Linux。
第二,我们的代码是32bit的。
第三,请不要直接使用这些代码。我并不保证这些代码完全正确,可能其中有一些我还未发现的小的bug,但是整体思路仍然是正确的。
好了,让我们开始吧。 |