我想知道是否有人熟悉能够执行Java字节码的抽象机器。注意我正在寻找可以扩展的东西,并且通过抽象机器,我不是指JVM,因为我需要指定语义。
具体来说,我正在寻找一种方法来跟踪在给定时间点堆栈上的内容,而不必实际模拟我自己的所有指令。有谁知道这个好框架?
答案 0 :(得分:2)
考虑查看MLJVM project。我从来没有真正看过内部,但它似乎是以一种可能扩展或试验语义的方式生成的JVM实现。
它可能有些陈旧,并且只实现了JVM的一个子集,但我假设如果你真的在尝试使用语义进行实验,那么你不太可能需要整个JVM。
或者,Jikes Research Virtual Machine通常是一个不错的起点。 “VM”和“Abstract Machine”之间的界限在某些时候开始模糊,我怀疑Jikes接近那条线,无论它在哪里。