基于 Scala 的 JVM - Metascala

jopen 9年前

Metascala 是使用 Scala 编写的极小 metacircular Java Virtual Machine (JVM)。Metascala 大约有 300 行的 Scala 代码,但是是完整的 JVM,可以解析自己。使用 Scala 编写,编译为 Java 字节码,Metascala JVM 要求一个主机 JVM 才可以运行。

Metascala 的目的是创建一个 JVM 平台,使用 3000 行 Scala 代码编写,比 1,000,000 行的 C/C++ 代码更便捷更容易完成。Metascala 可以构成一个标准的实现 HotSpot,更容易实现一些有趣的特性,比如 continuations, isolates 或者 value classes。3000 行的代码可以让你:

  • 字节码解析器,包括所有运行时数据结构

  • 一个 stack-machine,作为 SSA 注册机制字节码转换器

  • 一个自定义的 heap

  • 实现部分的 JVM 原生接口

项目主页:http://www.open-open.com/lib/view/home/1432601974316