简体   繁体   English

Java ASM操作码:“H_”前缀助记符(例如Opcodes.H_GETFIELD与Opcodes.GETFIELD)

[英]Java ASM Opcodes: “H_” prefixed mnemonics (e.g. Opcodes.H_GETFIELD vs. Opcodes.GETFIELD)

I'm using the ASM Framework for java bytecode manipulations. 我正在使用ASM框架进行java字节码操作。 Some of the opcode-mnemonics existing twice in ASM, they are prefixed with "H_": 一些操作码助记符在ASM中存在两次,它们以“H_”为前缀:

Opcodes.H_GETFIELD         vs. Opcodes.GETFIELD
Opcodes.H_GETSTATIC        vs. Opcodes.GETSTATIC
Opcodes.H_INVOKEINTERFACE  vs. Opcodes.INVOKEINTERFACE
Opcodes.H_INVOKESPECIAL    vs. Opcodes.INVOKESPECIAL
Opcodes.H_INVOKESTATIC     vs. Opcodes.INVOKESTATIC
Opcodes.H_NEWINVOKESPECIAL vs. Opcodes.NEWINVOKESPECIAL
Opcodes.H_PUTFIELD         vs. Opcodes.PUTFIELD
Opcodes.H_PUTSTATIC        vs. Opcodes.PUTSTATIC

Whats the difference between these two opcodes? 这两个操作码的区别是什么?

Opcodes类中的H_常量不是实际的操作码,它们用于构建可以在InvokeDynamic指令中使用的MethodHandle (使用MethodHandle Handle类)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM