服务器之家:专注于服务器技术及软件下载分享
分类导航

服务器资讯|IT/互联网|云计算|区块链|软件资讯|操作系统|手机数码|百科知识|免费资源|头条新闻|

服务器之家 - 新闻资讯 - 软件资讯 - 微软在 ARM 上成功移植 OpenJDK for Windows 10

微软在 ARM 上成功移植 OpenJDK for Windows 10

2020-06-27 11:01开源中国 软件资讯

去年 微软 宣布收购 jClarity,用在了 Azure 上的 Java 工作负载,以平台之势加大了对 Java 的支持,而近期,开发团队完成了在基于Arm(AArch64)的设备上移植适用于 Windows 10 的 OpenJDK 的第一阶段。同时该工作正在与 Red Hat 合作提交给 Op

去年微软宣布收购 jClarity,用在了 Azure 上的 Java 工作负载,以平台之势加大了对 Java 的支持,而近期,开发团队完成了在基于Arm(AArch64)的设备上移植适用于 Windows 10OpenJDK 的第一阶段。同时该工作正在与 Red Hat 合作提交给 OpenJDK 项目。

微软在 ARM 上成功移植 OpenJDK for Windows 10

微软 Java 工程组首席程序经理Bruno Borges介绍,凭借更高的能源效率,使用 ARM64 可以大大降低数据中心的成本并延长个人设备的电池寿命,而 “对于许多工作负载和用户首选项,Windows 是首选的操作系统”,因此 Java 工程组借助此移植版以支持这一类用户。

目前微软在该项目上提供了 2 个补丁,第一个补丁 Webrev P1 有助于在 Linux + AArch64 上集成对 Windows(LLP64)的支持;第二个补丁 Webrev P2 在 os_cpu 中添加了对 windows-aarch64 的支持。过程中还必须修改共享代码,具体细节包括:

·在 Windows_x86 中,例如在 os_windows_x86.cpp 中的 get_frame_at_stack_banging_point,

·os/windows os_windows.cpp 中,使其知晓 Windows + Arm64

·threadCritical_windows.cpp 中的 os/windows,

·Windbg 支持

·share/utilities 中的 globalDefinitions_visCPP.hpp

·还向 P2 添加了向量异常处理(Vectored Exception Handling,VEH),这是 Windows + Arm64 上的要求(由于 ABI 规范)。

另外,Webrev P2 中还对 cpu/aarch64 进行了一些重要的更改,因为在 Windows + Arm64 上,将 R18 点指向 TEB。

目前已经成功移植了 C2,并且可以构建服务器版本(交叉编译环境),同时另外两个补丁也正在开发中:

Webrev P3:在 Windows 上将 VEH 扩展到 x86-64。

Webrev P4:Windows 上共享跨平台代码的改进,将会尽快发送单独的补丁。

尽管仍未 100% 完成功能,但是此移植版本基于 OpenJDK tip branch(16+),可以运行大多数工作负载,包括 SPEC SERT 以及所有 SPEC Java 套件。开发人员可以开始使用最近发布的 Visual Studio Code for Windows ARM64 中添加的核心 Java 扩展,以及 Apache Maven、Gradle 等工具在Windows 10 ARM64兼容笔记本电脑上开发 Java 应用。

延伸 · 阅读

精彩推荐