方舟编译器 JS 运行时子系统 (ARK-JS) 正式开源
方舟(ARK) 是华为自研的统一编程平台,包含编译器、工具链、运行时等关键部件,支持高级语言在多种芯片平台的编译与运行,并支撑 OpenHarmony 操作系统及其应用和服务运行在手机、个人电脑、平板、电视、汽车和智能穿戴等多种设备上的需求。 本次开源的 ARK-JS 提供的能力是在 OpenHarmony 操作系统中编译和运行 JavaScript 语言(本文后面简称 JS)。 本次开源的 ARK-JS 分成两个部分,分别是 JS 编译工具链与 JS 运行时。JS 工具链将 JS 源码编译成方舟字节码 (ARK Bytecode),JS 运行时负责执行生成的方舟字节码(后续如无特殊说明,字节码特指方舟字节码)。 JS 编译工具链架构 架构说明:JS 前端编译器将 JavaScript 源码解析为 AST,再经过 AST 变换、字节码生成器、寄存器分配后,由 native emiter 产生方舟字节码文件(abc 文件)。 JS 运行时 (Runtime) 架构 架构说明: ARK-JS Runtime 以方舟字节码文件(abc 文件)作为输入并直接运行字节码文件,实现对应的 JS 语...



