control

package
v0.0.0-...-2ded9d7 Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2019 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ARETURN

type ARETURN struct {
	base.NoOperandsInstruction
}

func (*ARETURN) Execute

func (self *ARETURN) Execute(frame *chapter4_rtdt.Frame)

type DRETURN

type DRETURN struct {
	base.NoOperandsInstruction
}

func (*DRETURN) Execute

func (self *DRETURN) Execute(frame *chapter4_rtdt.Frame)

type FRETURN

type FRETURN struct {
	base.NoOperandsInstruction
}

func (*FRETURN) Execute

func (self *FRETURN) Execute(frame *chapter4_rtdt.Frame)

type GOTO

type GOTO struct {
	base.BranchInstruction
}

*

无条件跳转

func (*GOTO) Execute

func (self *GOTO) Execute(frame *chapter4_rtdt.Frame)

type IRETURN

type IRETURN struct {
	base.NoOperandsInstruction
}

func (*IRETURN) Execute

func (self *IRETURN) Execute(frame *chapter4_rtdt.Frame)

type LOOKUP_SWITCH

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

func (*LOOKUP_SWITCH) Execute

func (self *LOOKUP_SWITCH) Execute(frame *chapter4_rtdt.Frame)

func (*LOOKUP_SWITCH) FetchOperands

func (self *LOOKUP_SWITCH) FetchOperands(reader *base.BytecodeReader)

*

matchOffsets 有点像map k->case值,v->跳转偏移量。

type LRETURN

type LRETURN struct {
	base.NoOperandsInstruction
}

func (*LRETURN) Execute

func (self *LRETURN) Execute(frame *chapter4_rtdt.Frame)

type RETURN

type RETURN struct {
	base.NoOperandsInstruction
}

func (*RETURN) Execute

func (self *RETURN) Execute(frame *chapter4_rtdt.Frame)

type TABLE_SWITCH

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

func (*TABLE_SWITCH) Execute

func (self *TABLE_SWITCH) Execute(frame *chapter4_rtdt.Frame)

*

弹出一个int看看是否在 low - high 范围内 不在走default 在走对应的偏移量

func (*TABLE_SWITCH) FetchOperands

func (self *TABLE_SWITCH) FetchOperands(reader *base.BytecodeReader)

*

TABLE_SWITCH指令操作码后面有 0~3 个字节的padding,保证defaultOffset在字节码中的地址是4的倍数

Jump to

Keyboard shortcuts

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