问题一: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