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

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

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

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

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

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

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

猜你喜欢

转载自blog.csdn.net/quantum7/article/details/126287544