39 Star 111 Fork 22

方舟编译器孵化器 / maple_engine

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
English Version Readme
目录
#
# Copyright (C) [2020-2021] Futurewei Technologies, Inc. All rights reserved.
#
# OpenArkCompiler is licensed underthe Mulan Permissive Software License v2.
# You can use this software according to the terms and conditions of the MulanPSL - 2.0.
# You may obtain a copy of MulanPSL - 2.0 at:
#
#   https://opensource.org/licenses/MulanPSL-2.0
#
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR
# FIT FOR A PARTICULAR PURPOSE.
# See the MulanPSL - 2.0 for more details.
#

Maple 编译器和引擎

输入图片说明

Linux服务器环境设置

需要一台Linux x86_64服务器,至少16GB或以上内存,安装Ubuntu 16.04或18.04系统. 若您的服务器只有16GB内存,需要创建8GB或以上的swap空间。

编译和链接 OpenJDK 核心库时,会占用很多内存。对于少于16GB内存的服务器,可以考虑 在其它内存较多的服务器上先构建好libcore.so, 将maple_engine/maple_build/out/这个 目录打包传到您的本地机器,展开后放到本地机器 同名目录下,再拷贝其中的文件 libcore.so 到maple_engine/maple_runtime/lib/x86_64/libcore.so,就可以本地编译和运行应用程序了。

登录服务器后,执行如下命令安装所需的软件包:

    sudo apt install -y build-essential clang cmake libffi-dev libelf-dev libunwind-dev \
            libssl-dev openjdk-8-jdk-headless unzip python-minimal python3 gdb bc highlight

Maple 构建环境设置

下载代码并设置Maple 构建环境:

  git clone https://gitee.com/openarkcompiler-incubator/maple_engine.git
  cd maple_engine
  source ./envsetup.sh

若要执行后续命令,需先执行source ./envsetup.sh.

构建Maple 编译器和Maple引擎

  ./maple_build/tools/build-maple.sh

构建Java 核心库

按照文档./maple_build/doc/build_OpenJDK8.md 中介绍的方法构建定制的OpenJDK-8. 将文档中提到的必需的.jar 文件拷贝到./maple_build/jar/ 目录中,再执行如下命令:

   ./maple_build/tools/build-libcore.sh

构建Java 核心库完成后,会将编译应用代码所需要的文件拷贝到maple_runtime/lib/x86_64/目录下。

编译和执行应用程序

以HelloWorld为例,编译和执行一个应用程序:

  cd ./maple_build/examples/HelloWorld
  "$MAPLE_BUILD_TOOLS"/java2asm.sh HelloWorld.java
  "$MAPLE_BUILD_TOOLS"/asm2so.sh HelloWorld.s

  "$MAPLE_BUILD_TOOLS"/run-app.sh -classpath ./HelloWorld.so HelloWorld

调试应用程序

  "$MAPLE_BUILD_TOOLS"/run-app.sh -gdb -classpath ./HelloWorld.so HelloWorld

Build environment setup

This requires an x86_64 server with more than 16GB of RAM and Ubuntu 16.04/18.04 installed. If your server has 16GB RAM, please setup 8GB or more swap space.

Execute the following command to install the packages used by the Maple build.

    sudo apt install -y build-essential clang cmake libffi-dev libelf-dev libunwind-dev \
            libssl-dev openjdk-8-jdk-headless unzip python-minimal python3 gdb bc highlight

Setup the Maple environment

  cd maple_engine
  source ./envsetup.sh

Build the Maple compiler and engine

  ./maple_build/tools/build-maple.sh

Build the Java core library

Following the doc at ./maple_build/doc/build_OpenJDK8.md to build the customized OpenJDK8. Make sure the needed .jar files are copied into ./maple_build/jar/ directory.

   ./maple_build/tools/build-libcore.sh

Build and run an app

  cd ./maple_build/examples/HelloWorld
  "$MAPLE_BUILD_TOOLS"/java2asm.sh HelloWorld.java
  "$MAPLE_BUILD_TOOLS"/asm2so.sh HelloWorld.s

  "$MAPLE_BUILD_TOOLS"/run-app.sh -classpath ./HelloWorld.so HelloWorld

Build and run a C app

  cd ./maple_build/examples/HelloWorld-C
  "$MAPLE_BUILD_TOOLS"/run-c-app.sh HelloWorld-C.c

Debug an app with Maple debugger

  "$MAPLE_BUILD_TOOLS"/run-app.sh -gdb -classpath ./HelloWorld.so HelloWorld

Maple JavaScript编译器和引擎

Linux服务器环境设置

需要一台Linux x86_64服务器,至少6GB或以上内存,安装Ubuntu 16.04或18.04系统.

登录服务器后,执行如下命令安装所需的软件包:

sudo apt install -y build-essential clang cmake libffi-dev libunwind-dev openjdk-8-jdk-headless \
       libssl-dev:i386 libelf-dev:i386 g++-5 gcc-5 g++-multilib gcc-multilib libc6-dev-i386 \
       unzip python-minimal python3 gdb bc highlight libicu-dev

MapleJS构建环境设置

下载代码并设置MapleJS 构建环境:

  git clone https://gitee.com/openarkcompiler-incubator/maple_engine.git

若要执行后续命令,需先执行source maple_engine/envsetup.sh.

构建MapleJS 编译器和Maple引擎

以下脚本下载与构建JavaScript引擎,构建与安装maple编译器,构建MapleJS引擎:

maple_engine/maple_build/tools/build-maple-js.sh

编译和执行JS应用程序

以add.js为例,编译和执行一个应用程序:

cd maple_engine/maple_build/examples/JavaScript/add
$MAPLE_ROOT/maple_build/tools/run-js-app.sh add

你将看到:

add: pass

Linux server setup

This requires an x86_64 server with more than 6GB of RAM and Ubuntu 16.04/18.04 installed.

Execute the following command to install the packages used by the MapleJS build.

sudo apt install -y build-essential clang cmake libffi-dev libunwind-dev openjdk-8-jdk-headless \
       libssl-dev:i386 libelf-dev:i386 g++-5 gcc-5 g++-multilib gcc-multilib libc6-dev-i386 \
       unzip python-minimal python3 gdb bc highlight libicu-dev

Setup the MapleJS environment

Download MapleJS code:

  git clone https://gitee.com/openarkcompiler-incubator/maple_engine.git

Set up build enviroment: source maple_engine/envsetup.sh.

Build the MapleJS compiler and engine

Run following script to: Download and build jscre Build Maple compiler release (mplbe, mplcg, js2mpl) for Maple Engine Build Maple Engine for JS

  ./maple_build/tools/build-maple-js.sh

Build and run a JS App

Build and run examples in JavaScript:

cd maple_engine/maple_build/examples/JavaScript/add
$MAPLE_ROOT/maple_build/tools/run-js-app.sh add
Table of Contents

空文件

简介

Maple 编译器和引擎 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C++
1
https://gitee.com/openarkcompiler-incubator/maple_engine.git
git@gitee.com:openarkcompiler-incubator/maple_engine.git
openarkcompiler-incubator
maple_engine
maple_engine
master

搜索帮助