Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Dup ¶
type Dup struct {
base.NoOperandsInstruction
}
指令定义来源 The Java® Virtual Machine Specification https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf dup Page.410
格式: dup 字节: 0x59 操作: 复制操作数栈栈顶的一个槽,只能用于站一个槽的数据(非long、double 的数据)
type Dup2 ¶
type Dup2 struct {
base.NoOperandsInstruction
}
指令定义来源 The Java® Virtual Machine Specification https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf dup2 Page.413
格式: dup2 字节: 0x5c 操作: ..., slot2, slot1 ->
..., slot2, slot1, slot2, slot1
type Dup2X1 ¶
type Dup2X1 struct {
base.NoOperandsInstruction
}
指令定义来源 The Java® Virtual Machine Specification https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf dup2_x1 Page.414
格式: dup2_x1 字节: 0x5d 操作: ...,slot3, slot2, slot1 ->
..., slot2, slot1, slot3, slot2, slot1
PS: slot3 不能是 long、double 的其中一个槽
type Dup2X2 ¶
type Dup2X2 struct {
base.NoOperandsInstruction
}
指令定义来源 The Java® Virtual Machine Specification https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf dup2_x2 Page.415
格式: dup2_x2 字节: 0x5e 操作: ..., slot4, slot3, slot2, slot1 ->
... slot2, slot1, slot4, slot3, slot2, slot1 ->
PS: slot3 和 slot4 可以是一个操作数(double、long),也可以是两个
type DupX1 ¶
type DupX1 struct {
base.NoOperandsInstruction
}
指令定义来源 The Java® Virtual Machine Specification https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf dup_x1 Page.411
格式: dup_x1 字节: 0x5a 操作: ..., value2, value1 ->
..., value1, value2, value1
PS: value2 不能是 long、double
type DupX2 ¶
type DupX2 struct {
base.NoOperandsInstruction
}
指令定义来源 The Java® Virtual Machine Specification https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf dup_x2 Page.412
格式: dup_x2 字节: 0x5b 操作: ..., slot3, slot2, slot1 ->
..., slot1, slot33, slot2, slot1 ->
PS: slot3 和 slot2 可以是一个操作数(double、long),也可以是两个
type POP ¶
type POP struct {
base.NoOperandsInstruction
}
指令定义来源 The Java® Virtual Machine Specification https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf pop Page.548
格式: pop 字节: 0x57 操作: 弹出操作数栈栈顶的一个槽(若只有一次指令调用,弹出一个栈顶元素,则只能用于非 long 和 double 的数据)
type POP2 ¶
type POP2 struct {
base.NoOperandsInstruction
}
指令定义来源 The Java® Virtual Machine Specification https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf pop2 Page.549
格式: pop2 字节: 0x58 操作: 弹出操作数栈栈顶的两个槽(若栈顶是double或long,则弹出的是一个数据,若不是,则弹出两个数据)
type Swap ¶
type Swap struct {
base.NoOperandsInstruction
}
指令定义来源 The Java® Virtual Machine Specification https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf swap Page.559
格式: swap 字节: 0x5f 操作: ..., slot2, slot1 ->
..., slot1, slot2
PS: 交换栈顶的两个槽,目前版本的 JVM 不提供 long、double 类型操作数的 swap 操作