Documentation ¶
Index ¶
- func NotNull(ref heap.Object)
- type AALoad
- type ALoad
- type ALoad0
- type ALoad1
- type ALoad2
- type ALoad3
- type BALoad
- type CALoad
- type DALoad
- type DLoad
- type DLoad0
- type DLoad1
- type DLoad2
- type DLoad3
- type FALoad
- type FLoad
- type FLoad0
- type FLoad1
- type FLoad2
- type FLoad3
- type IALoad
- type ILoad
- type ILoad0
- type ILoad1
- type ILoad2
- type ILoad3
- type LALoad
- type LLoad
- type LLoad0
- type LLoad1
- type LLoad2
- type LLoad3
- type SALoad
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AALoad ¶
type AALoad struct {
base.NoOperandsInstruction
}
type ALoad ¶
type ALoad struct {
base.Index8Instruction
}
指令定义来源 The Java® Virtual Machine Specification https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf aload Page.371
格式: aload [index] 字节: 0x19 0x01
指令样例 8进制表示 指令含义 aload 1 0x19 0x01 将当前帧(方法)本地变量表下标为 1 的对象引用推到操作数栈
操作: 从当前帧(方法)本地变量表的 index 下标处加载对象引用到操作数栈 描述: index 是一个 无符号的单字节整数 PS: aload 类指令无法加载 returnAddress 类型的值到操作数栈,和 astore 指令的这种不对称是有意设计的
type ALoad0 ¶
type ALoad0 struct {
base.NoOperandsInstruction
}
指令定义来源 The Java® Virtual Machine Specification https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf aload_<n> Page.372
格式: aload_<n> 字节:
指令样例 8进制表示 指令含义 aload_0 0x2a 将当前帧(方法)本地变量表下标为 0 的对象引用推到操作数栈 aload_1 0x2b 将当前帧(方法)本地变量表下标为 1 的对象引用推到操作数栈 aload_2 0x2c 将当前帧(方法)本地变量表下标为 2 的对象引用推到操作数栈 aload_3 0x2d 将当前帧(方法)本地变量表下标为 3 的对象引用推到操作数栈
操作: 从当前帧(方法)本地变量表的 <n> 下标处加载对象引用到操作数栈 描述:
type ALoad1 ¶
type ALoad1 struct {
base.NoOperandsInstruction
}
type ALoad2 ¶
type ALoad2 struct {
base.NoOperandsInstruction
}
type ALoad3 ¶
type ALoad3 struct {
base.NoOperandsInstruction
}
type BALoad ¶
type BALoad struct {
base.NoOperandsInstruction
}
type CALoad ¶
type CALoad struct {
base.NoOperandsInstruction
}
type DALoad ¶
type DALoad struct {
base.NoOperandsInstruction
}
type DLoad ¶
type DLoad struct {
base.Index8Instruction
}
指令定义来源 The Java® Virtual Machine Specification https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf dload Page.399
格式: dload [index] 字节: 0x18 0x01
指令样例 8进制表示 指令含义 dload 1 0x18 0x01 将当前帧(方法)本地变量表下标为 1 的double型变量推到操作数栈
操作: 从当前帧(方法)本地变量表的 index 下标处加载double型变量到操作数栈 描述: index 是一个 无符号的单字节整数
type DLoad0 ¶
type DLoad0 struct {
base.NoOperandsInstruction
}
指令定义来源 The Java® Virtual Machine Specification https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf dload_<n> Page.400
格式: dload_<n> 字节:
指令样例 8进制表示 指令含义 dload_0 0x1e 将当前帧(方法)本地变量表下标为 0 的double型变量推到操作数栈 dload_1 0x1f 将当前帧(方法)本地变量表下标为 1 的double型变量推到操作数栈 dload_2 0x20 将当前帧(方法)本地变量表下标为 2 的double型变量推到操作数栈 dload_3 0x21 将当前帧(方法)本地变量表下标为 3 的double型变量推到操作数栈
操作: 从当前帧(方法)本地变量表的 <n> 下标处加载double型变量到操作数栈, n, n+1 都必须是本地变量表的合法下标 描述:
type DLoad1 ¶
type DLoad1 struct {
base.NoOperandsInstruction
}
type DLoad2 ¶
type DLoad2 struct {
base.NoOperandsInstruction
}
type DLoad3 ¶
type DLoad3 struct {
base.NoOperandsInstruction
}
type FALoad ¶
type FALoad struct {
base.NoOperandsInstruction
}
type FLoad ¶
type FLoad struct {
base.Index8Instruction
}
指令定义来源 The Java® Virtual Machine Specification https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf fload Page.429
格式: fload [index] 字节: 0x17 0x01
指令样例 8进制表示 指令含义 fload 1 0x17 0x01 将当前帧(方法)本地变量表下标为 1 的float型变量推到操作数栈
操作: 从当前帧(方法)本地变量表的 index 下标处加载float型变量到操作数栈 描述: index 是一个 无符号的单字节整数
type FLoad0 ¶
type FLoad0 struct {
base.NoOperandsInstruction
}
指令定义来源 The Java® Virtual Machine Specification https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf fload_<n> Page.430
格式: fload_<n> 字节:
指令样例 8进制表示 指令含义 fload_0 0x22 将当前帧(方法)本地变量表下标为 0 的float型变量推到操作数栈 fload_1 0x23 将当前帧(方法)本地变量表下标为 1 的float型变量推到操作数栈 fload_2 0x24 将当前帧(方法)本地变量表下标为 2 的float型变量推到操作数栈 fload_3 0x25 将当前帧(方法)本地变量表下标为 3 的float型变量推到操作数栈
操作: 从当前帧(方法)本地变量表的 <n> 下标处加载float型变量到操作数栈 描述:
type FLoad1 ¶
type FLoad1 struct {
base.NoOperandsInstruction
}
type FLoad2 ¶
type FLoad2 struct {
base.NoOperandsInstruction
}
type FLoad3 ¶
type FLoad3 struct {
base.NoOperandsInstruction
}
type IALoad ¶
type IALoad struct {
base.NoOperandsInstruction
}
type ILoad ¶
type ILoad struct {
base.Index8Instruction
}
指令定义来源 The Java® Virtual Machine Specification https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf iload Page.466
格式: iload [index] 字节: 0x15 0x01
指令样例 8进制表示 指令含义 iload 1 0x15 0x01 将当前帧(方法)本地变量表下标为 1 的整型变量推到操作数栈
操作: 从当前帧(方法)本地变量表的 index 下标处加载整型变量到操作数栈 描述: index 是一个 无符号的单字节整数
type ILoad0 ¶
type ILoad0 struct {
base.NoOperandsInstruction
}
指令定义来源 The Java® Virtual Machine Specification https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf iload_<n> Page.467
格式: iload_<n> 字节:
指令样例 8进制表示 指令含义 iload_0 0x1a 将当前帧(方法)本地变量表下标为 0 的整型变量推到操作数栈 iload_1 0x1b 将当前帧(方法)本地变量表下标为 1 的整型变量推到操作数栈 iload_2 0x1c 将当前帧(方法)本地变量表下标为 2 的整型变量推到操作数栈 iload_3 0x1d 将当前帧(方法)本地变量表下标为 3 的整型变量推到操作数栈
操作: 从当前帧(方法)本地变量表的 <n> 下标处加载整型变量到操作数栈 描述:
type ILoad1 ¶
type ILoad1 struct {
base.NoOperandsInstruction
}
type ILoad2 ¶
type ILoad2 struct {
base.NoOperandsInstruction
}
type ILoad3 ¶
type ILoad3 struct {
base.NoOperandsInstruction
}
type LALoad ¶
type LALoad struct {
base.NoOperandsInstruction
}
type LLoad ¶
type LLoad struct {
base.Index8Instruction
}
指令定义来源 The Java® Virtual Machine Specification https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf lload Page.521
格式: lload [index] 字节: 0x16 0x01
指令样例 8进制表示 指令含义 lload 1 0x16 0x01 将当前帧(方法)本地变量表下标为 1 的long型变量推到操作数栈
操作: 从当前帧(方法)本地变量表的 index 下标处加载long型变量到操作数栈 描述: index 是一个 无符号的单字节整数
type LLoad0 ¶
type LLoad0 struct {
base.NoOperandsInstruction
}
指令定义来源 The Java® Virtual Machine Specification https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf lload_<n> Page.522
格式: lload_<n> 字节:
指令样例 8进制表示 指令含义 lload_0 0x1e 将当前帧(方法)本地变量表下标为 0 的long型变量推到操作数栈 lload_1 0x1f 将当前帧(方法)本地变量表下标为 1 的long型变量推到操作数栈 lload_2 0x20 将当前帧(方法)本地变量表下标为 2 的long型变量推到操作数栈 lload_3 0x21 将当前帧(方法)本地变量表下标为 3 的long型变量推到操作数栈
操作: 从当前帧(方法)本地变量表的 <n> 下标处加载long型变量到操作数栈, n, n+1 都必须是本地变量表的合法下标 描述:
type LLoad1 ¶
type LLoad1 struct {
base.NoOperandsInstruction
}
type LLoad2 ¶
type LLoad2 struct {
base.NoOperandsInstruction
}
type LLoad3 ¶
type LLoad3 struct {
base.NoOperandsInstruction
}