有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

字节码向JVM添加上指令

我必须在Java中添加新的上层指令,这是字节码中某些指令序列的替代。我看过很多研究文章,但是文章中没有提到应该更新的文件名。 有人能告诉我热点文件的名称吗?该文件包含JVM的主解释器循环,在X86、ARM等任何体系结构中都有case语句。
换句话说,我需要包含操作码的文件的位置,以便修改它们


共 (1) 个答案

  1. # 1 楼答案

    如果您不熟悉热点源代码,那么添加新指令不是一件容易的事情。这不是仅仅修改几个位置的问题;这涉及到很多JVM部分,包括

    此外,HotSpot JVM根本没有“主解释器循环”。相反,有一个所谓的“模板解释器”,它是在JVM启动时在运行时生成的。对于每个字节码,都有一个类似于平台依赖程序集的模板,该模板生成解释器片段,用于在所有可能的栈顶状态下执行该字节码。每个模板通常以一个序列结束,该序列分配给下一个字节码

    要了解x86模板解释器的外观,请参见src/cpu/x86/vm/templateTable_x86.cpp。新的说明将需要类似的模板