» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

没人转吗,算是华为官方对方舟编译器的说明

引用:
原帖由 流浪的枪骑兵 于 2019-8-8 19:25 发表
posted by wap, platform: 小米
有同感,涉及关键问题基本一句不提。
java代码直接变成机器码,指令集不一样怎么办?
难不成针对每套指令集做一套后端?这成本也太高了。
等源码出来再看。
就是每套指令集做一套后端

三段式编译
高等程序语言-中间码-可执行代码
不同的高等语言用对应的解释器转化成中间码
而不同的指令集用对应优化器生成最终可执行代码

方舟按照之前的描述,主要改动有两个,一个是前端支持混合编译,而且混的相当彻底,把java自带机制都砸了;
另一个就是软件开发者以中间码提交,这本身按照三段式编译来说是不难的,但是现实没那么美好,本来三段式都在本地进行,那么调试还是比较便利的,但是递交发行那后端优化就脱离源代码了呀。除非真的做到单一环境下通过即可编译到其他指令集其他优化配置不需调试,那就非常黑科技,真做到可以说解决了编译这件事的万年毒瘤,怎么吹都不过分。


TOP

引用:
原帖由 Tobar 于 2019-8-8 18:50 发表
Posted by Xiaomi MIX 2S
前面一大堆现状介绍都是从专业文章里面抄的,后面介绍华为的就没有任何实质性的内容

1。大数据编译器动态语义分析,编译时怎么进行动态语义分析?代码都没跑起来,是不是从哪里抄来的内容 ...
具体不清楚,但是肯侵犯用户隐私做到这点并不难,编译的时候埋一些带编号的计数器暗桩,联网把计数同步到服务器,华为看一下手里的中间码对应的暗桩编号,就完成自学习了。



TOP

发新话题
     
官方公众号及微博