1
我一直在爲LLVM編寫玩具語言。我想實現的最雄心勃勃的功能是光纖。我已經閱讀了很多關於這個問題的內容,我想我對他們傳統上的實現有一個模糊的概念。據我所知,光纖通常建模爲指令指針和堆棧。 (參見:Golang運行時)有沒有辦法在LLVM中維護多個堆棧/指令指針?
是否支持異步執行的LLVM支持,具有不同的指令指針?多個堆棧?
我知道LLVM是一個註冊機,有沒有什麼辦法可以確保所有的相關數據都保存在堆棧中?和/或一種方法來保存和恢復當前的寄存器狀態?
實現這個手工將是一個真正的害蟲,所以任何幫助表示讚賞!
關於保存/恢復寄存器狀態的問題是一個有趣的問題。儘管它可能值得它自己的問題。 –