OO语言的堆对象表示

时间:2011-04-08 23:23:01

标签: garbage-collection heap compiler-theory object-layout

作为我硕士论文的一部分,我正在为我的家乡大学开发的面向对象语言编写一个编译器。目前,编译器输出在虚拟机上运行的汇编程序。虚拟机处理堆栈操作,对象生成,堆管理和垃圾收集等所有事情。

我的编译器的目标架构是一个类似MIPS的CPU。

我正在寻找在运行时期间开发对象布局和构思实现并触发垃圾收集的策略。我当然可以分析GCC如何用C ++实现它,但我更倾向于指出一些好的出版物/资源。

1 个答案:

答案 0 :(得分:1)

阅读Python的内部对象管理。当引用计数变为零时,它们使用引用计数和处理对象。

以下是较早(但仍然有用)的文档:http://docs.python.org/release/2.5.2/ext/refcounts.html

以下是一般内容:http://en.wikipedia.org/wiki/Reference_counting

还有一些:http://code.google.com/p/augustus/wiki/OptionalGarbageCollection