无用的商店导致崩溃

Useless store causing crash

我有这个 jasmin 程序集,它相当于我正在编写的字节码重写器生成的 JVM 程序集的简化版。它在 运行 时崩溃,但如果我删除 sipush 和第一个商店。

.method public simple()V
    .limit stack 4
    sipush        12345
    istore_1
    getstatic java/lang/System/out Ljava/io/PrintStream;
    sipush        12345
    ldc 12345
    iadd
    invokevirtual java/io/PrintStream/println(I)V
    return
.end method

JVM 是否要求每个存储都被加载使用?

istore_1 将值存储到局部变量 #1,但您的方法没有局部变量。

如果您添加以下行,该方法将生效:

    .limit locals 2