[鏈接] Dart-on-LLVM

Google的Dart VM組的Erik Corry大大的新文:Dart-on-LLVM

吼的!Google也有官方項目在嘗試給他們的動態語言運行時加上LLVM後端了。之前雖然有LLV8項目給V8添加LLVM後端,但那並不是Google的項目而是俄羅斯一個學校的研究項目。

其實Dart-on-LLVM的消息同事在去年年底的LLVM Developers Meeting 2016上就聽Google的人說了。不過現在總算有官宣,寫得還挺詳細,這非常好。

我們做基於LLVM的Java位元組碼->機器碼編譯器的同事給LLVM貢獻的@llvm.experimental.gc.statepoint intrinsic感覺又立功了。真為他們感到驕傲。

我最近也逐漸轉向做那個基於LLVM的新編譯器了,還挺激動的 >_< 相比在我們之前的Zing VM的Server Compiler(C2)上做開發,多了一分爽快感。其實爽快感倒不完全來自LLVM(應該說只有比較少的部分來自LLVM自身),而是這畢竟是個全新寫的編譯器,裡面的代碼比經過長年累月堆積各種雜亂的功能和bug的C2要乾淨整潔多了。而且做這個新編譯器的同事從一開始就很有原則地堅持寫好verification和test case,以及實現replay機制來確保編譯器里的bug容易重現,開發起來比在C2上做開發精神上要輕鬆多了。

推薦閱讀:

Flutter 特性及使用體驗

TAG:Dart | LLVM | 编译器 |