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

oschina
 oschina
发布于 2020年06月27日
收藏 12

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

微软 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 应用。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:微软在 ARM 上成功移植 OpenJDK for Windows 10
加载中

精彩评论

eechen
eechen
Linux ARM版OpenJDK不知道出来多久了,树莓派和Raspbian笑而不语。
_Anonymous_
_Anonymous_
Intel的老路应该是指现在被AMD狠狠地回杀市占率的情况吧。Intel这条路甚至是在不算彻底垄断的情况下走的,哪怕是PC和服务器市场曾经占优,但还是有少数AMD机器撑着,直到现在重新反杀。
而ARM在特定市场已经到达100%垄断状态了,整个手机市场都是ARM的天下,大多数路由器也是用ARM,不说垄断都不行。这不,老路开始若隐若现了,RISC-V嚷着挑战ARM的地位,只是RISC-V太年轻,现在还是难以撼动。
y
yh2216
止步不前的会挂掉,c++也活的越来越好了!
y
yanling112
没看osc来晚了,www.injdk.cn
Tinian
Tinian
先得有鸡才能有蛋

最新评论(23

猴子叫你一声敢答应吗
猴子叫你一声敢答应吗
正常人会用node?基本都是c和python的天下吧
bug制造专家
bug制造专家
有华为
RYAN_____
RYAN_____
用归用,开发环境能顺利迁移过去嘛?我记得node对arm的支持不是很好,而且版本都很旧
猴子叫你一声敢答应吗
猴子叫你一声敢答应吗
你在开啥玩笑,没有用过树莓派吗?
晴雨夜
晴雨夜
后悔卖了。2333
游溟树
游溟树
这么说surface rt有救了
鬼面书生灬
鬼面书生灬
微软 Java 工程组首席程序经理 Bruno Borges
_Anonymous_
_Anonymous_
Intel的老路应该是指现在被AMD狠狠地回杀市占率的情况吧。Intel这条路甚至是在不算彻底垄断的情况下走的,哪怕是PC和服务器市场曾经占优,但还是有少数AMD机器撑着,直到现在重新反杀。
而ARM在特定市场已经到达100%垄断状态了,整个手机市场都是ARM的天下,大多数路由器也是用ARM,不说垄断都不行。这不,老路开始若隐若现了,RISC-V嚷着挑战ARM的地位,只是RISC-V太年轻,现在还是难以撼动。
y
yanling112
没看osc来晚了,www.injdk.cn
晒太阳的小猪
晒太阳的小猪
系统性污染
返回顶部
顶部