Chrome 支持运行 Kotlin、Java 等 GC 编程语言
谷歌 Chrome 开发者博客官宣:Chrome 已默认启用 WebAssembly 垃圾回收 (WasmGC) 功能 —— 能够将具有 GC 的编程语言编译为 WebAssembly (Wasm)。
下面是示例代码
- Kotlin Wasm
import kotlinx.browser.document import kotlinx.dom.appendText import org.w3c.dom.HTMLDivElement fun main() { (document.getElementById("warning") as HTMLDivElement).style.display = "none" document.body?.appendText("Hello, ${greet()}!") } fun greet() = "world"
据介绍,WasmGC 是 WebAssembly 社区群组发布的一项提案。当前的 Wasm 最小可行化实现只能处理线性内存中的 number 类型数据,即整数和浮点数。随着引用类型 (reference types) 提案的发布,Wasm 还可以保留外部引用。
WasmGC 现在添加了结构体和数组堆类型,因此支持非线性内存分配。每个 WasmGC 对象都有固定的类型和结构,这使得虚拟机可以轻松生成有效的代码来访问其字段,而不会像 JavaScript 等动态语言那样存在去优化的风险。
因此,该提案通过结构和数组堆类型为 WebAssembly 增加了对高级托管语言的有效支持,使得针对 Wasm 的语言编译器能够与主机 VM 中的垃圾回收器集成。简单来说,通过 WasmGC,将编程语言移植到 Wasm 意味着编程语言的垃圾回收器不再需要成为移植的一部分,而是可以直接使用现有的垃圾回收器。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
因使用过时 jQuery 版本,7.5 亿个网站存在隐私和安全风险
OpenJS 基金会公布了一项基于 IDC 调查的最终用户审计结果显示,十亿个网站中有四分之三的网站正在使用过时的软件,并且其中大多数网站都会收集个人和财务信息。超过三分之一的受访者证实,在过去 24 个月中曾经历过安全事件。 OpenJS 基金会分析了本次最终用户审计的 IDC 调查结果和其他数据点,估计全球 19 亿个网站中有近 90% 使用开源软件 jQuery,其中 7.5 亿个站点需要升级。鉴于问题的严重性,OpenJS 基金会建议在 Web 安全性方面进行行为改变。 “jQuery 使网页开发变得简单易用,但也导致数亿个网站仍然使用旧的、不受支持的版本。即使 jQuery 团队发布安全修复,这些网站通常也不会进行更新,从而导致容易受到攻击。” 主要发现包括: 89%的随机调查受访者报告称,他们知道自己的互联网面向的网站上使用了 jQuery。 其中 80% 的组织会捕获个人身份信息 (PII) 等重要信息,包括付款信息 (52%)、位置 (64%)、联系信息 (80%)。 85%的受访者认为,网站是必不可少或极其重要的。 安全事件造成的业务损失严重,28%的受访者表示有客户...
- 下一篇
小米 HyperOS 内置 32 位 App 转译器,性能比原生支持更好
小米手机系统软件部总监张国全介绍了 Xiaomi HyperOS 对第三方应用进行兼容的开发工作。 据介绍,小米 14 搭载的 CPU 虽然仅支持 64 位架构,但 HyperOS 通过内置 32 位转译内核的方式让用户在新设备上无缝运行 32 位应用。 相比小米 13 通过 CPU 小核原生运行 32 位应用,小米 14 凭借译码器可以在大核上运行 32 位应用,所以即便 CPU 不支持 32 位但依然实现了 32 位应用的兼容支持,而且性能反而更好。 此外,小米工程师分析了每年不兼容的三方应用,发现有一大类三方应用修改的内容都比较相似、在应用适配新系统前会出现种闪退和无法使用的问题,因此自研了一套 CompatEngine 引擎,可以不依赖三方应用开发者主动做兼容适配第三方应用,经验证目前超过 90% 未适配应用均可正常使用。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库