首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Openj9中使用AOT编译器?

如何在Openj9中使用AOT编译器?
EN

Stack Overflow用户
提问于 2017-09-21 11:58:07
回答 1查看 1.5K关注 0票数 3

我已经知道在Openj9中有一个“动态AOT”,其中Openjdk9有一个AOT编译器(jaotc)来将字节代码编译成共享库。

但是Openj9没有像jaotc这样的程序,它使用“共享类”来存储JITed代码,其他JVM将使用这些代码来加快它们的启动时间。

我有以下问题:

  1. 如何确保Openj9 JVM是否使用另一个JVM生成的JITed代码?(在openjdk9中,有一个选项"-XX:+PrintAOT“可观察)
  2. 如何使用Openj9的AOT?我用"-Xshareclasses“选项执行一个程序,然后再执行这个程序?
  3. 有关于Openj9 AOT的文件吗?

如果有任何建议,我们将不胜感激。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-21 15:19:59

您是正确的,要在OpenJ9上启用AOT,必须启用-Xshareclasses选项。

  1. 如何确保Openj9 JVM是否使用另一个JVM生成的JITed代码?(在openjdk9中,有一个选项"-XX:+PrintAOT“可观察)

使用选项-Xshareclasses:verboseAOT。您应该看到输出消息,如下所示:

代码语言:javascript
复制
Stored AOT code for ROMMethod 0x000000000FFAE2C8 in shared cache.

在随后的运行中,您将看到如下消息:

代码语言:javascript
复制
Found AOT code for ROMMethod 0x000000001003C178 in shared cache.        

  1. 如何使用Openj9的AOT?我用"-Xshareclasses“选项执行一个程序,然后再执行这个程序?

如果希望在java程序的后续运行中持久化和重用AOTed代码,请使用-Xshareclasses:persistent运行(在启用-Xshareclasses时,“持久性”子选项在-Xshareclasses平台上是默认的)。使用此选项,将在磁盘上创建缓存,该缓存将在操作系统重新启动后继续存在。您还可以为您的共享类缓存(name=subparameter)提供一个名称,以区分不同应用程序的共享缓存。

  1. 有关于Openj9 AOT的文件吗?

请允许我指出以下文件:

AOT编译器

-Xshareclasses

我还将打开一个github问题,以检查是否有更多关于AOT的文档可用或可以创建。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46343352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档