我在此提议成立 "RISC-V Port "项目,由杨飞担任负责人,Porters Group作为发起人。
作为牵头人,Porters Group为发起人,阐述如下:
该项目的目标是在RISC-V平台上提供OpenJDK的全功能移植。
在RISC-V平台上的全功能移植。 目前的项目将只针对Linux。RISC-V ISA实际上是一个相关的ISA系列,目前有四个基本ISA[2]。 这些基本的ISA可以与一组标准的扩展。RV64G和RV32G被定义为通用的ISA。 这个移植将支持RV64GV,即RV64G ISA加上用于向量操作的 "V "标准扩展向量操作[3]。 而且该实现将完全兼容RISC-V ISA规范。
这个移植可能支持其他的ISA变体,如RV32G,取决于社区的兴趣。
我们(华为技术公司)已经有一个完整的(即模板解释器C1和C2 JIT)RISC-V 移植。 这项工作是基于最近的JDK主线快照,并驻留在JDK的主线,位于jdk-sandbox的riscv-port-branch中。
https://github.com/openjdk/jdk-sandbox/tree/riscv-port-branch
我们已经在 QEMU 和 HiFive Unleashed 板上通过了 JTReg 测试。 所以它应该是足够运行大多数Java程序了。 VectorAPI和ForeignAPI功能目前还不支持。 对矢量操作的支持是试验性的,我们需要对这部分做更多的测试。
需要对这部分做更多的测试。 我们已经提供了完整的构建说明[4],但如果你遇到困难,我们会帮助你。 Aleksey Shipilev 正在构建riscv-port-branch nightlies [5]。 我们希望人们能够试用它。
我们打算不断地将源代码重新归入最新的 JDK 主线,然后,在经过一轮项目内部审查后,建议将其整合到 JDK主线。 如果这个项目被批准,我相信我们仍有时间来提交以 JDK 18 为目标的集成 JEP。 我们欢迎你对此提出建议和指导。
在JDK主线集成完成后,我们会考虑17u和11u的后端移植。
当然,这取决于17u和11u的维护者是否会同意,期盼回复。
杨飞从2015年开始从事OpenJDK for aarch64移植项目的工作。
并且是OpenJDK的提交者[6]。 他目前是OpenJDK的主要开发者, RISC-V移植的主要开发者,并在内部审查了大部分的代码修改。 以前 他也是GCC的提交者[7],自2013年以来,他贡献了各种性能和自2013年以来的各种性能和错误修正。
拟议的初始评审员是
杨飞
Aleksey Shipilev
Edward Nevill
投票截止时间为2021年10月25日(星期一)9:00 UTC
只有当前的OpenJDK成员[8]才有资格对该议案进行投票。
议案进行投票。 投票必须在讨论列表中公开进行。
如果您的邮件程序能够识别 "回复--"头,那么回复此信息就足够了。
尊重Reply-To头的话,回复本邮件就可以了。
杨飞