IBM 宣布 J9 JVM 即將開源

jopen 8年前發布 | 10K 次閱讀 JVM 開源

在經歷了長時間的準備和預熱之后,IBM終于在Github上放出了OMR項目( https://github.com/eclipse/omr )。采用的許可證為: Eclipse Public License V1.0和Apache 2.0 license。

OMR項目由一組開源的C和C++組件組成,可用于構建支持諸多不同硬件和操作系統平臺的、健壯的編程語言運行時。這些組件包括但不限于:內存管理、線程、平臺移植(抽象)庫、診斷支持、監控支持、垃圾收集和原生JIT編譯。

去年,IBM的開發人員多次公開分享OMR的理念。2015年12月,IBM還放出了一個Ruby+OMR的技術預覽( https://github.com/rubyomr-preview/rubyomr-preview ),除了證明OMR技術可以和Ruby虛擬機結合,也希望得到社區的反饋。不過當時并沒有放出源代碼。

今年1月份,OMR項目進入Eclipse基金會旗下( https://projects.eclipse.org/projects/technology.omr )。時至今日,我們終于可以看到部分代碼了。 

OMR的組件主要來自于IBM的J9 JVM,而J9凝聚著IBM很長時間的投入和成果。IBM希望抽取J9的核心技術,脫離Java語義的影響,創建出一系列組件,用于創建不同語言的運行時。不過這個事情確實不輕松,從上面幾個時間點也能看出一二。

IBM的JIT架構師Mark Stoodley提到:

盡管今天可以看到很多開源的工具包、框架和項目,但是如果看一下大部分語音運行時的核心實現,你會發現基本沒有代碼復用。看看CRuby、CPython、V8和JVM的垃圾收集器,幾乎沒有共享任何代碼。很多JIT編譯器和其他核心組件也是如此。

他們希望改變這種狀況。

要為新的語言構建一個可以與成熟語言相媲美的運行時,通常需要付出巨大努力,甚至需要數十年時間;而且很多時候,這是完全無法實現的。

所以有些語言會選擇CLR或JVM之類平臺。JVM已經是一個非常成熟的平臺。OMR的做法就是剝離Java語義相關的部分,重新組織核心組件,希望供不同的語言運行時使用。

IBM 宣布 J9 JVM 即將開源

OMR目前提供的組件包括:

IBM 宣布 J9 JVM 即將開源

想了解更多細節,可以閱讀相關代碼,或者查看OMR項目的Github上給出的一些演講鏈接。

來自: http://mp.weixin.qq.com/s?__biz=MzAwNjY4NTQ4MA==&mid=402675384&idx=1&sn=515ec76cd7f470e5e35ab61db98af0a1&scene=21#wechat_redirect

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!