references

package
v0.0.0-...-26bd4cb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 28, 2019 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ANewArray

type ANewArray struct {
	base.Index16Instruction
}

func (*ANewArray) Execute

func (this *ANewArray) Execute(frame *rtda.Frame)

type AThrow

type AThrow struct {
	base.NoOperandsInstruction
}

func (*AThrow) Execute

func (this *AThrow) Execute(frame *rtda.Frame)

type ArrayLength

type ArrayLength struct {
	base.NoOperandsInstruction
}

func (*ArrayLength) Execute

func (this *ArrayLength) Execute(frame *rtda.Frame)

type CheckCast

type CheckCast struct {
	base.Index16Instruction
}

func (*CheckCast) Execute

func (this *CheckCast) Execute(frame *rtda.Frame)

type GetField

type GetField struct {
	base.Index16Instruction
}

func (*GetField) Execute

func (this *GetField) Execute(frame *rtda.Frame)

type GetStatic

type GetStatic struct {
	base.Index16Instruction
}

func (*GetStatic) Execute

func (this *GetStatic) Execute(frame *rtda.Frame)

type InstanceOf

type InstanceOf struct {
	base.Index16Instruction
}

func (*InstanceOf) Execute

func (this *InstanceOf) Execute(frame *rtda.Frame)

type InvokeInterface

type InvokeInterface struct {
	// contains filtered or unexported fields
}

func (*InvokeInterface) Execute

func (this *InvokeInterface) Execute(frame *rtda.Frame)

func (*InvokeInterface) FetchOperands

func (this *InvokeInterface) FetchOperands(reader *base.ByteCodeReader)

type InvokeSpecial

type InvokeSpecial struct {
	base.Index16Instruction
}

1. 实例的构造函数 2. 私有方法 3. super 调用父类函数

func (*InvokeSpecial) Execute

func (this *InvokeSpecial) Execute(frame *rtda.Frame)

type InvokeStatic

type InvokeStatic struct {
	base.Index16Instruction
}

func (*InvokeStatic) Execute

func (this *InvokeStatic) Execute(frame *rtda.Frame)

type InvokeVirtual

type InvokeVirtual struct {
	base.Index16Instruction
}

func (*InvokeVirtual) Execute

func (this *InvokeVirtual) Execute(frame *rtda.Frame)

type New

type New struct {
	base.Index16Instruction
}

指令定义来源 The Java® Virtual Machine Specification https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf

格式: new [indexbyte1] [indexbyte2] 字节: 0xbb 0x00 0x01

指令样例     8进制表示          指令含义
new 1       0xbb 0x00 0x01    使用当前类运行时常量池下标为 i 的地方的类符号引用,实例化一个新的对象,并将引用推送到操作数的栈顶

操作: 使用当前类运行时常量池下标为 <index> 的地方的类符号引用,实例化一个新的对象,并将引用推送到操作数的栈顶

func (*New) Execute

func (this *New) Execute(frame *rtda.Frame)

type NewArray

type NewArray struct {
	// contains filtered or unexported fields
}

创建基本类型的数组

func (*NewArray) Execute

func (this *NewArray) Execute(frame *rtda.Frame)

func (*NewArray) FetchOperands

func (this *NewArray) FetchOperands(reader *base.ByteCodeReader)

type PutField

type PutField struct {
	base.Index16Instruction
}

func (*PutField) Execute

func (this *PutField) Execute(frame *rtda.Frame)

type PutStatic

type PutStatic struct {
	base.Index16Instruction
}

将栈顶元素推到当前类运行时常量池的 index 所表示的字段里, index 位置是 字段的符号引用

func (*PutStatic) Execute

func (this *PutStatic) Execute(frame *rtda.Frame)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL