1.4K Star 7.6K Fork 1.4K

GVP方舟编译器/OpenArkCompiler

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
.gn
Loading...
README
MulanPSL-2.0

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

Related Documents

License

Real-time Chat Channel

  • Discord-OpenArkCompiler

  • 9:00 am - 10:30 am everyday, developers can discuss community issues in the voice channel "panel discussion"

  • Discord-MapleFE

  • we have weekly meeting about projects related to MapleFE

# 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

About

方舟编译器2.0开源代码主仓库: https://gitee.com/openarkcompiler/OpenArkCompiler expand collapse
C++ and 6 more languages
MulanPSL-2.0
Cancel

Releases (2)

All

Contributors

All

Activities

Load More
can not load any more
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/openarkcompiler/OpenArkCompiler.git
git@gitee.com:openarkcompiler/OpenArkCompiler.git
openarkcompiler
OpenArkCompiler
OpenArkCompiler
master

Search