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


相关文章
|
22天前
|
存储 缓存 Java
hyengine编译实现问题之复用 quickjs 原代码如何解决
hyengine编译实现问题之复用 quickjs 原代码如何解决
|
22天前
|
缓存 索引
hyengine编译问题之快路径优化如何解决
hyengine编译问题之快路径优化如何解决
|
10天前
|
缓存 算法 JavaScript
JIT引擎是如何实现即时编译的
【9月更文挑战第1天】JIT引擎是如何实现即时编译的
21 0
|
22天前
|
存储 JavaScript Java
hyengine 解释问题之wasm引擎性能瓶颈如何解决
hyengine 解释问题之wasm引擎性能瓶颈如何解决
|
22天前
|
存储 测试技术 Go
hyengine 编译问题之性能提升如何解决
hyengine 编译问题之性能提升如何解决
|
22天前
|
Java 测试技术
hyengine microbench测试问题之提升jit优化如何解决
hyengine microbench测试问题之提升jit优化如何解决
|
22天前
|
JavaScript
hyengine 编译问题之性能优化瓶颈如何解决
hyengine 编译问题之性能优化瓶颈如何解决
|
3月前
|
存储 缓存 Java
JVM的即时编译(JIT)优化原理:加速程序的执行
JVM的即时编译(JIT)优化原理:加速程序的执行
|
3月前
|
存储 Java 编译器
心得经验总结:源代码、目标代码、可执行代码、本地代码的区别
心得经验总结:源代码、目标代码、可执行代码、本地代码的区别
39 0
|
4月前
LabVIEW配置可执行程序以运行更高版本的运行引擎
LabVIEW配置可执行程序以运行更高版本的运行引擎
46 1