谷歌 Chrome 開發(fā)者博客官宣:Chrome 已默認啟用 WebAssembly 垃圾回收 (WasmGC) 功能 —— 能夠?qū)⒕哂?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”
據(jù)介紹,WasmGC 是 WebAssembly 社區(qū)群組發(fā)布的一項提案。當(dāng)前的 Wasm 最小可行化實現(xiàn)只能處理線性內(nèi)存中的 number 類型數(shù)據(jù),即整數(shù)和浮點數(shù)。隨著引用類型 (reference types) 提案的發(fā)布,Wasm 還可以保留外部引用。 WasmGC 現(xiàn)在添加了結(jié)構(gòu)體和數(shù)組堆類型,因此支持非線性內(nèi)存分配。
每個 WasmGC 對象都有固定的類型和結(jié)構(gòu),這使得虛擬機可以輕松生成有效的代碼來訪問其字段,而不會像 JavaScript 等動態(tài)語言那樣存在去優(yōu)化的風(fēng)險。 因此,該提案通過結(jié)構(gòu)和數(shù)組堆類型為 WebAssembly 增加了對高級托管語言的有效支持,使得針對 Wasm 的語言編譯器能夠與主機 VM 中的垃圾回收器集成。簡單來說,通過 WasmGC,將編程語言移植到 Wasm 意味著編程語言的垃圾回收器不再需要成為移植的一部分,而是可以直接使用現(xiàn)有的垃圾回收器。
審核編輯:黃飛
-
谷歌
+關(guān)注
關(guān)注
27文章
6238瀏覽量
109833 -
JAVA
+關(guān)注
關(guān)注
20文章
2992瀏覽量
114825 -
編程語言
+關(guān)注
關(guān)注
10文章
1957瀏覽量
38386 -
Chrome
+關(guān)注
關(guān)注
0文章
346瀏覽量
18867
原文標題:Chrome支持運行Kotlin、Java等GC編程語言
文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
【HZ-T536開發(fā)板免費體驗】2 - 交叉編譯倉頡編程語言程序到開發(fā)板運行
數(shù)字電路編程語言介紹
gitee 支持的編程語言有哪些
Triton編譯器支持的編程語言
Java 23功能介紹

評論