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


相关文章
|
数据采集 移动开发 文字识别
服务阿里 9 个APP|揭秘新奥创升级的质量演变
新奥创技术体系,是手机淘宝端搭载着星环中台的整个商业化研发体系,孵化出的面对无线电商领域的技术体系。过去一年在手淘完成了下单、详情、购物车三大业务域的改造,接下来还会在订单、手淘导购等领域进行技术升级。目前新奥创已经接入阿里内的9个 App,逐步成为阿里集团无线领域电商系的技术解决方案。 本文主要围绕新奥创技术体系的升级,剖析架构升级对测试保障带来的新的转变,也是新的机遇。
5669 0
服务阿里 9 个APP|揭秘新奥创升级的质量演变
|
机器学习/深度学习 人工智能 算法
AI人工智能(ArtificialIntelligence,AI)、 机器学习(MachineLearning,ML)、 深度学习(DeepLearning,DL) 学习路径及推荐书籍
AI人工智能(ArtificialIntelligence,AI)、 机器学习(MachineLearning,ML)、 深度学习(DeepLearning,DL) 学习路径及推荐书籍
1033 0
|
存储 设计模式 分布式计算
面向对象编程在大数据处理中的最佳实践
【8月更文第12天】随着互联网和物联网技术的发展,数据量呈指数级增长,大数据处理已成为现代企业不可或缺的一部分。大数据处理通常涉及收集、存储、管理和分析海量数据集。传统的数据库管理系统难以应对这样的挑战,因此出现了诸如Hadoop、Spark等分布式处理框架。这些框架通常使用面向对象编程(OOP)来构建可扩展、可维护的应用程序。本文将探讨如何利用面向对象编程的原则和模式来优化大数据处理任务。
289 0
|
机器学习/深度学习 人工智能 自然语言处理
什么是Copilot?
【2月更文挑战第5天】什么是Copilot?
866 2
什么是Copilot?
|
消息中间件 存储 数据安全/隐私保护
RabbitMQ使用教程
RabbitMQ使用教程
338 2
|
前端开发 JavaScript 安全
Android MVI 架构:从双向绑定到单向数据流
现在从事Android开发多少都要懂点架构知识,从MVC、MVP再到MVVM,想必大家对于其各自的优缺点早已如数家珍。今天介绍的MVI与MVVM非常接近,可以针对性地弥补MVVM中的一些缺陷
2722 0
|
存储 机器学习/深度学习 Rust
Rust 快速入门60分① 看完这篇就能写代码了
Rust 快速入门60分① 看完这篇就能写代码了
772 1
RxSwift操作符操作符map、flatMap、flatMapLatest、filter的使用与区别
RxSwift操作符操作符map、flatMap、flatMapLatest、filter的使用与区别
757 1
|
Android开发
Android Studio插件的源文件位置——mac端
Android Studio中我们可以通过菜单栏的`Android Studio --> preferences --> plugins`来查看我们安装的插件。这里介绍下插件的实际安装位置。
|
移动开发 iOS开发
IOS开发错误library not found for -lXXX
IOS开发错误library not found for -lXXX
1340 0
IOS开发错误library not found for -lXXX