铋虚拟机简介

主要观点:作者开发名为 Bismuth 的虚拟机作为业余项目,介绍了 Bismuth OS 的由来及发展,引入 DDCG 技术,阐述其设计目标(快速、与标准 C 兼容、可在浏览器运行、易实现),并说明目前已完成的工作(纯文本 IR 及编译器、可读二进制 IR、C 语言编写的 VM 及转译器等),还计划后续分享更多相关内容。
关键信息:

  • 2023 年底假期开始开发 32 位或 64 位 RISC - V 上的 Bismuth 内核,后因内存映射问题暂停,最终想到让内核运行虚拟机即 Bismuth VM。
  • DDCG 技术从抽象语法树生成机器码,比其他方法更简单,其关键在于父节点可向子节点传递目标寄存器。
  • 将编程语言开发分为抽象语法树形式的中间表示和实际语言两部分,Bismuth 的 IR 类似 Lisp 易解析。
  • Bismuth VM 的设计目标包括快速(有 JIT 或 AOT 编译)、与标准 C 兼容、可在浏览器运行、易实现。
  • 目前已完成纯文本 IR 及相关编译器、可读二进制 IR、C 语言 VM 及转译器等工作,还计划分享更多内容。
    重要细节:
  • 提到朋友介绍 DDCG 技术及相关博客文章,还举例说明 DDCG 代码生成过程。
  • 展示 Bismuth 的 IR 示例及目前 VM 中值为 32 位整数的情况。
  • 说明 C 语言的优势及 VM 中利用 C 语言的部分计划。
  • 提及不同阶段的工作进展及对未来的规划。
阅读 8
0 条评论