diff --git a/sig/sig-compileruntime/OWNERS b/sig/sig-compileruntime/OWNERS index f1b30317c0ec8fe0fcca335f759d40e83240cac6..34a26a4e984a4bbf5c4307bb59a5858ef7610dba 100644 --- a/sig/sig-compileruntime/OWNERS +++ b/sig/sig-compileruntime/OWNERS @@ -1,24 +1,12 @@ { "Leader": [{ - "gitee_id": "Xingwa", - "gitee_email": "raymond.wangxing@huawei.com" - }, - { - "gitee_id": "huanghuijin", - "gitee_email": "huanghuijin@huawei.com" + "gitee_id": "klooer", + "gitee_email": "xianyuqiang@huawei.com" } ], "Committers": [{ - "gitee_id": "weichaox", - "gitee_email": "wangweichao2@huawei.com" - }, - { - "gitee_id": "jady3356", - "gitee_email": "peitaiyi@huawei.com" - }, - { - "gitee_id": "Han00000000", - "gitee_email": "jianghan2@huawei.com" + "gitee_id": "huanghuijin", + "gitee_email": "huanghuijin@huawei.com" }, { "gitee_id": "wuzhefengh", @@ -40,6 +28,10 @@ "gitee_id": "yingguofeng", "gitee_email": "yingguofeng@huawei.com" }, + { + "gitee_id": "xliu-huanwei", + "gitee_email": "liuxin259@huawei.com" + }, { "gitee_id": "flyingwolf", "gitee_email": "liyongbiao1@huawei.com" @@ -55,6 +47,14 @@ { "gitee_id": "pengzhuoli", "gitee_email": "pengzhuoli@huawei.com" + }, + { + "gitee_id": "JerryH1011", + "gitee_email": "huangjieliang@huawei.com" + }, + { + "gitee_id": "dongduResearcher", + "gitee_email": "dd_nirvana@sjtu.edu.cn" } ] -} \ No newline at end of file +} diff --git a/sig/sig-compileruntime/figures/compileruntime-overview-compiler-cn.png b/sig/sig-compileruntime/figures/compileruntime-overview-compiler-cn.png new file mode 100644 index 0000000000000000000000000000000000000000..7c781e44b2024dc0204283081debd64adc94057e Binary files /dev/null and b/sig/sig-compileruntime/figures/compileruntime-overview-compiler-cn.png differ diff --git a/sig/sig-compileruntime/figures/compileruntime-overview-compiler-en.png b/sig/sig-compileruntime/figures/compileruntime-overview-compiler-en.png new file mode 100644 index 0000000000000000000000000000000000000000..1d5ba4827d91d4d682d7420819f6e27fe143805e Binary files /dev/null and b/sig/sig-compileruntime/figures/compileruntime-overview-compiler-en.png differ diff --git a/sig/sig-compileruntime/figures/compileruntime-overview-runtime-cn.png b/sig/sig-compileruntime/figures/compileruntime-overview-runtime-cn.png new file mode 100644 index 0000000000000000000000000000000000000000..a9b3b64dbe34b293acbd24f15003427fdb5dd093 Binary files /dev/null and b/sig/sig-compileruntime/figures/compileruntime-overview-runtime-cn.png differ diff --git a/sig/sig-compileruntime/figures/compileruntime-overview-runtime-en.png b/sig/sig-compileruntime/figures/compileruntime-overview-runtime-en.png new file mode 100644 index 0000000000000000000000000000000000000000..66368651901b0b27927012b3c25deb848a9ef76e Binary files /dev/null and b/sig/sig-compileruntime/figures/compileruntime-overview-runtime-en.png differ diff --git a/sig/sig-compileruntime/sig-compile-runtime.md b/sig/sig-compileruntime/sig-compile-runtime.md index 90caadd8a06e94879884c8b291ce939fdd749850..67478750805950a3c11a1edbd5a3e8d81eefdba6 100644 --- a/sig/sig-compileruntime/sig-compile-runtime.md +++ b/sig/sig-compileruntime/sig-compile-runtime.md @@ -1,78 +1,92 @@ # SIG_COMPILERUNTIME - English | [简体中文](./sig_compileruntime_cn.md) + English | [简体中文](./sig-compile-runtime_cn.md) Note: The content of this SIG follows the convention described in OpenHarmony's PMC Management Charter [README](/zh/pmc.md). -## SIG group work objectives and scope +## SIG group objectives and work scope -### work goals +### objectives -- The development and maintenance of compilation framework and its efficiency improvement. Supporting compilation of multiple products and components. -- Support JS/TS language compilation and runtime, and create high-performance JS/TS virtual machines. Provide basic JSAPI capabilities, including multi-threading capabilities, encoding and decoding string capabilities, and URL parsing capabilities. +- Support JS/TS language compilation and execution, and create high-performance JS/TS virtual machines. +- Provide basic JSAPI capabilities, including concurrency, string encoding and decoding, and URL parsing capabilities, etc.. - Support C/C++ compilation, debugging based on Clang/LLVM. - Provide basic library support such as musl and evolution of related abilities. +- Provide new programming language design and implementation based on OpenHarmony's requirements. ### work scope -- Design, review, and make decisions on the architecture of the language compilation and runtime. -- Review and incorporate the code of the language compilation and runtime, prohibit low-quality code from being incorporated into the master branch. -- Actively and effectively participate in code review and comment, share programming experience, communicate with developers, transfer software development skills, and effectively coach open source community developers to write good code. -- Handle requirements, issues and mailing lists, and ensure that the closure period meets the SLA requirements of the OpenHarmony community. -- Provide feedback and guidance on code quality based on review and development activities to improve code quality in the OpenHarmony community. +- Programming language, compiler and runtime architecture design and review. +- Programming language, compiler and runtime implementation and review. +- Community requirements, issues and mailing lists processing. -### The repository -- project name: - - build_lite: https://gitee.com/openharmony/build_lite - - build: https://gitee.com/openharmony/build - - ets_utils: https://gitee.com/openharmony-sig/commonlibrary_ets_utils - - productdefine_common: https://gitee.com/openharmony/productdefine_common - - prebuilts_aosp_libs: https://gitee.com/openharmony/prebuilts_aosp_libs - - third_party_gn: https://gitee.com/openharmony/third_party_gn - - third_party_jinja2: https://gitee.com/openharmony/third_party_jinja2 - - third_party_jerryscript: https://gitee.com/openharmony/third_party_jerryscript - - third_party_markupsafe: https://gitee.com/openharmony/third_party_markupsafe - - third_party_mingw-w64: https://gitee.com/openharmony/third_party_mingw-w64 - - third_party_musl: https://gitee.com/openharmony/third_party_musl - - third_party_mimalloc: https://gitee.com/openharmony-sig/third_party_mimalloc - - third_party_ninja: https://gitee.com/openharmony/third_party_ninja - - third_party_python: https://gitee.com/openharmony/third_party_python - - third_party_quickjs: https://gitee.com/openharmony/third_party_quickjs - - utils: https://gitee.com/openharmony/utils - - utils_memory: https://gitee.com/openharmony/utils_memory - - commonlibrary_c_utils: https://gitee.com/openharmony/commonlibrary_c_utils - - commonlibrary_utils_lite: https://gitee.com/openharmony/commonlibrary_utils_lite +### overview +- Compiler +![figures/compileruntime-overview-compiler-en.png](figures/compileruntime-overview-compiler-en.png) +- Runtime +![figures/compileruntime-overview-runtime-en.png](figures/compileruntime-overview-runtime-en.png) - - third_party_llvm-project: https://gitee.com/openharmony-sig/third_party_llvm-project - - third_party_lldb-mi: https://gitee.com/openharmony-sig/third_party_lldb-mi +## Repositories +|Component|Description|Code repo| +| ----- | ----------- | --------- | +|ArkCompiler runtime core|Core components of ArkCompiler runtime|arkcompiler_runtime_core| +|ArkCompiler eTS runtime|eTS language runtime of ArkCompiler|arkcompiler_ets_runtime| +|ArkCompiler eTS frontend|eTS compiler frontend of ArkCompiler|arkcompiler_ets_frontend| +|ArkCompiler toolchain|Debugging and profiling tools for ArkCompiler|arkcompiler_toolchain| +|ARM assembler / code generator|ARM instruction assembler and code generator library|third_party_vixl| +|jerryscript|Lightweight JS engine with extremely low memory footprint|third_party_jerryscript| +|quickjs|Small JS engine with full compatibility of ES2020|third_party_quickjs| +|LLVM|LLVM compiler and toolchain|third_party_llvm-project| +|LLDB Machine Interface|LLDB machine interface|third_party_lldb-mi| +|MinGW-w64|A complete runtime environment for GCC and LLVM for 32 and 64 bit Windows|third_party_mingw-w64| +|musl|Standard C library|third_party_musl| +|mimalloc Memory allocator|High performance memory allocator implementation|third_party_mimalloc| +|elfio|C++ library for reading and generating ELF files|third_party_elfio| +|miniz|Data compression library that implements most zlib interfaces|third_party_miniz| +|eTS util library|eTS library providing basic utilities|commonlibrary_ets_utils| +|C utils library|C library providing basic utilities|commonlibrary_c_utils| +|Utils library for lite OS|Library providing basic utilities for lite OS|commonlibrary_utils_lite| +|Memory utils|Libraries providing common system memory related operations|utils_memory| - 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 - arkcompiler_toolchain: https://gitee.com/openharmony/arkcompiler_toolchain + - third_party_vixl: https://gitee.com/openharmony-sig/third-party-vixl + + - third_party_jerryscript: https://gitee.com/openharmony/third_party_jerryscript + - third_party_quickjs: https://gitee.com/openharmony/third_party_quickjs + + - third_party_llvm-project: https://gitee.com/openharmony-sig/third_party_llvm-project + - third_party_lldb-mi: https://gitee.com/openharmony-sig/third_party_lldb-mi + - third_party_mingw-w64: https://gitee.com/openharmony/third_party_mingw-w64 + - third_party_musl: https://gitee.com/openharmony/third_party_musl + - third_party_mimalloc: https://gitee.com/openharmony-sig/third_party_mimalloc + - third_party_elfio: https://gitee.com/openharmony-sig/third_party_elfio - third_party_miniz: https://gitee.com/openharmony/third_party_miniz + - commonlibrary_ets_utils: https://gitee.com/openharmony-sig/commonlibrary_ets_utils + - commonlibrary_c_utils: https://gitee.com/openharmony/commonlibrary_c_utils + - commonlibrary_utils_lite: https://gitee.com/openharmony/commonlibrary_utils_lite + - utils_memory: https://gitee.com/openharmony/utils_memory + ## SIG Members ### Leader -- @Xingwa (https://gitee.com/wangxing-hw) -- @huanghuijin (https://gitee.com/huanghuijin) +- @klooer (https://gitee.com/klooer) ### Committers -- @weichaox (https://gitee.com/weichaox) -- @jady3356 (https://gitee.com/taiyipei) -- @Han00000000 (https://gitee.com/Han00000000) +- @huanghuijin (https://gitee.com/huanghuijin) - @wuzhefengh (https://gitee.com/wuzhefengh) - @gongjunsong (https://gitee.com/gongjunsong) - @sunzhe23 (https://gitee.com/sunzhe23) - @weng-changcheng (https://gitee.com/weng-changcheng) - @yingguofeng (https://gitee.com/yingguofeng) +- @xliu-huanwei (https://gitee.com/xliu-huanwei) - @flyingwolf (https://gitee.com/flyingwolf) - @godmiaozi (https://gitee.com/godmiaozi) - @dhy308 (https://gitee.com/dhy308) - @pengzhuoli (https://gitee.com/zhuoli72) -- @cbraham (https://gitee.com/cbraham) -- @wang2002xu (https://gitee.com/wang2002xu) -- @chen-wandun (https://gitee.com/chen-wandun) -- @eliotc (https://gitee.com/eliotc) +- @JerryH1011 (https://gitee.com/JerryH1011) +- @dongduResearcher (https://gitee.com/dongduResearcher) ### Meetings - Meeting time: Bi-weekly meeting, Monday 19:00 pm, UTC+8 diff --git a/sig/sig-compileruntime/sig-compile-runtime_cn.md b/sig/sig-compileruntime/sig-compile-runtime_cn.md index c964ca69bacb8bef8113ab645d1915a5891455d5..d9842d85e8a8262e52dc3ce7e568def7d94a88a0 100644 --- a/sig/sig-compileruntime/sig-compile-runtime_cn.md +++ b/sig/sig-compileruntime/sig-compile-runtime_cn.md @@ -1,12 +1,11 @@ # SIG_COMPILERUNTIME -简体中文 | [English](./sig_compileruntime.md) +简体中文 | [English](./sig-compile-runtime.md) 说明:本SIG的内容遵循OpenHarmony的PMC管理章程 [README](/zh/pmc.md)中描述的约定。 ## SIG组工作目标和范围 ### 工作目标 -- 编译框架开发与维护及编译效率提升,支持多产品、多部件的编译构建。 - 支持JS/TS语言编译及运行时,打造高性能JS/TS虚拟机。提供基础的JSAPI能力,包括多线程能力,字符串编解码能力,以及URL解析等能力。 - 基于Clang/LLVM提供C/C++编译构建、调试能力。 - 提供Musl等基础库支持, 及相关能力演进。 @@ -18,56 +17,76 @@ - 处理开源社区上的需求、issue、邮件列表和开发问题,闭环周期满足开源社区的SLA要求; - 结合评审和开发活动,给予代码质量反馈与指导,促进开源社区代码质量提升。 -## 代码仓 -- 代码仓地址: - - build_lite: https://gitee.com/openharmony/build_lite - - build: https://gitee.com/openharmony/build - - ets_utils: https://gitee.com/openharmony-sig/commonlibrary_ets_utils - - productdefine_common: https://gitee.com/openharmony/productdefine_common - - prebuilts_aosp_libs: https://gitee.com/openharmony/prebuilts_aosp_libs - - third_party_gn: https://gitee.com/openharmony/third_party_gn - - third_party_jinja2: https://gitee.com/openharmony/third_party_jinja2 - - third_party_jerryscript: https://gitee.com/openharmony/third_party_jerryscript - - third_party_markupsafe: https://gitee.com/openharmony/third_party_markupsafe - - third_party_mingw-w64: https://gitee.com/openharmony/third_party_mingw-w64 - - third_party_musl: https://gitee.com/openharmony/third_party_musl - - third_party_mimalloc: https://gitee.com/openharmony-sig/third_party_mimalloc - - third_party_ninja: https://gitee.com/openharmony/third_party_ninja - - third_party_python: https://gitee.com/openharmony/third_party_python - - third_party_quickjs: https://gitee.com/openharmony/third_party_quickjs - - utils: https://gitee.com/openharmony/utils - - utils_memory: https://gitee.com/openharmony/utils_memory - - commonlibrary_c_utils: https://gitee.com/openharmony/commonlibrary_c_utils - - commonlibrary_utils_lite: https://gitee.com/openharmony/commonlibrary_utils_lite +### 技术栈范围 +- Compiler +![figures/compileruntime-overview-compiler-cn.png](figures/compileruntime-overview-compiler-cn.png) +- Runtime +![figures/compileruntime-overview-runtime-cn.png](figures/compileruntime-overview-runtime-cn.png) - - third_party_llvm-project: https://gitee.com/openharmony-sig/third_party_llvm-project - - third_party_lldb-mi: https://gitee.com/openharmony-sig/third_party_lldb-mi +## 代码仓 +|部件名称|部件功能描述|部件仓名称| +| ----- | ----------- | --------- | +|方舟运行时公共库|方舟运行时公共库|arkcompiler_runtime_core| +|方舟eTS运行时|方舟eTS(兼容JS/TS)运行时|arkcompiler_ets_runtime| +|方舟eTS编译器|方舟eTS(兼容JS/TS)前端编译器,解析eTS生成abc文件供方舟运行时执行|arkcompiler_ets_frontend| +|方舟工具栏|方舟运行时调试调优工具链|arkcompiler_toolchain| +|ARM汇编器|ARM汇编器,提供生成ARM汇编的C接口|third_party_vixl| +|jerryscript|百K级别超轻量级JS引擎,低内存消耗|third_party_jerryscript| +|quickjs|QuickJS是一个小型并且可嵌入的Javascript引擎,支持ES2020|third_party_quickjs| +|LLVM|C/C++编译器,包含libcxx,lldb,crt等很多组件|third_party_llvm-project| +|LLDB MI|Lldb的machine interface,方便IDE使用lldb功能|third_party_lldb-mi| +|MinGW-w64|GCC,LLVM等编译器的windows 32/64平台运行环境|third_party_mingw-w64| +|musl|标准C库|third_party_musl| +|mimalloc|性能优化的内存分配器|third_party_mimalloc| +|elfio|Elf文件操作工具库|third_party_elfio| +|miniz|一种无损高效压缩算法库,支持zlib接口|third_party_miniz| +|eTS工具库|eTS语言函数库;当前主要由 js_sys_module js_util_module js_worker_module js_api_module 四个部分组成|commonlibrary_ets_utils| +|C工具库|C工具函数库|commonlibrary_c_utils| +|轻量级系统工具库|轻量级系统所使用的工具函数库|commonlibrary_utils_lite| +|内存工具库|内存使用和分析相关工具库|utils_memory| +- 代码仓地址: - 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 - arkcompiler_toolchain: https://gitee.com/openharmony/arkcompiler_toolchain + - third_party_vixl: https://gitee.com/openharmony-sig/third-party-vixl + + - third_party_jerryscript: https://gitee.com/openharmony/third_party_jerryscript + - third_party_quickjs: https://gitee.com/openharmony/third_party_quickjs + + - third_party_llvm-project: https://gitee.com/openharmony-sig/third_party_llvm-project + - third_party_lldb-mi: https://gitee.com/openharmony-sig/third_party_lldb-mi + - third_party_mingw-w64: https://gitee.com/openharmony/third_party_mingw-w64 + - third_party_musl: https://gitee.com/openharmony/third_party_musl + - third_party_mimalloc: https://gitee.com/openharmony-sig/third_party_mimalloc + - third_party_elfio: https://gitee.com/openharmony-sig/third_party_elfio - third_party_miniz: https://gitee.com/openharmony/third_party_miniz + - commonlibrary_ets_utils: https://gitee.com/openharmony-sig/commonlibrary_ets_utils + - commonlibrary_c_utils: https://gitee.com/openharmony/commonlibrary_c_utils + - commonlibrary_utils_lite: https://gitee.com/openharmony/commonlibrary_utils_lite + - utils_memory: https://gitee.com/openharmony/utils_memory + ## SIG组成员 ### Leader -- @Xingwa (https://gitee.com/wangxing-hw) -- @huanghuijin (https://gitee.com/huanghuijin) +- @klooer (https://gitee.com/klooer) -### Committers列表 -- @weichaox (https://gitee.com/weichaox) -- @jady3356 (https://gitee.com/taiyipei) -- @Han00000000 (https://gitee.com/Han00000000) +### Committers +- @huanghuijin (https://gitee.com/huanghuijin) - @wuzhefengh (https://gitee.com/wuzhefengh) - @gongjunsong (https://gitee.com/gongjunsong) - @sunzhe23 (https://gitee.com/sunzhe23) - @weng-changcheng (https://gitee.com/weng-changcheng) - @yingguofeng (https://gitee.com/yingguofeng) +- @xliu-huanwei (https://gitee.com/xliu-huanwei) - @flyingwolf (https://gitee.com/flyingwolf) - @godmiaozi (https://gitee.com/godmiaozi) - @dhy308 (https://gitee.com/dhy308) - @pengzhuoli (https://gitee.com/zhuoli72) +- @JerryH1011 (https://gitee.com/JerryH1011) +- @dongduResearcher (https://gitee.com/dongduResearcher) ### 会议 - 会议时间:双周例会,周一晚上19:00,UTC+8 diff --git a/sig/sigs.json b/sig/sigs.json index bde47e554b763b45fdad060aedc53f90e92aa6c9..08a212224c79103619b90239bcbd4c8218654584 100755 --- a/sig/sigs.json +++ b/sig/sigs.json @@ -738,26 +738,38 @@ { "sig-name": "sig-compileruntime", "projects": [ - "https://gitee.com/openharmony-sig/commonlibrary_ets_utils", - "https://gitee.com/openharmony-sig/utils_memory", - "https://gitee.com/openharmony-sig/third_party_mimalloc", - "https://gitee.com/openharmony/commonlibrary_c_utils", - "https://gitee.com/openharmony/commonlibrary_utils_lite", "https://gitee.com/openharmony/arkcompiler_runtime_core", "https://gitee.com/openharmony/arkcompiler_ets_runtime", "https://gitee.com/openharmony/arkcompiler_ets_frontend", - "https://gitee.com/openharmony/arkcompiler_toolchain" + "https://gitee.com/openharmony/arkcompiler_toolchain", + "https://gitee.com/openharmony/commonlibrary_ets_utils", + "https://gitee.com/openharmony/commonlibrary_c_utils", + "https://gitee.com/openharmony/commonlibrary_utils_lite", + "https://gitee.com/openharmony/third_party_jerryscript", + "https://gitee.com/openharmony/third_party_quickjs", + "https://gitee.com/openharmony-sig/third_party_llvm-project", + "https://gitee.com/openharmony-sig/third_party_lldb-mi", + "https://gitee.com/openharmony/third_party_mingw-w64", + "https://gitee.com/openharmony/third_party_musl", + "https://gitee.com/openharmony-sig/utils_memory", + "https://gitee.com/openharmony-sig/third_party_mimalloc" ], "project-path": [ - "commonlibrary/ets_utils", - "utils/memory", - "third_party/mimalloc", - "commonlibrary/c_utils", - "commonlibrary/utils_lite", "arkcompiler/runtime_core", "arkcompiler/ets_runtime", "arkcompiler/ets_frontend", - "arkcompiler/toolchain" + "arkcompiler/toolchain", + "commonlibrary/ets_utils", + "commonlibrary/c_utils", + "commonlibrary/utils_lite", + "third_party/jerryscript", + "third_party/quickjs", + "third_party/llvm-project", + "third_party/lldb-mi", + "third_party/mingw-w64", + "third_party/musl", + "utils/memory", + "third_party/mimalloc" ] }, { diff --git a/sig/sigs_subsystem_list.md b/sig/sigs_subsystem_list.md index 061abf10baca663d245f02c6b74d9e7d99dc5573..b39a1d323846216c0536dd09fadfb6a0bd50e2b2 100644 --- a/sig/sigs_subsystem_list.md +++ b/sig/sigs_subsystem_list.md @@ -3,7 +3,7 @@ |1|SIG_AI_Framework|SIG_AI_Framework|[ivss](chaijun@huawei.com)|L1S_AI| |2|SIG_API|SIG_API|[huawei_qiangbo](qiangbo2@huawei.com)|NA| |3|SIG_Security|SIG_Security|[yongjie2020](yongjie.yan@huawei.com)|L1S_Security
L1S_BIOMETRICS| -|4|SIG_CompileRuntime|SIG_CompileRuntime|[huanghuijin](https://gitee.com/huanghuijin) |L1S_CCRuntime
L1S_Build
L1S_UTILS| +|4|SIG_CompileRuntime|SIG_CompileRuntime|[klooer](https://gitee.com/klooer) |L1S_CCRuntime
L1S_UTILS| |5|SIG_Test|SIG_Test|[gaohanyi](https://gitee.com/gaohanyi1982) |L1S_Test| |6|SIG_DistributedHardwareManagement|SIG_HardwareMgr|[ligang](william.ligang@huawei.com)
[houpengfei](https://gitee.com/hhh2)|L1S_MSDP
L1S_PowerMgr
L1S_Sensors
L1S_USB
L1s_DistributedHardware
| |7|SIG_BasicSoftwareService|SIG_BasicSoftwareService|[zhangxiaotian](https://gitee.com/handyohos)|L1S_DistributedSchedule
L1S_ResourceSchedule
L1S_StartUp
L1S_Notification
L1S_Update
L1S_Account
L1S_BarrierFree
L1S_MiscServices|