我想为支持多线程的语言实现GC。线程之间不存在共享状态,因为通信将基于消息传递。我不太关心表现。我的首要任务是让事情顺利进行。
我已阅读有关编写GC的LLVM指南:http://llvm.org/docs/GarbageCollection.html。影子堆栈方法看起来很有前景。问题是,如指南中所述,影子堆栈是单线程解决方案。 如果我能让LLVM在每个线程的基础上创建一个影子堆栈,那将是理想的选择。怎么可以实现呢?
答案 0 :(得分:0)
您是否想过使用“绿色”线程?
由于您不太关心性能,因此线程主要用于并发。这可以在不使用多个OS级线程的情况下实现。在这种情况下,LLVM现有的支持工作正常。