Metascala是使用Scala编写的极小metacircularJavaVirtualMachine(JVM)。Metascala大约有3000行的Scala代码,但是是完整的JVM,可以解析自己。使用Scala编写,编译为Java字节码,MetascalaJVM要求一个主机JVM才可以运行。
Metascala的目的是创建一个JVM平台,使用3000行Scala代码编写,比1,000,000行的C/C++代码更便捷更容易完成。Metascala可以构成一个标准的实现HotSpot,更容易实现一些有趣的特性,比如continuations,isolates或者valueclasses。3000行的代码可以让你:
字节码解析器,包括所有运行时数据结构
一个stack-machine,作为SSA注册机制字节码转换器
一个自定义的heap
实现部分的JVM原生接口
评论