LLVM中的多线程GC

时间:2014-02-17 00:26:15

标签: multithreading garbage-collection llvm

我想为支持多线程的语言实现GC。线程之间不存在共享状态,因为通信将基于消息传递。我不太关心表现。我的首要任务是让事情顺利进行。

我已阅读有关编写GC的LLVM指南:http://llvm.org/docs/GarbageCollection.html。影子堆栈方法看起来很有前景。问题是,如指南中所述,影子堆栈是单线程解决方案。 如果我能让LLVM在每个线程的基础上创建一个影子堆栈,那将是理想的选择。怎么可以实现呢?

1 个答案:

答案 0 :(得分:0)

您是否想过使用“绿色”线程?

由于您不太关心性能,因此线程主要用于并发。这可以在不使用多个OS级线程的情况下实现。在这种情况下,LLVM现有的支持工作正常。