当前位置:首页 >百科 >Chrome 支持运行 Kotlin、Java 等 GC 编程语言,你知道了吗? Wasm 还可以保留外部引用

Chrome 支持运行 Kotlin、Java 等 GC 编程语言,你知道了吗? Wasm 还可以保留外部引用

2024-06-28 16:50:48 [百科] 来源:避面尹邢网

Chrome 支持运行 Kotlin、支持Java 等 GC 编程语言,运行言知你知道了吗?

系统 浏览器 WasmGC ​是等G道 WebAssembly 社区群组发布的一项提案。当前的程语 Wasm 最小可行化实现只能处理线性内存中的 number 类型数据,即整数和浮点数。支持随着引用类型 (reference types) 提案的运行言知发布,Wasm 还可以保留外部引用。等G道

谷歌 Chrome 开发者博客官宣:Chrome 已默认启用 WebAssembly 垃圾回收 (WasmGC) 功能 —— 能够将具有 GC 的程语编程语言编译为 WebAssembly (Wasm)。

Chrome 支持运行 Kotlin、Java 等 GC 编程语言,你知道了吗? Wasm 还可以保留外部引用

下面是支持示例代码

Chrome 支持运行 Kotlin、Java 等 GC 编程语言,你知道了吗? Wasm 还可以保留外部引用

  • Kotlin Wasm
import kotlinx.browser.documentimport kotlinx.dom.appendTextimport org.w3c.dom.HTMLDivElementfun main() {     (document.getElementById("warning") as HTMLDivElement).style.display = "none"    document.body?.appendText("Hello, ${ greet()}!")}fun greet() = "world"

据介绍,WasmGC 是运行言知 WebAssembly 社区群组发布的一项提案。当前的等G道 Wasm 最小可行化实现只能处理线性内存中的 number 类型数据,即整数和浮点数。程语随着引用类型 (reference types) 提案的支持发布,Wasm 还可以保留外部引用。运行言知

Chrome 支持运行 Kotlin、Java 等 GC 编程语言,你知道了吗? Wasm 还可以保留外部引用

WasmGC 现在添加了结构体和数组堆类型,等G道因此支持非线性内存分配。每个 WasmGC 对象都有固定的类型和结构,这使得虚拟机可以轻松生成有效的代码来访问其字段,而不会像 JavaScript 等动态语言那样存在去优化的风险。

因此,该提案通过结构和数组堆类型为 WebAssembly 增加了对高级托管语言的有效支持,使得针对 Wasm 的语言编译器能够与主机 VM 中的垃圾回收器集成。简单来说,通过 WasmGC,将编程语言移植到 Wasm 意味着编程语言的垃圾回收器不再需要成为移植的一部分,而是可以直接使用现有的垃圾回收器。

责任编辑:武晓燕 来源: OSCHINA GC编程语言

(责任编辑:知识)

    推荐文章
    热点阅读