Skip to content
微信扫码关注公众号

JEP 340: One AArch64 Port, Not Two | 一个 AArch64 端口,而不是两个

摘要

移除所有与 arm64 端口相关的源代码,同时保留 32 位 ARM 端口和 64 位 aarch64 端口。

动机

移除这个端口将使所有贡献者能够将精力集中在单一的 64 位 ARM 实现上,并消除维护两个端口所需的重复工作。

描述

在 JDK 中存在两个 64 位 ARM 端口。这些端口的主要源代码位于 src/hotspot/cpu/armopen/src/hotspot/cpu/aarch64 目录中。虽然这两个端口都产生 aarch64 实现,但为了这个 JEP 的目的,我们将把由 Oracle 贡献的前者称为 arm64,后者称为 aarch64

以下是作为这个 JEP 一部分将要完成的任务:

  • 移除 open/src/hotspot/cpu/arm 中所有与 arm64 相关的特定源代码和与 64 位与 32 位构建相关的 #ifdef 指令。
  • 扫描剩余的 JDK 源代码以查找与这个端口相关的 #ifdef 指令。
  • 移除构建这个端口的构建选项。使 aarch64 端口成为 64 位 ARM 架构的默认构建。
  • 验证剩余的 32 位 ARM 端口在构建和运行符合性测试时,没有出现与此 JEP 相关的更改之前的回归问题。