本次方舟编译器开源的是编译器框架部分源码,包括编译器中间表示(IR)和语言编译实现,同时搭配编译器其他二进制组件,实现Java程序到aarch64汇编指令的编译过程。
开发者可以通过如下方式获得相关代码和文档,供参考学习、了解方舟编译器的架构和代码。
地址
源代码包下载
二进制包下载
查看源码
官方网站
代码托管网站
码云镜像仓库地址
架构设计
方舟编译器架构示意图
当前方舟编译器支持Java/Kotlin程序字节码的前端输入,其它编程语言的支持(如 C/C++/JS 等)还在规划中,方舟编译器的中间表示(IR)转换器将前端输入转换成方舟IR,并输送给后端的优化器,最终生成二进制文件,二进制文件与编译器运行时库文件链接生成可执行文件,在方舟的运行环境中就可执行该文件
方舟编译器IR是支持程序编译和运行的中间程序表示。程序源代码中的任何信息对于程序分析和优化都是有帮助的,所以方舟IR的目标是尽可能完整详细地提供源程序的信息。关于方舟编译器IR的详细信息,请参考文档:方舟IR设计
方舟编译器开源范围请参考这里
环境配置
硬件推荐配置
- 2 GHz双核处理器或者更高等级CPU
- 2 GB系统内存及以上
- 200GB可用磁盘空间
开发环境推荐
您需要安装一个64位版本的Ubuntu(推荐Ubuntu 16.04)