方舟编译器 runtime 参考实现 pacific 发布了 0.1 版本,支持运行基于方舟编译器的 Hello World 程序。
pacific 并不是华为官方实现,而是 PLCT 实验室的培训项目。PLCT 即“程序语言与编译技术实验室”,隶属于中国科学院软件研究所智能软件研究中心。
发布公告介绍,pacific 开发团队使用 QEMU 提供 AArch64 架构支持,将方舟编译器的 Java 环境巧妙地用 GNU/Linux 的方式仿制了这套可以跑 Hello World 程序的 Toy Runtime。
据了解,pacific 是目前业内首个方舟编译器 runtime 实现,“实现了从 0到 1 的一个跨越”。
pacific 编译与运行方法
1、目前默认在Ubuntu 18.04 环境下编译运行;
2、依赖于 aarch64-gun-toolchain,可以通过“sudo apt-get install gcc-8-aarch64-linux-gnu”命令安装;
3、依赖于 qemu-aarch64,可以通过源码中 pacific/script/ 下的 build-qemu-aarch64.sh 编译 qemu-aarch64;
4、使用命令行“make”,编译 pacific;
5、使用命令行“make sample”,运行 Hello World 例子,成功运行后如下图所示:
此外,可以通过调整,在Ubuntu 16.04 环境下编译运行 pacific:
1、使用命令行“sudo apt-get install gcc-aarch64-linux-gnu”,安装 aarch64-gun-toolchain 依赖;
2、将 Makefile 之中的
CROSS_AARCH64_GCC=aarch64-linux-gnu-gcc-8
修改为:
CROSS_AARCH64_GCC=aarch64-linux-gnu-gcc
3、将 src/pacific.c 中591 行的
for(intidx=0;idx
修改为:
intidx;
for(idx=0;idx
4、其它步骤与 Ubuntu 18.04 环境的操作相同。