《JDK10新特性官方文档》-317:实验性的基于JAVA的JIT编译器

JEP 317: 实验性的基于JAVA的JIT编译器

  • 原作者 Igor Veresov
  • 创建日期 2017/10/20 20:03
  • 更新日期 2018/03/28 01:58
  • 类型 特点
  • 状态 已关闭/ 已发布
  • 组件 hotspot / 编译器
  • 范围 JDK
  • 详述 hotspot /compiler/dev@openjdk.java.net
  • 工作量 M
  • 持久度 M
  • 优先级 3
  • 审核者 John Rose, Mikael Vidstedt, Vladimir Kozlov
  • 批准者 Vladimir Kozlov
  • 版本号 10
  • 事件号 8189751

总结

允许基于JAVA的JIT编译器Graal在Linux/x64平台上作为实现性质的JIT编译器使用。

无目标

与现有的JIT编译器的性能表现持平或者超过现有JIT编译器并不是此项特性的目标

动机

Graal是一个基于Java的JIT编译器,也是基于JDK 9已引入实验性的预先编译(AOT)功能。允许它作为实验性质的JIT编译器是整个OpenJDK项目的一个初心, 后续也能帮助探索JDK使用基于Java的JIT编译器的可行性。

描述

允许Graal作为实验性质的JIT编译器,并且先从Linux/x64平台开始。 Graal将会使用JDK 9引入的JVM编译接口 (JVMCI)。 由于Graal目前已在JDK中,所以允许它作为实验性质的JIT最主要还是为了测试和调试的工作。

要允许Graal作为JIT编译器,需在java命令行使用以下命令:

-XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler

测试

所有针对编译器的标准测试都需测到。这里面包括在Linux/x64平台所有不同的标签项的HotSpot和JDK测试。在标准测试的基础上,为Graal开发的单元测试将会被运行。在jtreg框架上运行这些单元测试将会被实现。初始性能测试和基准测试也是这项工作的部分。

风险和假设

启动变慢和增加Java堆使用空间的程度可能都超出最开始开发者的预估。跟传统Hotspot JTT之间的应用和基准表现还有不小的鸿沟。


FavoriteLoading添加本文到我的收藏
  • Trackback 关闭
  • 评论 (0)
  1. 暂无评论

您必须 登陆 后才能发表评论

return top