张定立:OpenJDK移植到RV32GC的探索与现状

需积分: 0 0 下载量 60 浏览量 更新于2024-06-30 收藏 1.67MB PDF 举报
"张定立在PLCT的工作主要集中在OpenJDK的RISC-V(RV32GC)架构移植上,这是一个重要的项目,旨在将Java平台扩展到RISC-V的32位变体。尽管原计划是在RISC-V峰会上展示成果,但未能在设定的截止日期前完成。本文档提供了关于Java在RISC-V架构上的支持现状以及相关工作的详细概述。" 1. Java的RISC-V支持现状 目前,RISC-V架构在Java平台上的支持正在逐步发展。Zerobackend已经获得了上游支持,这意味着对于某些基础功能,Java已经有了基本的运行环境。华为在BishengJDK 11版本中首次贡献了对RISC-V(RV64G)的移植工作,其代码可以在BishengJDK的开源仓库中找到。阿里巴巴则在其内部版本的Dragonwell 11中采用了华为的这些补丁,并进一步推动了这些改动到JDK Sandbox。 2. OpenJDK for RV64G移植进展 OpenJDK的移植工作主要基于OpenJDK 11和OpenJ9,OpenJ9是IBM开发的一个JVM实现,它使用了Open Management Runtime (OMR)。值得注意的是,当前OpenJ9在RISC-V 64位(RV64G)平台上还不支持JIT(Just-In-Time)编译器。因此,无论是否通过命令行参数指定-Xint选项,JDK都将运行在解释模式下,这可能会限制性能。 3. 测试与构建基础设施 测试管道已经建立,采用Eclipse Adoptium(前身为AdoptOpenJDK)的脚本进行自动化测试。这表明社区在确保RISC-V平台上的兼容性和稳定性方面正在投入大量努力。此外,已经有一个试验性的RISC-V OpenJDK构建可供下载,以供开发者和研究人员使用。 4. 张定立在PLCT的工作 张定立的工作重点是将OpenJDK移植到RV32GC,这是一个更具体的RISC-V变种,目标是32位系统。虽然这次移植没有按计划在峰会上展示,但这项工作的重要性不言而喻,因为它是推动Java在RISC-V 32位设备上广泛采用的关键步骤。 5. 参考资料 为了深入了解这个主题,可以参考提供的链接,包括RISC-V峰会的文档、华为的BishengJDK代码库、OpenJDK Sandbox中的移植分支,以及Eclipse Adoptium的测试流水线。 Java在RISC-V架构上的支持正处于初期阶段,但在OpenJDK社区的努力下,尤其是在张定立等人的工作中,已经取得了显著的进展。尽管目前存在一些挑战,如缺乏JIT支持,但随着更多贡献者和公司参与进来,预计未来会看到更多的进步和完善。