方舟编译器JS运行时子系统(ARK-JS)正式开源!
ARK-JS Runtime 主要由四个部分组成:
Core Runtime
Core Runtime 主要由语言无关的基础运行库组成,包括承载字节码的 ARK File 组件、支持 Debugger 的 Tooling 组件、负责对应系统调用的 ARK Base 组件等。
Execution Engine
执行引擎目前包含执行字节码的解释器、缓存隐藏类和内联缓存、以及剖析记录运行时类型的 Profiler。
ECMAScript Runtime
ECMAScript Runtime 则包含了各种 JS 对象的分配器、垃圾回收器、以及用以支撑 ECMAScript 规范的内部运行库。
AFFI (ARK Foreign Function Interface)
AFFI 是 ARK JS 运行时的 C++ 语言外部函数接口。
目前开源的仓库总共有三个:
/ark
├── js_runtime # JS运行时组件
├── runtime_core # 运行时公共组件
└── ts2abc # 方舟编译器中JavaScript语言的前端工具
END