基于 Scala 的 JVM - Metascala
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 原生接口
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!