IBM 宣布 J9 JVM 即将开源
jopen 8年前
<p>在经历了长时间的准备和预热之后,IBM终于在Github上放出了OMR项目( https://github.com/eclipse/omr )。采用的许可证为: Eclipse Public License V1.0和Apache 2.0 license。</p> <p>OMR项目由一组开源的C和C++组件组成,可用于构建支持诸多不同硬件和操作系统平台的、健壮的编程语言运行时。这些组件包括但不限于:内存管理、线程、平台移植(抽象)库、诊断支持、监控支持、垃圾收集和原生JIT编译。</p> <p>去年,IBM的开发人员多次公开分享OMR的理念。2015年12月,IBM还放出了一个Ruby+OMR的技术预览( https://github.com/rubyomr-preview/rubyomr-preview ),除了证明OMR技术可以和Ruby虚拟机结合,也希望得到社区的反馈。不过当时并没有放出源代码。</p> <p>今年1月份,OMR项目进入Eclipse基金会旗下( https://projects.eclipse.org/projects/technology.omr )。时至今日,我们终于可以看到部分代码了。 </p> <p>OMR的组件主要来自于IBM的J9 JVM,而J9凝聚着IBM很长时间的投入和成果。IBM希望抽取J9的核心技术,脱离Java语义的影响,创建出一系列组件,用于创建不同语言的运行时。不过这个事情确实不轻松,从上面几个时间点也能看出一二。</p> <p>IBM的JIT架构师Mark Stoodley提到:</p> <p>尽管今天可以看到很多开源的工具包、框架和项目,但是如果看一下大部分语音运行时的核心实现,你会发现基本没有代码复用。看看CRuby、CPython、V8和JVM的垃圾收集器,几乎没有共享任何代码。很多JIT编译器和其他核心组件也是如此。</p> <p>他们希望改变这种状况。</p> <p>要为新的语言构建一个可以与成熟语言相媲美的运行时,通常需要付出巨大努力,甚至需要数十年时间;而且很多时候,这是完全无法实现的。</p> <p>所以有些语言会选择CLR或JVM之类平台。JVM已经是一个非常成熟的平台。OMR的做法就是剥离Java语义相关的部分,重新组织核心组件,希望供不同的语言运行时使用。</p> <p><img alt="IBM 宣布 J9 JVM 即将开源" src="https://simg.open-open.com/show/680eabea73dde616272e8819dba5754b.jpg" /></p> <p>OMR目前提供的组件包括:</p> <p><img alt="IBM 宣布 J9 JVM 即将开源" src="https://simg.open-open.com/show/d9cb203225c104e75c069c8c82a2b921.jpg" /></p> <p>想了解更多细节,可以阅读相关代码,或者查看OMR项目的Github上给出的一些演讲链接。</p> <p>来自: http://mp.weixin.qq.com/s?__biz=MzAwNjY4NTQ4MA==&mid=402675384&idx=1&sn=515ec76cd7f470e5e35ab61db98af0a1&scene=21#wechat_redirect</p>