0 Star 0 Fork 1.4K

硅谷海盗 / OpenArkCompiler

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
.gn
Loading...
README
MulanPSL-2.0

OpenArkCompiler

概述


面向多设备、支持多语言的统一编程平台。

OpenArkCompiler是来自华为方舟编译器的开源项目。

OpenArkCompiler 四个技术特点

能够将不同语言代码编译成一套可执行文件,在运行环境中高效执行:

  • 支持多语言联合优化、消除跨语言调用开销;
  • 更轻量的语言运行时;
  • 软硬协同充分发挥硬件能效;
  • 支持多样化的终端设备平台

开源计划

编译器框架代码开源

  • 时间:2019年8月
  • 开源范围:编译器IR+中端语言实现
  • 开放能力:
    • 框架开源供参考学习,了解方舟编译器架构及框架代码
    • 开发者可构建出完整编译器工具链,支持Java Sample程序编译(非应用)

后续开源范围 陆续开源编译器前端、后端、编译优化;完整支持Java程序编译、JavaScript语言应用的编译等。

开源范围 2020年3月 2020年5月
编译器前端 jbc前端基础框架 前端全量开源
编译器中端 独立优化Phase每周持续开源
编译器后端 后端开源(O0) (aarch64) 独立优化按周开源(O2) (aarch64)
测试框架 测试框架+基础用例开源

计划持续更新...

如何使用

  • source build/envsetup.sh arm release 或
  • source build/envsetup.sh arm debug
  • make setup (这一步可能需要配置代理或者vpn,才能将所有依赖下载下来)
  • make
  • make libcore
  • make testall

孵化器项目

相关文档

许可证

开发者交流频道

  • Discord-OpenArkCompiler
  • 每天上午9:00~10:30不定时在语音频道“panel disscussion”交流社区议题。

如何提交代码

# OpenArkCompiler ## Overview ----------------- > Unified programming platform supporting multiple devices and languages OpenArkCompiler is Huawei's open source project. ### Four Technical Features of OpenArkCompiler ### Compiles code of different languages into a set of executable files and efficiently executes the files in the running environment. - Supports joint optimization of multiple languages and eliminates cross-language calling overhead. - Achieves lightweight language runtime. - Collaborates hardware and software to maximize hardware energy efficiency. - Supports diversified terminal platforms. ## Open Source Plan **Open source compiler framework code** - Time: August, 2019 - Scope: Compiler IR and middle-end language implementation - Benefits: - Provides an open source framework for understanding the architecture and framework code of OpenArkCompiler. - Allows developers to build a complete compiler toolchain that supports the compilation of Java samples (non-application). **Subsequent open source scope** Open the front end, back end, and compilation optimization of compilers. Support the full compilation of Java programs and JavaScript applications. |Open Source Scope|March 2020 |May 2020 | | ------------ | -------------------|--------------------- | |Front end| Jbc front-end basic framework | Front-end full open source | |Middle end |Weekly open source optimization phase | | |Back end |Backend open source (O0) (aarch64)|Weekly open source optimization (O2) (aarch64)| |Test framework|Test framework and basic Cases| | **Updating...** ## How to use - source build/envsetup.sh arm release or - source build/envsetup.sh arm debug - make setup (In this step, you may need to configure the proxy or VPN to download all dependencies.) - make - make libcore - make testall C example: - make demo ## OpenArkCompiler Incubator - FutureWei Mapleall https://gitee.com/openarkcompiler-incubator/mapleall - Maple Engine https://gitee.com/openarkcompiler-incubator/maple_engine - Maple FrondEnd https://gitee.com/openarkcompiler-incubator/MapleFE - Maple clang2mpl https://gitee.com/openarkcompiler-incubator/clang2mpl ## Related Documents - Architecture Design Principles - [MAPLE IR Design](doc/en/MapleIRDesign.md) - [RC API](doc/en/RcApi.md) - [Naive RC Insertion Principle](doc/en/NaiveRcInsertionDescription.md) - [Virtual Table and Interface Table Design](doc/en/VtableItableDescription.md) - [Phase Design](doc/en/CompilerPhaseDescription.md) - [Application Manual of Maple General Modules](doc/en/DeveloperGuide4Utility.md) - [Environment Configuration](doc/en/DevelopmentPreparation.md) - [Developer Guide](doc/en/DeveloperGuide.md) - [Programming Specifications](doc/en/ProgrammingSpecifications.md) - [Discussion of Pointer in C++ Programming](doc/en/CPPCodingTalkAboutPointer.md) ## License - [LICENSE](license/LICENSE) ## Real-time Chat Channel - [Discord-OpenArkCompiler](https://discord.gg/CJeJWQXxMP) - 9:00 am - 10:30 am everyday, developers can discuss community issues in the voice channel "panel discussion" - [Discord-MapleFE](https://discord.gg/sBj3cc4GhM) - we have weekly meeting about projects related to MapleFE

简介

方舟编译器开源代码官方镜像仓库 展开 收起
C++
MulanPSL-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C++
1
https://gitee.com/shamohaidao/OpenArkCompiler.git
git@gitee.com:shamohaidao/OpenArkCompiler.git
shamohaidao
OpenArkCompiler
OpenArkCompiler
master

搜索帮助