为了龙芯JDK8,吾重新设计了整合办法

Posted 柳鲲鹏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为了龙芯JDK8,吾重新设计了整合办法相关的知识,希望对你有一定的参考价值。

  这几天发现龙芯放出了OpenJDK8的332版本(之前是302),泰山JDK8已经是342,于是就试图整合进来。整合时发现,龙芯这次修改量很大。其实吾是很佩服他们的。要移植其他指令集,必须熟悉JVM的规范、运行,才能知道在什么地方适配什么指令。

  整合这事吾已经很熟练了,龙芯修改多,吾亦不是吃素的。编译时也出错了(不知道龙芯为什么要改这些东西),修改之后,顺利编译出来。满心欢喜,赶紧测试一下,出错了……

  吾一开始并没有怀疑到自己(谁不认为自己英明神武)。于是又重新研究了一下编译脚本,没解决;又进行了交叉替换编译,于是确认了,确实是自己的错……

  于是重新整合了一遍,经历一些小错,这次正确了。根据整合经历,吾重新设计了整合办法。原来的龙芯差异文件放在一个目录,现在分成两个目录:

  • 简单目录,约400个文件。这其中的文件,吾都认为下个版本应该不会修改的,比如包含头文件的修改、CPU的识别。
  • 复杂目录,约50个文件。这个目录中的文件,都是跟具体代码相关,下个版本JDK、适配都有可能修改。

  这样下次在整合时,简单目录简单处理,复杂目录则好花费精力认真研究。

以上是关于为了龙芯JDK8,吾重新设计了整合办法的主要内容,如果未能解决你的问题,请参考以下文章

泰山JDK8升级u302,找到了更好的整合mips办法

六石编程学:抄代码是个技术活,大多数人不传抄

代码整合错了,回滚后再整合,为何要诉苦

想不明白:为什么龙芯取消了MIPS版OpenJDK8开源

龙芯JDK8u/loongarch/mips移植源码链接

龙芯JDK8u/loongarch/mips移植源码链接