jsr_w 和 Java 字节码中的宽指令有什么区别?
What's the difference between jsr_w and wide instructions in Java bytecode?
根据Java字节码规范9,wide
指令修改了另一条指令的行为。因此,一条指令可以扩展某些输入数据的大小,例如,将索引扩展到常量池中。但是随后,规范还提供了jsr_w。 jsr_w
和 wide
jsr
的主要区别是什么?
没有wide jsr
这样的东西。 wide
只能与 iload、fload、aload、lload、dload、istore、fstore、astore、lstore、dstore、ret 和 iinc 一起使用。
从技术上讲,也没有 jsr_wide
这样的东西,但是有 jsr_w
,它是 jsr
的广泛变体。同样,还有 goto
和 goto_w
.
所以要回答这个问题,其中一个是非法的,另一个是为 jsr
指令使用更大的跳转偏移量的可接受方式。
根据Java字节码规范9,wide
指令修改了另一条指令的行为。因此,一条指令可以扩展某些输入数据的大小,例如,将索引扩展到常量池中。但是随后,规范还提供了jsr_w。 jsr_w
和 wide
jsr
的主要区别是什么?
没有wide jsr
这样的东西。 wide
只能与 iload、fload、aload、lload、dload、istore、fstore、astore、lstore、dstore、ret 和 iinc 一起使用。
从技术上讲,也没有 jsr_wide
这样的东西,但是有 jsr_w
,它是 jsr
的广泛变体。同样,还有 goto
和 goto_w
.
所以要回答这个问题,其中一个是非法的,另一个是为 jsr
指令使用更大的跳转偏移量的可接受方式。