问题标签 [openj9]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
openj9 - 如何在 Openj9 中使用 AOT 编译器?
我已经知道 Openj9 中有一个“动态 AOT”,其中 Openjdk9 有一个 AOT 编译器(jaotc)来将字节码编译为共享库。
但是 Openj9 没有 jaotc 之类的程序,它使用“共享类”来存储 JITed 代码,预计其他 JVM 也可以使用它来加快它们的启动时间。
我有以下问题:
- 如何确定 Openj9 JVM 是否使用由另一个 JVM 生成的 JITed 代码?(在openjdk9中,有一个选项“-XX:+PrintAOT”可以观察)
- 如何使用 Openj9 的 AOT?我使用选项“-Xshareclasses”执行一个程序,然后再次执行该程序?
- 有没有关于 Openj9 AOT 的文档?
如果有任何建议,我们将不胜感激。谢谢!
java - 无法使用 Eclipse OpenJ9+181 构建 OpenJFX
新的Eclipse J9 jvm没有与 JavaFX 捆绑在一起,所以我尝试构建 OpenJFX 但失败了。
我相信我已遵循OpenJFX 网站上的所有构建说明。我安装了 Gradle 3.1、Ant 和所需的库。我正在运行 Fedora 26。
J9 似乎因某种分段错误而失败。这是我gradle
在 OpenJFX mercurial 存储库中运行后收到的错误消息。
有人对我如何让 OpenJFX 使用 J9 构建有任何建议吗?
提前致谢。
openj9 - OpenJ9 和 docker 容器?
从历史上看,HotSpot 在 docker 容器中运行的记录很差,错误地判断了分配的资源(例如 RAM)。不过,情况正在慢慢好转。
OpenJ9 如何与 docker 容器保持一致,以及它在多大程度上了解容器提供的资源(内存、套接字、线程等)
此外,在 JavaOne 2017 演示中提到 OpenJ9 可以跨不同的 OpenJ9 VM 缓存 jit 编译的类。当虚拟机被限制在不同的容器中时(或)如果容器化的 JVM 共享一个 docker 卷,这种共享缓存是否可能?
openj9 - OpenJ9 中的高级 AVX/AVX2 矢量运算
在 JavaOne 2017 上,英特尔展示了在 HotSpot 中整合 AVX2 矢量指令的非常有趣的方法。这将允许机器学习和其他数据密集型 Java 应用程序利用专门的 AVX/AVX2 指令来实现更好的性能。
OpenJ9 用户将受益于英特尔/甲骨文的合作以及即将推出的英特尔基于 OpenJDK 的向量库吗
openj9 - Java9 链接和 OpenJ9
java 9 模块中最酷的特性之一是能够准备一个非常优化的 JRE+模块包,在此过程中可以应用多种优化技术。虽然尚未实施,但 HotSpot 团队正计划在此阶段进行 AOT 编译。
这个链接阶段的 OpenJ9“技巧包”和优化是什么?
openj9 - OpenJ9 和 Graal/Truffle 项目
HotSpot JVM 团队正在开发非常酷的项目Graal/Truffle,它允许开发人员动态编译/注入 Java、Javascript(和其他)以在 JVM 速度下运行。问题: - OpenJ9 可以与 Graal/Truffle 互操作吗?- 如果 OMR 类似于 Graal/Truffle,你能对比一下吗?
java - 调用 j9port_startup_library 时访问冲突
我已经使用这些说明为 Windows 构建了 openj9:https ://github.com/eclipse/openj9/blob/master/buildenv/Build_Instructions_V8.md#windows
当我尝试以下代码时(Visual Studio 2017):
我收到访问冲突j9port_startup_library
:Exception thrown at 0x00007FFF0FC9430A (j9thr29.dll) in sample.exe: 0xC0000005: Access violation reading location 0x0000000000000000.
检查 portlib 表明 portGlobals 是NULL
我认为不应该的。
当我在调试器之外运行 exe 时,我看到以下断言(由于某种原因我在调试器中看不到):
** 断言失败 ** j9prt.504 at common/j9port.c:404 Assert_PRT_true((omrthread_self() != ((void *)0)))
** 断言失败 ** omrport.0 at ../../omr/port/common/omrport.c:515 Assert_PRT_true((omrthread_self() != ((void *)0)))
我错过了一个步骤还是导致此访问冲突的原因是什么?
编辑:我使用 Visual Studio 2010 在 Windows 7 x64 上重建项目并在 VS2010 中运行在 MCE 之上,VS 显示我们崩溃了
omrthread.c
java - OpenJ9 VM 对象布局
OpendJDK 有一个Java 对象布局 (JOL)工具,它允许估计指定对象的实例实际内存大小。它可以显示 HotSpot 的对象布局,但在 OpenJ9 中是否相同?
java - JVM:向堆访问添加挂钩
我希望对我的 Java 项目进行分析。为了获得结果,我想向 JVM 添加一个“钩子”,以便每次发生堆访问时,都会调用“钩子”并进行一些跟踪。我一直在研究JVMTI,但这似乎并没有给我我所期望的。
我有几个问题:
- 是否可以添加这样的钩子?
- 如果可能,我应该使用哪些正确的工具/界面?
- 如果没有执行此操作的现有工具,我可以通过修改 JVM 代码库来实现吗?
谢谢。
java - install4j:如何为启动器使用备用 jvm
我们正在尝试使用替代 jvm,这来自 https://www.eclipse.org/openj9/
当使用 /create-i4j-log 启动我们的启动器时,我们得到:
我认为问题是,jvm.dll 位于 jdk8u192-b12\jre\bin\j9vm\jvm.dll
然后启动器说,“无效的 jvm 安装”并退出。
那么如何使用呢?