调整我的进程的虚拟地址空间以进行垃圾回收

时间:2014-06-06 22:53:09

标签: c++ c linux macos garbage-collection

当您尝试将好的旧C库与花哨的垃圾收集运行时混合时,您需要区分哪些分配由GC不经意的C代码完成,以及哪些分配由您喜欢的GC运行时完成

我是一个老家伙,我记得过去的糟糕时光。我只是简单地重写了malloc,以便从我的虚拟地址空间的下半部分分配,然后制作一个只从我虚拟地址空间的上半部分配的花式GCmalloc。这对于refcount GC很有用。

在某些情况下,您还需要调整内存管理单元正在执行的操作。例如,如果您可以将页面翻转为只读,则可以使用内存管理单元来帮助您强制执行写入障碍,而无需重新编译代码。这对于标记和扫描GC非常有用。

这在Linux / OSX中是否可行?

0 个答案:

没有答案