如何在 Openj9 中使用 AOT 编译器?
How to use AOT compiler in Openj9?
我已经知道Openj9中有一个"dynamic AOT",
其中 Openjdk9 有一个 AOT 编译器 (jaotc) 来将字节码编译成共享库。
但 Openj9 没有像 jaotc 这样的程序,它使用 "shared classes" 来存储 JITed 代码,预计其他 JVM 将使用它来加快它们的启动时间。
我有以下问题:
- 如何确定 Openj9 JVM 是否使用由另一个 JVM 生成的 JITed 代码? (在openjdk9中,有个选项"-XX:+PrintAOT"可以观察)
- 如何使用Openj9的AOT?我执行一个带有选项“-Xshareclasses”的程序,然后再次执行这个程序?
- 有没有关于Openj9 AOT的文档?
如有指教,将不胜感激。谢谢!
你是对的,要在 OpenJ9 上启用 AOT,必须启用 -Xshare类 选项。
- How do I make sure whether Openj9 JVM use JITed code produced by
another JVM? (In openjdk9, there is an option "-XX:+PrintAOT" to
observe)
使用选项 -Xshareclasses:verboseAOT
。你应该看到输出
消息如下:
Stored AOT code for ROMMethod 0x000000000FFAE2C8 in shared cache.
在随后的 运行 秒中,您将看到如下消息:
Found AOT code for ROMMethod 0x000000001003C178 in shared cache.
- How to use the AOT of Openj9? I execute a program with option "-Xshareclasses", and just execute this program again?
如果您想在 java 程序的后续 运行 中保留并重用 AOTed 代码,运行 和 -Xshareclasses:persistent
('persistent' 子选项当启用 -Xshareclasses
时,在 Linux 和 Windows 平台上是默认的)。
使用此选项,缓存将在磁盘上创建,并在操作系统重启后持续存在。您还可以选择为共享 类 缓存提供名称(名称=子参数)以区分不同应用程序的共享缓存。
- Is there any document about Openj9 AOT?
我可以向您指出以下文档:
我还将打开一个 github 问题来检查是否有更多关于 AOT 的文档可用或可以创建。
我已经知道Openj9中有一个"dynamic AOT", 其中 Openjdk9 有一个 AOT 编译器 (jaotc) 来将字节码编译成共享库。
但 Openj9 没有像 jaotc 这样的程序,它使用 "shared classes" 来存储 JITed 代码,预计其他 JVM 将使用它来加快它们的启动时间。
我有以下问题:
- 如何确定 Openj9 JVM 是否使用由另一个 JVM 生成的 JITed 代码? (在openjdk9中,有个选项"-XX:+PrintAOT"可以观察)
- 如何使用Openj9的AOT?我执行一个带有选项“-Xshareclasses”的程序,然后再次执行这个程序?
- 有没有关于Openj9 AOT的文档?
如有指教,将不胜感激。谢谢!
你是对的,要在 OpenJ9 上启用 AOT,必须启用 -Xshare类 选项。
- How do I make sure whether Openj9 JVM use JITed code produced by another JVM? (In openjdk9, there is an option "-XX:+PrintAOT" to observe)
使用选项 -Xshareclasses:verboseAOT
。你应该看到输出
消息如下:
Stored AOT code for ROMMethod 0x000000000FFAE2C8 in shared cache.
在随后的 运行 秒中,您将看到如下消息:
Found AOT code for ROMMethod 0x000000001003C178 in shared cache.
- How to use the AOT of Openj9? I execute a program with option "-Xshareclasses", and just execute this program again?
如果您想在 java 程序的后续 运行 中保留并重用 AOTed 代码,运行 和 -Xshareclasses:persistent
('persistent' 子选项当启用 -Xshareclasses
时,在 Linux 和 Windows 平台上是默认的)。
使用此选项,缓存将在磁盘上创建,并在操作系统重启后持续存在。您还可以选择为共享 类 缓存提供名称(名称=子参数)以区分不同应用程序的共享缓存。
- Is there any document about Openj9 AOT?
我可以向您指出以下文档:
我还将打开一个 github 问题来检查是否有更多关于 AOT 的文档可用或可以创建。