# arkcompiler_ets_runtime_26 **Repository Path**: tangjie020115/arkcompiler_ets_runtime_26 ## Basic Information - **Project Name**: arkcompiler_ets_runtime_26 - **Description**: 暂无描述 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/openharmony/arkcompiler_ets_runtime - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1082 - **Created**: 2025-08-08 - **Last Updated**: 2025-08-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ArkCompiler JS Runtime - [ArkCompiler JS Runtime](#ArkCompiler_JS_Runtime) - [Introduction](#Introduction) - [Directory Structure](#Directory_Structure) - [Constraints](#Constraints) - [Building](#Building) - [Available APIs](#Available_APIs) - [Usage](#Usage) - [Repositories Involved](#Repositories_Involved) ### Introduction ArkCompiler JS Runtime is the default JS runtime on OpenHarmony. It supports ECMAScript libraries and efficient container libraries. It also provides a set of native APIs for C++ and JS interaction and a variety of garbage collectors that features high performance. For more information, see [ArkCompiler JS Runtime](https://gitee.com/openharmony/docs/blob/master/en/readme/ARK-Runtime-Subsystem.md). **ArkCompiler JS Runtime architecture** ![](/docs/figures/en-us_image_ark-js-arch.png) ## Directory Structure ``` /arkcompiler/ets_runtime ├─ ecmascript # Implementation of ArkCompiler JS Runtime, including the ECMAScript library, interpreter, and memory management │ ├─ base # Base helper class │ ├─ builtins # ECMAScript libraries │ ├─ checkpoint # Virtual machine safepoint │ ├─ compiler # JS compiler │ ├─ containers # Non-ECMAScript containers │ ├─ daemon # Shared GC concurrent thread │ ├─ debugger # JS debugger │ ├─ deoptimizer # Compiler deoptimization │ ├─ dfx # Memory and profiling tool │ ├─ extractortool # Sourcemap parsing │ ├─ ic # Inline cache module │ ├─ interpreter # JS interpreter │ ├─ intl # Internationalization │ ├─ jit # Jit compiler │ ├─ jobs # Queue of jobs │ ├─ js_api # Non-ecma standard object model │ ├─ js_type_metadata # Object layout file │ ├─ js_vm # Command line tool │ ├─ jspandafile # abc file management module │ ├─ mem # Memory management module │ ├─ module # ECMAScript module │ ├─ napi # C++ API module │ ├─ ohos # System-related logic │ ├─ patch # Cold patch, hot patch │ ├─ pgo_profiler # A performance analyzer based on profile-guided optimization (pgo), used for performance analysis and optimization │ ├─ platform # Cross-platform processing │ ├─ quick_fix # Quickly fix the command-line tool │ ├─ regexp # Regular expression engine module │ ├─ require # Commonjs module specification │ ├─ sdk # Integration of sdk tools │ ├─ serializer # Serialization │ ├─ shared_mm # Shared memory management module │ ├─ shared_objects # Implementation of shared objects │ ├─ snapshot # Snapshot module │ ├─ stackmap # Location information of active variables │ ├─ stubs # Runtime stub functions │ ├─ taskpool # Task pool │ ├─ tests # Unit test cases │ ├─ ts_types # TS type management module └─ test # Module test cases ``` ## Constraints * Only the ArkCompiler bytecode files generated by ts2abc, which is the ArkCompiler JS frontend toolchain, can be run. * Only the ES2021 standard and strict modes are supported. * Functions cannot be dynamically created using strings, such as new Function("console.log(1);")). ## Building ``` $./build.sh --product-name hispark_taurus_standard --build-target ark_js_host_linux_tools_packages ``` ### Available APIs See [NAPI](https://gitee.com/openharmony/arkui_napi/blob/master/README.md). ### Usage For details about how to generate JS bytecodes, see [Using the Toolchain](docs/using-the-toolchain.md). To run bytecodes: ``` LD_LIBRARY_PATH=out/hispark_taurus/clang_x64/arkcompiler/ets_runtime:out/hispark_taurus/clang_x64/thirdparty/icu:prebuilts/clang/ohos/linux-x86_64/llvm/lib ./out/hispark_taurus/clang_x64/arkcompiler/ets_runtime/ark_js_vm helloworld.abc ``` For more information, see [ARK Runtime Usage Guide](https://gitee.com/openharmony/arkcompiler_ets_runtime/blob/master/ docs/ARK-Runtime-Usage-Guide.md). ## Repositories Involved [arkcompiler\_runtime\_core](https://gitee.com/openharmony/arkcompiler_runtime_core) **[arkcompiler\_ets\_runtime](https://gitee.com/openharmony/arkcompiler_ets_runtime)** [arkcompiler\_ets\_frontend](https://gitee.com/openharmony/arkcompiler_ets_frontend)