From 2d8abb1523cb68b605ec7c972f48262195791df4 Mon Sep 17 00:00:00 2001 From: Dmitry Pimenov Date: Tue, 21 Jan 2025 15:44:24 +0300 Subject: [PATCH] Add AOT mode to koala scripts Signed-off-by: Dmitry Pimenov --- arkoala-arkts/bin/aot_build.sh | 15 +++++++++++++++ arkoala-arkts/package.json | 6 ++++-- interop/src/cpp/vmloader.cc | 2 ++ 3 files changed, 21 insertions(+), 2 deletions(-) create mode 100755 arkoala-arkts/bin/aot_build.sh diff --git a/arkoala-arkts/bin/aot_build.sh b/arkoala-arkts/bin/aot_build.sh new file mode 100755 index 000000000..88e5c8d07 --- /dev/null +++ b/arkoala-arkts/bin/aot_build.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +set -ex + +export PROJECT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/.." &> /dev/null && pwd ) +export ARK_AOT=$( realpath "${PROJECT_DIR}/../incremental/tools/panda/node_modules/@panda/sdk/linux_host_tools/bin/ark_aot" ) +export BOOT_PANDA_FILES=${PANDA_HOME}/ets/etsstdlib.abc + +${ARK_AOT} --load-runtimes=ets --boot-panda-files=${BOOT_PANDA_FILES} --paoc-panda-files=${BOOT_PANDA_FILES} --paoc-output=${BOOT_PANDA_FILES%.abc}.an + +for var in "$@" +do + export BOOT_PANDA_FILES=${BOOT_PANDA_FILES}:${var} + ${ARK_AOT} --load-runtimes=ets --boot-panda-files=${BOOT_PANDA_FILES} --paoc-panda-files=${var} --paoc-output=${var%.abc}.an +done diff --git a/arkoala-arkts/package.json b/arkoala-arkts/package.json index 9d8853bf5..8911b8ed3 100644 --- a/arkoala-arkts/package.json +++ b/arkoala-arkts/package.json @@ -62,8 +62,10 @@ "build:arkoala": "npm run build:arkoala:components && npm run link:arkoala", "build:arkoala:inc": "npm run build:arkoala:components:inc && npm run link:arkoala", "link:arkoala": "mkdir -p build && ../incremental/tools/panda/arkts/arklink --output build/arkoala.abc -- ./arkui/build/arkui-no-common.abc ../arkoala/arkui-common/build/arkui-common.abc ../incremental/runtime/build/incremental.abc ../interop/build/interop.abc", - "build:user": "npm run build:user --prefix user && mkdir -p ./build && cp -r user/build/user.abc ./build/", - "build:shopping": "npm run build:shopping --prefix shopping && mkdir -p ./build && cp -r shopping/build/shopping.abc ./build/", + "build:user": "npm run build:user --prefix user && mkdir -p ./build && cp -r user/build/user.abc ./build/ && npm run build:user:aot", + "build:user:aot": "PANDA_HOME=../incremental/tools/panda/node_modules/@panda/sdk bin/aot_build.sh build/arkoala.abc build/user.abc", + "build:shopping": "npm run build:shopping --prefix shopping && mkdir -p ./build && cp -r shopping/build/shopping.abc ./build/ && npm run build:shopping:aot", + "build:shopping:aot": "PANDA_HOME=../incremental/tools/panda/node_modules/@panda/sdk bin/aot_build.sh build/arkoala.abc build/shopping.abc", "run:node:user": "ACE_LIBRARY_PATH=build PANDA_HOME=../incremental/tools/panda/node_modules/@panda/sdk node build/index.js panda:TrivialApp", "run:node:user:navigation": "ACE_LIBRARY_PATH=build PANDA_HOME=../incremental/tools/panda/node_modules/@panda/sdk node build/index.js panda:NavigationApp", "run:node:shopping": "ACE_LIBRARY_PATH=build PANDA_HOME=../incremental/tools/panda/node_modules/@panda/sdk node build/index.js panda:ShoppingApp", diff --git a/interop/src/cpp/vmloader.cc b/interop/src/cpp/vmloader.cc index 56cdac2b5..a6a0fb049 100644 --- a/interop/src/cpp/vmloader.cc +++ b/interop/src/cpp/vmloader.cc @@ -257,6 +257,8 @@ extern "C" DLL_EXPORT KInt LoadVirtualMachine(KInt vmKind, const char* appClassP etsVMOptions.push_back({EtsOptionType::ETS_VERIFICATION_MODE, "on-the-fly"}); etsVMOptions.push_back({EtsOptionType::ETS_NO_JIT, nullptr}); etsVMOptions.push_back({EtsOptionType::ETS_MOBILE_LOG, (void*)ArkMobileLog}); + // etsVMOptions.push_back({EtsOptionType::ETS_LOG_LEVEL, "info"}); + etsVMOptions.push_back({EtsOptionType::ETS_AOT, nullptr}); pandaVMArgs.nOptions = etsVMOptions.size(); pandaVMArgs.options = etsVMOptions.data(); g_vmEntry.vmKind = PANDA_VM_KIND; -- Gitee