Skip to content
欢迎扫码关注公众号

JEP 237: Linux/AArch64 Port | Linux/AArch64 端口

摘要

将 JDK 9 移植到 Linux/AArch64。

动机

AArch64 是 ARM Holdings plc 的新处理器架构。它不同于 32 位 ARM 处理器架构,实际上是完全重新设计的。需要一个新的 OpenJDK 移植。

描述

我们(AArch64 移植项目)已将 JDK 移植到了一个新平台:Linux/AArch64。我们已经实现了模板解释器、C1(客户端)和 C2(服务器端)JIT 编译器。

这个 JEP 的重点不在于移植工作本身,因为移植工作大部分已经完成,而是在将移植内容集成到 OpenJDK 主存储库中。

目前,在 HotSpot 存储库的共享部分有许多微小的变更集。这些变更主要是用于包含相关特定平台文件的 #ifdef 指令。还有一些其他类型的变更,但同样也受到 #ifdef AARCH64 的保护。因此,对其他平台的风险较低。

还对 HotSpot 和 JDK 的构建机制进行了一些变更,以添加适当的字节序、字长等定义。同样,这些变更不应影响其他平台。

要集成的大部分变更不会对当前的 OpenJDK 平台产生任何影响,因为它们只在新平台上激活。

构建系统中也有一些变更,但不应引起太多麻烦。

这里是对 HotSpot 共享代码所需的变更的补丁。

所有变更集都被收集在一个暂存存储库中:http://hg.openjdk.java.net/aarch64-port/stage/

测试

Red Hat 和 Linaro 定期在移植平台以及当前支持的 JDK 8 平台上构建和测试移植内容,以确保不会引入破坏现有平台的回归问题。

Red Hat 致力于全面支持(即定期更新、增强和测试)由此工作引入的新平台的代码。

风险和假设

在进行这项工作时,可能存在 AArch64 硬件可用性的问题,但我们希望在项目进行过程中它会得到广泛提供。

类似于 PPC/AIX 移植,将创建一个由 AArch64 移植项目拥有的暂存存储库(例如 aarch64-port/stage),包含已经经过审查和批准的变更集。

Page Layout Max Width

Adjust the exact value of the page width of VitePress layout to adapt to different reading needs and screens.

Adjust the maximum width of the page layout
A ranged slider for user to choose and customize their desired width of the maximum width of the page layout can go.

Content Layout Max Width

Adjust the exact value of the document content width of VitePress layout to adapt to different reading needs and screens.

Adjust the maximum width of the content layout
A ranged slider for user to choose and customize their desired width of the maximum width of the content layout can go.