Metascala基于 Scala 的 JVM
Metascala 是使用 Scala 編寫的極小 metacircular Java Virtual Machine (JVM)。Metascala 大約有 3000 行的 Scala 代碼,但是是完整的 JVM,可以解析自己。使用 Scala 編寫,編譯為 Java 字節(jié)碼,Metascala JVM 要求一個主機(jī) JVM 才可以運(yùn)行。
Metascala 的目的是創(chuàng)建一個 JVM 平臺,使用 3000 行 Scala 代碼編寫,比 1,000,000 行的 C/C++ 代碼更便捷更容易完成。Metascala 可以構(gòu)成一個標(biāo)準(zhǔn)的實(shí)現(xiàn) HotSpot,更容易實(shí)現(xiàn)一些有趣的特性,比如 continuations, isolates 或者 value classes。3000 行的代碼可以讓你:
字節(jié)碼解析器,包括所有運(yùn)行時數(shù)據(jù)結(jié)構(gòu)
一個 stack-machine,作為 SSA 注冊機(jī)制字節(jié)碼轉(zhuǎn)換器
一個自定義的 heap
實(shí)現(xiàn)部分的 JVM 原生接口
評論
圖片
表情
