hyengine 编译问题之复用脚本引擎如何解决

简介: hyengine 编译问题之复用脚本引擎如何解决

问题一:hyengine的vm部分包含哪些组件?


hyengine的vm部分包含哪些组件?


参考回答:

hyengine的vm部分分为解释器、runtime、api、调试、基础库。目前复用quickjs/wasm3的代码,通过实现自有内分配器及gc,和优化现有runtime实现来提升性能。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/666100



问题二:hyengine中的业务代码(以wasm为例)是如何被编译为可执行代码的?


hyengine中的业务代码(以wasm为例)是如何被编译为可执行代码的?


参考回答:

业务代码(以wasm为例)首先通过emscripten编译为wasm文件,然后wasm文件通过hyengine(wasm3)加载并编译为arm64指令,接着arm64指令经过optimizer优化产出优化后的arm64指令,最后业务方通过调用入口api来执行对应代码。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/666101



问题三:hyengine与业界的哪些方案有相似度?


hyengine与业界的哪些方案有相似度?


参考回答:

hyengine的方案与业界的方舟编译器和graalvm可能有一定相似度。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/666102



问题四:hyengine未来有什么计划?


hyengine未来有什么计划?


参考回答:

hyengine未来计划通过实现自有字节码和runtime增加对python及其他语言的支持,并期望沉淀一套自己的底层(汇编级别)的基础能力库,用于jit相关用途以及手机客户端的包大小、性能优化、调试辅助等场景。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/666103



问题五:hyengine的编译器前端是如何复用现有脚本引擎的?


hyengine的编译器前端是如何复用现有脚本引擎的?


参考回答:

hyengine的编译器前端复用现有脚本引擎的实现,例如对于js,它使用quickjs的实现;对于wasm,则使用emscripten的编译结果。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/666104


相关文章
|
5月前
|
存储 缓存 Java
hyengine编译实现问题之复用 quickjs 原代码如何解决
hyengine编译实现问题之复用 quickjs 原代码如何解决
|
5月前
|
缓存 索引
hyengine编译问题之快路径优化如何解决
hyengine编译问题之快路径优化如何解决
|
4月前
|
缓存 算法 JavaScript
JIT引擎是如何实现即时编译的
【9月更文挑战第1天】JIT引擎是如何实现即时编译的
99 0
|
5月前
|
存储 JavaScript Java
hyengine 解释问题之wasm引擎性能瓶颈如何解决
hyengine 解释问题之wasm引擎性能瓶颈如何解决
|
5月前
|
存储 测试技术 Go
hyengine 编译问题之性能提升如何解决
hyengine 编译问题之性能提升如何解决
|
5月前
|
Java 测试技术
hyengine microbench测试问题之提升jit优化如何解决
hyengine microbench测试问题之提升jit优化如何解决
|
5月前
|
JavaScript
hyengine 编译问题之性能优化瓶颈如何解决
hyengine 编译问题之性能优化瓶颈如何解决
|
6月前
|
JSON 前端开发 Java
代码的应用重构问题之BaseActivity类的主要功能问题如何解决代码缩减的主要问题如何解决
代码的应用重构问题之BaseActivity类的主要功能问题如何解决代码缩减的主要问题如何解决
|
7月前
|
监控 前端开发 Java
JVM系列9-后端编译与优化
JVM系列9-后端编译与优化
46 1
|
7月前
|
存储 缓存 Java
JVM的即时编译(JIT)优化原理:加速程序的执行
JVM的即时编译(JIT)优化原理:加速程序的执行