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 意味着编程语言的垃圾回收器不再需要成为移植的一部分,而是可以直接使用现有的垃圾回收器


相關推薦

2022-04-02

析公司 RedMonk 发布了 2022 年 1 月(第一季度)。 RedMonk 编程语言排行榜通过追踪编程语言在 GitHub 和 Stack Overflow 上的代码使用情况与讨论数量,统计分析后进行排序,其旨在深入了解潜在的语言采用趋势。该榜单一年发布两次

2023-02-14

Ant 和 Apache Maven 概念的项目自动化构建工具,支持依赖管理和多项目,类似 Maven,但比之简单轻便。它使用一种基于 Groovy 的特定领域语言来声明项目设置,而不是传统的 XML。 此版本包括对 Kotlin DSL

2022-10-28

Kotlin 时,Meta 也遇到了很多麻烦,例如需要更新 Redex 以支持 Java 不生成的字节码模式。以及使用的某些内部库依赖于在编译期间进行字节码转换来获取更好的性能。而将其作为 Kotlin 编译的一部分运行时,这部分代码则无法生

2023-12-01

Ant 和 Apache Maven 概念的项目自动化构建工具,支持依赖管理和多项目,类似 Maven,但比之简单轻便。它使用一种基于 Groovy 的特定领域语言来声明项目设置,而不是传统的 XML。 Gradle 现在支持在 Java

2023-09-12

开发者大会精彩演讲回顾 TIOBE 公布了 2023 年 9 月的编程语言排行榜。 上个月,Julia 历史上首次跻身 TIOBE 指数前 20 名。时至今日 Julia 再次出局,被 Kotlin 取代。TIOBE CEO Paul Jansen 认为,Kotlin 是另一种有前途的语言

2023-04-16

Kotlin 作为他们的主要语言(相比之下,只有 25% 选择 Java 编程语言)。而在年度调查中,使用 Kotlin 的专业 Android 开发人员对这门语言的满意度是 96.9% ,比 Java 开发人员高出 9 个百分点。 作为让 Kotlin 成为 Android 开发单一语言

2023-06-13

大异议的话,该 JEP 将正式从 JDK 21 中删除。此决策只与支持 Shenandoah GC 的 OpenJDK 版本用户有关;不会影响 G1 GC、Z Garbage Collector(ZGC)或其他现代垃圾收集器。也不影响使用 G1 GC 和 ZGC 的 Java 发行版,如 Oracle OpenJDK 和 Oracle JDK。

2022-04-08

VM 的上下文接收器原型为定义上下文相关声明提供了新的支持 由于绝对不可为空的类型,与通用 Java 类和接口有了更好的互操作性 由于在 JVM IR 后端对单个模块进行了并行编译,因此构建时间更快 通过 Kotlin/JS IR 中的增量

2023-11-14

TIOBE 公布了 2023 年 11 月的编程语言排行榜。 Kotlin 排名继续稳步上升,继上月排名从第 20 位升至 18 后;本月又上涨了 0.17%,升至第 15 位。Kotlin 曾在 2 个月前进入了 TIOBE 指数的前 20。该语言的第一波流行是在 2017 年,

2022-03-25

、蓝牙、音频/视频)到 Linux 内核。这些组成部分采用的编程语言也各不相同,其中包括 Kotlin、Java、C++ 和 Rust。我们(Google)希望通过这个新项目可以扩展 Android Studio,使其能够应用于上述所有这些领域。 也就是说,Google 计

2022-07-27

IntelliJ IDEA Ultimate 添加了对 Spring 6 和 Spring Boot 3 功能的支持,也为多个其他框架引入了更新。 新版本还具有多项值得注意的升级和改进,具体内容如下: 主要更新 远程开发改进 IntelliJ IDEA 2022.2 中为远程开发引入了大量重

2024-08-09

,轻量级、跨平台、高性能的日志组件。由C++实现,同时支持Java,C#的调用。可以用于Unreal、Unity等游戏引擎,也能用于Android、IOS环境下的App。在Windows、Mac、Linux等的桌面和服务器环境也能够很好运行。 主要特点 高并发,

2023-05-11

Julia 编程语言 1.9 版本已发布,这是一种通用的高性能语言,在科学计算和数值分析中较为流行。Julia 1.9 是 1.x 系列版本中的第九个次要版本,添加了一些新特性和功能,主要更改如下: 本机代码的缓存 本机代码缓存现已可用

2022-11-22

在 Kotlin 1.7.0 中,改进的增量编译,目前是实验性的,只支持 Gradle 构建系统中的 JVM 后端。新方案减少了必要的全模块和文件重新编译的次数,使整个编译时间更快。Kotlin 团队计划使新的增量编译在 Gradle 中稳定运行,并在未