Documentation
¶
Overview ¶
See: https://docs.oracle.com/javase/specs/jvms/se21/html/jvms-6.html#jvms-6.5
Index ¶
- type Attribute
- type CaseEntry
- type Class
- type ClassLoader
- type Field
- type IC
- type ICJumpable
- type ICNode
- type ICaaload
- type ICaastore
- type ICaconst_null
- type ICaload
- type ICaload_0
- type ICaload_1
- type ICaload_2
- type ICaload_3
- type ICanewarray
- type ICareturn
- type ICarraylength
- type ICastore
- type ICastore_0
- type ICastore_1
- type ICastore_2
- type ICastore_3
- type ICathrow
- type ICbaload
- type ICbastore
- type ICbipush
- type ICcaload
- type ICcastore
- type ICcheckcast
- type ICd2f
- type ICd2i
- type ICd2l
- type ICdadd
- type ICdaload
- type ICdastore
- type ICdcmpg
- type ICdcmpl
- type ICdconst_0
- type ICdconst_1
- type ICddiv
- type ICdload
- type ICdload_0
- type ICdload_1
- type ICdload_2
- type ICdload_3
- type ICdmul
- type ICdneg
- type ICdrem
- type ICdreturn
- type ICdstore
- type ICdstore_0
- type ICdstore_1
- type ICdstore_2
- type ICdstore_3
- type ICdsub
- type ICdup
- type ICdup2
- type ICdup2_x1
- type ICdup2_x2
- type ICdup_x1
- type ICdup_x2
- type ICf2d
- type ICf2i
- type ICf2l
- type ICfadd
- type ICfaload
- type ICfastore
- type ICfcmpg
- type ICfcmpl
- type ICfconst_0
- type ICfconst_1
- type ICfconst_2
- type ICfdiv
- type ICfload
- type ICfload_0
- type ICfload_1
- type ICfload_2
- type ICfload_3
- type ICfmul
- type ICfneg
- type ICfrem
- type ICfreturn
- type ICfstore
- type ICfstore_0
- type ICfstore_1
- type ICfstore_2
- type ICfstore_3
- type ICfsub
- type ICgetfield
- type ICgetstatic
- type ICgoto
- type ICgoto_w
- type ICi2b
- type ICi2c
- type ICi2d
- type ICi2f
- type ICi2l
- type ICi2s
- type ICiadd
- type ICiaload
- type ICiand
- type ICiastore
- type ICiconst_0
- type ICiconst_1
- type ICiconst_2
- type ICiconst_3
- type ICiconst_4
- type ICiconst_5
- type ICiconst_m1
- type ICidiv
- type ICif_acmpeq
- type ICif_acmpne
- type ICif_icmpeq
- type ICif_icmpge
- type ICif_icmpgt
- type ICif_icmple
- type ICif_icmplt
- type ICif_icmpne
- type ICifeq
- type ICifge
- type ICifgt
- type ICifle
- type ICiflt
- type ICifne
- type ICifnonnull
- type ICifnull
- type ICiinc
- type ICiload
- type ICiload_0
- type ICiload_1
- type ICiload_2
- type ICiload_3
- type ICimul
- type ICineg
- type ICinstanceof
- type ICinvokedynamic
- type ICinvokeinterface
- type ICinvokespecial
- type ICinvokestatic
- type ICinvokevirtual
- type ICior
- type ICirem
- type ICireturn
- type ICishl
- type ICishr
- type ICistore
- type ICistore_0
- type ICistore_1
- type ICistore_2
- type ICistore_3
- type ICisub
- type ICiushr
- type ICixor
- type ICjsr
- type ICjsr_w
- type ICl2d
- type ICl2f
- type ICl2i
- type ICladd
- type IClaload
- type ICland
- type IClastore
- type IClcmp
- type IClconst_0
- type IClconst_1
- type ICldc
- type ICldc2_w
- type ICldc_w
- type ICldiv
- type IClload
- type IClload_0
- type IClload_1
- type IClload_2
- type IClload_3
- type IClmul
- type IClneg
- type IClookupswitch
- type IClor
- type IClrem
- type IClreturn
- type IClshl
- type IClshr
- type IClstore
- type IClstore_0
- type IClstore_1
- type IClstore_2
- type IClstore_3
- type IClsub
- type IClushr
- type IClxor
- type ICmonitorenter
- type ICmonitorexit
- type ICmultianewarray
- type ICnew
- type ICnewarray
- type ICnop
- type ICpop
- type ICpop2
- type ICputfield
- type ICputstatic
- type ICret
- type ICreturn
- type ICsaload
- type ICsastore
- type ICsipush
- type ICswap
- type ICtableswitch
- type ICwide
- type Method
- type Ref
- type Stack
- type VM
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Class ¶
type Class interface {
Name() string
Desc() *desc.Desc
ArrayDim() int
Elem() Class
Reflect() reflect.Type
AsRef(VM) Ref
Modifiers() int32
Super() Class
Interfaces() []Class
IsInterface() bool
IsAssignableFrom(Class) bool
IsInstance(Ref) bool
GetAndPushConst(VM, uint16, Stack) error
GetAttr(string) Attribute
GetFields() iter.Seq[Field]
GetField(VM, uint16) Field
GetFieldByName(string) Field
GetMethods() iter.Seq[Method]
GetMethod(VM, uint16) Method
GetMethodByName(string) Method
GetMethodByNameAndType(name, typ string) Method
}
type ClassLoader ¶
type ICJumpable ¶
type ICaconst_null ¶
type ICaconst_null struct{}
func (*ICaconst_null) Execute ¶
func (*ICaconst_null) Execute(vm VM) error
func (*ICaconst_null) Op ¶
func (*ICaconst_null) Op() ops.Op
type ICanewarray ¶
type ICanewarray struct {
Class uint16
}
func (*ICanewarray) Execute ¶
func (ic *ICanewarray) Execute(vm VM) error
func (*ICanewarray) Op ¶
func (*ICanewarray) Op() ops.Op
type ICarraylength ¶
type ICarraylength struct{}
func (*ICarraylength) Execute ¶
func (*ICarraylength) Execute(vm VM) error
func (*ICarraylength) Op ¶
func (*ICarraylength) Op() ops.Op
type ICastore_0 ¶
type ICastore_0 struct{}
func (*ICastore_0) Execute ¶
func (*ICastore_0) Execute(vm VM) error
func (*ICastore_0) Op ¶
func (*ICastore_0) Op() ops.Op
type ICastore_1 ¶
type ICastore_1 struct{}
func (*ICastore_1) Execute ¶
func (*ICastore_1) Execute(vm VM) error
func (*ICastore_1) Op ¶
func (*ICastore_1) Op() ops.Op
type ICastore_2 ¶
type ICastore_2 struct{}
func (*ICastore_2) Execute ¶
func (*ICastore_2) Execute(vm VM) error
func (*ICastore_2) Op ¶
func (*ICastore_2) Op() ops.Op
type ICastore_3 ¶
type ICastore_3 struct{}
func (*ICastore_3) Execute ¶
func (*ICastore_3) Execute(vm VM) error
func (*ICastore_3) Op ¶
func (*ICastore_3) Op() ops.Op
type ICcheckcast ¶
type ICcheckcast struct {
Class uint16
}
func (*ICcheckcast) Execute ¶
func (ic *ICcheckcast) Execute(vm VM) error
func (*ICcheckcast) Op ¶
func (*ICcheckcast) Op() ops.Op
type ICdconst_0 ¶
type ICdconst_0 struct{}
func (*ICdconst_0) Execute ¶
func (*ICdconst_0) Execute(vm VM) error
func (*ICdconst_0) Op ¶
func (*ICdconst_0) Op() ops.Op
type ICdconst_1 ¶
type ICdconst_1 struct{}
func (*ICdconst_1) Execute ¶
func (*ICdconst_1) Execute(vm VM) error
func (*ICdconst_1) Op ¶
func (*ICdconst_1) Op() ops.Op
type ICdstore_0 ¶
type ICdstore_0 struct{}
func (*ICdstore_0) Execute ¶
func (*ICdstore_0) Execute(vm VM) error
func (*ICdstore_0) Op ¶
func (*ICdstore_0) Op() ops.Op
type ICdstore_1 ¶
type ICdstore_1 struct{}
func (*ICdstore_1) Execute ¶
func (*ICdstore_1) Execute(vm VM) error
func (*ICdstore_1) Op ¶
func (*ICdstore_1) Op() ops.Op
type ICdstore_2 ¶
type ICdstore_2 struct{}
func (*ICdstore_2) Execute ¶
func (*ICdstore_2) Execute(vm VM) error
func (*ICdstore_2) Op ¶
func (*ICdstore_2) Op() ops.Op
type ICdstore_3 ¶
type ICdstore_3 struct{}
func (*ICdstore_3) Execute ¶
func (*ICdstore_3) Execute(vm VM) error
func (*ICdstore_3) Op ¶
func (*ICdstore_3) Op() ops.Op
type ICfconst_0 ¶
type ICfconst_0 struct{}
func (*ICfconst_0) Execute ¶
func (*ICfconst_0) Execute(vm VM) error
func (*ICfconst_0) Op ¶
func (*ICfconst_0) Op() ops.Op
type ICfconst_1 ¶
type ICfconst_1 struct{}
func (*ICfconst_1) Execute ¶
func (*ICfconst_1) Execute(vm VM) error
func (*ICfconst_1) Op ¶
func (*ICfconst_1) Op() ops.Op
type ICfconst_2 ¶
type ICfconst_2 struct{}
func (*ICfconst_2) Execute ¶
func (*ICfconst_2) Execute(vm VM) error
func (*ICfconst_2) Op ¶
func (*ICfconst_2) Op() ops.Op
type ICfstore_0 ¶
type ICfstore_0 struct{}
func (*ICfstore_0) Execute ¶
func (*ICfstore_0) Execute(vm VM) error
func (*ICfstore_0) Op ¶
func (*ICfstore_0) Op() ops.Op
type ICfstore_1 ¶
type ICfstore_1 struct{}
func (*ICfstore_1) Execute ¶
func (*ICfstore_1) Execute(vm VM) error
func (*ICfstore_1) Op ¶
func (*ICfstore_1) Op() ops.Op
type ICfstore_2 ¶
type ICfstore_2 struct{}
func (*ICfstore_2) Execute ¶
func (*ICfstore_2) Execute(vm VM) error
func (*ICfstore_2) Op ¶
func (*ICfstore_2) Op() ops.Op
type ICfstore_3 ¶
type ICfstore_3 struct{}
func (*ICfstore_3) Execute ¶
func (*ICfstore_3) Execute(vm VM) error
func (*ICfstore_3) Op ¶
func (*ICfstore_3) Op() ops.Op
type ICgetfield ¶
type ICgetfield struct {
Field uint16
}
func (*ICgetfield) Execute ¶
func (ic *ICgetfield) Execute(vm VM) error
func (*ICgetfield) Op ¶
func (*ICgetfield) Op() ops.Op
type ICgetstatic ¶
type ICgetstatic struct {
Field uint16
}
func (*ICgetstatic) Execute ¶
func (ic *ICgetstatic) Execute(vm VM) error
func (*ICgetstatic) Op ¶
func (*ICgetstatic) Op() ops.Op
type ICiconst_0 ¶
type ICiconst_0 struct{}
func (*ICiconst_0) Execute ¶
func (*ICiconst_0) Execute(vm VM) error
func (*ICiconst_0) Op ¶
func (*ICiconst_0) Op() ops.Op
type ICiconst_1 ¶
type ICiconst_1 struct{}
func (*ICiconst_1) Execute ¶
func (*ICiconst_1) Execute(vm VM) error
func (*ICiconst_1) Op ¶
func (*ICiconst_1) Op() ops.Op
type ICiconst_2 ¶
type ICiconst_2 struct{}
func (*ICiconst_2) Execute ¶
func (*ICiconst_2) Execute(vm VM) error
func (*ICiconst_2) Op ¶
func (*ICiconst_2) Op() ops.Op
type ICiconst_3 ¶
type ICiconst_3 struct{}
func (*ICiconst_3) Execute ¶
func (*ICiconst_3) Execute(vm VM) error
func (*ICiconst_3) Op ¶
func (*ICiconst_3) Op() ops.Op
type ICiconst_4 ¶
type ICiconst_4 struct{}
func (*ICiconst_4) Execute ¶
func (*ICiconst_4) Execute(vm VM) error
func (*ICiconst_4) Op ¶
func (*ICiconst_4) Op() ops.Op
type ICiconst_5 ¶
type ICiconst_5 struct{}
func (*ICiconst_5) Execute ¶
func (*ICiconst_5) Execute(vm VM) error
func (*ICiconst_5) Op ¶
func (*ICiconst_5) Op() ops.Op
type ICiconst_m1 ¶
type ICiconst_m1 struct{}
func (*ICiconst_m1) Execute ¶
func (*ICiconst_m1) Execute(vm VM) error
func (*ICiconst_m1) Op ¶
func (*ICiconst_m1) Op() ops.Op
type ICif_acmpeq ¶
func (*ICif_acmpeq) Execute ¶
func (ic *ICif_acmpeq) Execute(vm VM) error
func (*ICif_acmpeq) Offsets ¶
func (ic *ICif_acmpeq) Offsets() []int32
func (*ICif_acmpeq) Op ¶
func (*ICif_acmpeq) Op() ops.Op
func (*ICif_acmpeq) SetNode ¶
func (ic *ICif_acmpeq) SetNode(i int, n *ICNode)
type ICif_acmpne ¶
func (*ICif_acmpne) Execute ¶
func (ic *ICif_acmpne) Execute(vm VM) error
func (*ICif_acmpne) Offsets ¶
func (ic *ICif_acmpne) Offsets() []int32
func (*ICif_acmpne) Op ¶
func (*ICif_acmpne) Op() ops.Op
func (*ICif_acmpne) SetNode ¶
func (ic *ICif_acmpne) SetNode(i int, n *ICNode)
type ICif_icmpeq ¶
func (*ICif_icmpeq) Execute ¶
func (ic *ICif_icmpeq) Execute(vm VM) error
func (*ICif_icmpeq) Offsets ¶
func (ic *ICif_icmpeq) Offsets() []int32
func (*ICif_icmpeq) Op ¶
func (*ICif_icmpeq) Op() ops.Op
func (*ICif_icmpeq) SetNode ¶
func (ic *ICif_icmpeq) SetNode(i int, n *ICNode)
type ICif_icmpge ¶
func (*ICif_icmpge) Execute ¶
func (ic *ICif_icmpge) Execute(vm VM) error
func (*ICif_icmpge) Offsets ¶
func (ic *ICif_icmpge) Offsets() []int32
func (*ICif_icmpge) Op ¶
func (*ICif_icmpge) Op() ops.Op
func (*ICif_icmpge) SetNode ¶
func (ic *ICif_icmpge) SetNode(i int, n *ICNode)
type ICif_icmpgt ¶
func (*ICif_icmpgt) Execute ¶
func (ic *ICif_icmpgt) Execute(vm VM) error
func (*ICif_icmpgt) Offsets ¶
func (ic *ICif_icmpgt) Offsets() []int32
func (*ICif_icmpgt) Op ¶
func (*ICif_icmpgt) Op() ops.Op
func (*ICif_icmpgt) SetNode ¶
func (ic *ICif_icmpgt) SetNode(i int, n *ICNode)
type ICif_icmple ¶
func (*ICif_icmple) Execute ¶
func (ic *ICif_icmple) Execute(vm VM) error
func (*ICif_icmple) Offsets ¶
func (ic *ICif_icmple) Offsets() []int32
func (*ICif_icmple) Op ¶
func (*ICif_icmple) Op() ops.Op
func (*ICif_icmple) SetNode ¶
func (ic *ICif_icmple) SetNode(i int, n *ICNode)
type ICif_icmplt ¶
func (*ICif_icmplt) Execute ¶
func (ic *ICif_icmplt) Execute(vm VM) error
func (*ICif_icmplt) Offsets ¶
func (ic *ICif_icmplt) Offsets() []int32
func (*ICif_icmplt) Op ¶
func (*ICif_icmplt) Op() ops.Op
func (*ICif_icmplt) SetNode ¶
func (ic *ICif_icmplt) SetNode(i int, n *ICNode)
type ICif_icmpne ¶
func (*ICif_icmpne) Execute ¶
func (ic *ICif_icmpne) Execute(vm VM) error
func (*ICif_icmpne) Offsets ¶
func (ic *ICif_icmpne) Offsets() []int32
func (*ICif_icmpne) Op ¶
func (*ICif_icmpne) Op() ops.Op
func (*ICif_icmpne) SetNode ¶
func (ic *ICif_icmpne) SetNode(i int, n *ICNode)
type ICifnonnull ¶
func (*ICifnonnull) Execute ¶
func (ic *ICifnonnull) Execute(vm VM) error
func (*ICifnonnull) Offsets ¶
func (ic *ICifnonnull) Offsets() []int32
func (*ICifnonnull) Op ¶
func (*ICifnonnull) Op() ops.Op
func (*ICifnonnull) SetNode ¶
func (ic *ICifnonnull) SetNode(i int, n *ICNode)
type ICinstanceof ¶
type ICinstanceof struct {
Class uint16
}
func (*ICinstanceof) Execute ¶
func (ic *ICinstanceof) Execute(vm VM) error
func (*ICinstanceof) Op ¶
func (*ICinstanceof) Op() ops.Op
type ICinvokedynamic ¶
type ICinvokedynamic struct {
Method uint16
}
func (*ICinvokedynamic) Execute ¶
func (ic *ICinvokedynamic) Execute(vm VM) error
func (*ICinvokedynamic) Op ¶
func (*ICinvokedynamic) Op() ops.Op
type ICinvokeinterface ¶
func (*ICinvokeinterface) Execute ¶
func (ic *ICinvokeinterface) Execute(vm VM) error
func (*ICinvokeinterface) Op ¶
func (*ICinvokeinterface) Op() ops.Op
type ICinvokespecial ¶
type ICinvokespecial struct {
Method uint16
}
func (*ICinvokespecial) Execute ¶
func (ic *ICinvokespecial) Execute(vm VM) error
func (*ICinvokespecial) Op ¶
func (*ICinvokespecial) Op() ops.Op
type ICinvokestatic ¶
type ICinvokestatic struct {
Method uint16
}
func (*ICinvokestatic) Execute ¶
func (ic *ICinvokestatic) Execute(vm VM) error
func (*ICinvokestatic) Op ¶
func (*ICinvokestatic) Op() ops.Op
type ICinvokevirtual ¶
type ICinvokevirtual struct {
Method uint16
}
func (*ICinvokevirtual) Execute ¶
func (ic *ICinvokevirtual) Execute(vm VM) error
func (*ICinvokevirtual) Op ¶
func (*ICinvokevirtual) Op() ops.Op
type ICistore_0 ¶
type ICistore_0 struct{}
func (*ICistore_0) Execute ¶
func (*ICistore_0) Execute(vm VM) error
func (*ICistore_0) Op ¶
func (*ICistore_0) Op() ops.Op
type ICistore_1 ¶
type ICistore_1 struct{}
func (*ICistore_1) Execute ¶
func (*ICistore_1) Execute(vm VM) error
func (*ICistore_1) Op ¶
func (*ICistore_1) Op() ops.Op
type ICistore_2 ¶
type ICistore_2 struct{}
func (*ICistore_2) Execute ¶
func (*ICistore_2) Execute(vm VM) error
func (*ICistore_2) Op ¶
func (*ICistore_2) Op() ops.Op
type ICistore_3 ¶
type ICistore_3 struct{}
func (*ICistore_3) Execute ¶
func (*ICistore_3) Execute(vm VM) error
func (*ICistore_3) Op ¶
func (*ICistore_3) Op() ops.Op
type IClconst_0 ¶
type IClconst_0 struct{}
func (*IClconst_0) Execute ¶
func (*IClconst_0) Execute(vm VM) error
func (*IClconst_0) Op ¶
func (*IClconst_0) Op() ops.Op
type IClconst_1 ¶
type IClconst_1 struct{}
func (*IClconst_1) Execute ¶
func (*IClconst_1) Execute(vm VM) error
func (*IClconst_1) Op ¶
func (*IClconst_1) Op() ops.Op
type IClookupswitch ¶
A lookupswitch is a variable-length instruction. Immediately after the lookupswitch opcode, between zero and three bytes must act as padding, such that defaultbyte1 begins at an address that is a multiple of four bytes from the start of the current method (the opcode of its first instruction).
IClookupswitch's operands' length must determined by the parser.
func (*IClookupswitch) Execute ¶
func (ic *IClookupswitch) Execute(vm VM) error
func (*IClookupswitch) Offsets ¶
func (ic *IClookupswitch) Offsets() []int32
func (*IClookupswitch) Op ¶
func (*IClookupswitch) Op() ops.Op
func (*IClookupswitch) SetNode ¶
func (ic *IClookupswitch) SetNode(i int, n *ICNode)
type IClstore_0 ¶
type IClstore_0 struct{}
func (*IClstore_0) Execute ¶
func (*IClstore_0) Execute(vm VM) error
func (*IClstore_0) Op ¶
func (*IClstore_0) Op() ops.Op
type IClstore_1 ¶
type IClstore_1 struct{}
func (*IClstore_1) Execute ¶
func (*IClstore_1) Execute(vm VM) error
func (*IClstore_1) Op ¶
func (*IClstore_1) Op() ops.Op
type IClstore_2 ¶
type IClstore_2 struct{}
func (*IClstore_2) Execute ¶
func (*IClstore_2) Execute(vm VM) error
func (*IClstore_2) Op ¶
func (*IClstore_2) Op() ops.Op
type IClstore_3 ¶
type IClstore_3 struct{}
func (*IClstore_3) Execute ¶
func (*IClstore_3) Execute(vm VM) error
func (*IClstore_3) Op ¶
func (*IClstore_3) Op() ops.Op
type ICmonitorenter ¶
type ICmonitorenter struct{}
func (*ICmonitorenter) Execute ¶
func (*ICmonitorenter) Execute(vm VM) error
func (*ICmonitorenter) Op ¶
func (*ICmonitorenter) Op() ops.Op
type ICmonitorexit ¶
type ICmonitorexit struct{}
func (*ICmonitorexit) Execute ¶
func (*ICmonitorexit) Execute(vm VM) error
func (*ICmonitorexit) Op ¶
func (*ICmonitorexit) Op() ops.Op
type ICmultianewarray ¶
func (*ICmultianewarray) Execute ¶
func (ic *ICmultianewarray) Execute(vm VM) error
func (*ICmultianewarray) Op ¶
func (*ICmultianewarray) Op() ops.Op
type ICnewarray ¶
type ICnewarray struct {
Atype byte
}
func (*ICnewarray) Execute ¶
func (ic *ICnewarray) Execute(vm VM) error
func (*ICnewarray) Op ¶
func (*ICnewarray) Op() ops.Op
type ICputfield ¶
type ICputfield struct {
Field uint16
}
func (*ICputfield) Execute ¶
func (ic *ICputfield) Execute(vm VM) error
func (*ICputfield) Op ¶
func (*ICputfield) Op() ops.Op
type ICputstatic ¶
type ICputstatic struct {
Field uint16
}
func (*ICputstatic) Execute ¶
func (ic *ICputstatic) Execute(vm VM) error
func (*ICputstatic) Op ¶
func (*ICputstatic) Op() ops.Op
type ICtableswitch ¶
type ICtableswitch struct {
DefaultOffset int32
DefaultNode *ICNode
Low, High int32
OffsetList []int32
Nodes []*ICNode
}
func (*ICtableswitch) Execute ¶
func (ic *ICtableswitch) Execute(vm VM) error
func (*ICtableswitch) Offsets ¶
func (ic *ICtableswitch) Offsets() []int32
func (*ICtableswitch) Op ¶
func (*ICtableswitch) Op() ops.Op
func (*ICtableswitch) SetNode ¶
func (ic *ICtableswitch) SetNode(i int, n *ICNode)
type Ref ¶
type Ref interface {
Desc() *desc.Desc
Class() Class
Id() int32
Len() int32
UserData() *any
Data() unsafe.Pointer
GetRefArr() []unsafe.Pointer
GetByteArr() []byte
GetInt8Arr() []int8
GetInt16Arr() []int16
GetInt32Arr() []int32
GetInt64Arr() []int64
IsLocked(VM) int
Lock(VM) int
Unlock(VM) (int, error)
Notify(VM) error
NotifyAll(VM) error
Wait(VM, int64) error
Clone(VM) Ref
}
type Stack ¶
type Stack interface {
Prev() Stack
Method() Method
PC() *ICNode
GetVar(uint16) uint32
GetVar64(uint16) uint64
GetVarInt8(uint16) int8
GetVarInt16(uint16) int16
GetVarInt32(uint16) int32
GetVarInt64(uint16) int64
GetVarFloat32(uint16) float32
GetVarFloat64(uint16) float64
GetVarRef(uint16) Ref
GetVarPointer(uint16) unsafe.Pointer
SetVar(uint16, uint32)
SetVar64(uint16, uint64)
SetVarInt8(uint16, int8)
SetVarInt16(uint16, int16)
SetVarInt32(uint16, int32)
SetVarInt64(uint16, int64)
SetVarFloat32(uint16, float32)
SetVarFloat64(uint16, float64)
SetVarRef(uint16, Ref)
SetVarPointer(uint16, unsafe.Pointer)
Peek() uint32
Peek64() uint64
PeekInt8() int8
PeekInt16() int16
PeekInt32() int32
PeekInt64() int64
PeekFloat32() float32
PeekFloat64() float64
PeekRef() Ref
PeekPointer() unsafe.Pointer
Pop() uint32
Pop64() uint64
PopInt8() int8
PopInt16() int16
PopInt32() int32
PopInt64() int64
PopFloat32() float32
PopFloat64() float64
PopRef() Ref
PopPointer() unsafe.Pointer
Push(uint32)
Push64(uint64)
PushInt8(int8)
PushInt16(int16)
PushInt32(int32)
PushInt64(int64)
PushFloat32(float32)
PushFloat64(float64)
PushRef(Ref)
PushPointer(unsafe.Pointer)
// returns whether the top element is a reference or not
IsRef() bool
}
type VM ¶
type VM interface {
GetStack() Stack
Running() bool
Step() error
RunStack() error
New(Class) Ref
NewString(string) Ref
// Alloc an array with the descriptor as the array's type
NewArray(*desc.Desc, int32) Ref
NewArrayMultiDim(*desc.Desc, []int32) Ref
// Alloc an array with the class as the array's type
NewArrayMultiDimWithClass(Class, []int32) Ref
// Alloc an array with the class as the array's element's type
NewObjectArray(Class, int32) Ref
// Alloc an array with the class as the array's element's type
NewObjectMultiDimArray(Class, []int32) Ref
RefToPtr(Ref) unsafe.Pointer
PtrToRef(unsafe.Pointer) Ref
GetObjectClass() Class
GetThrowableClass() Class
GetStringClass() Class
GetString(Ref) string
GetStringIntern(Ref) Ref
GetStringInternOrNew(string) Ref
GetDesc(uint16) *desc.Desc
GetClassByIndex(uint16) (Class, error)
GetClassByName(string) (Class, error)
GetClass(Ref) Class
GetLoadedClassByName(string) (Class, error)
GetBootLoader() ClassLoader
GetClassLoader() ClassLoader
GetCurrentClass() Class
GetCurrentMethod() Method
LoadNativeMethod(Method, func(VM) error)
Invoke(Method)
InvokeStatic(Method)
InvokeVirtual(Method)
InvokeDynamic(uint16) error
Return()
Throw(Ref)
Throwing() Ref
Goto(*ICNode)
GetCarrierThread() Ref
GetCurrentThread() Ref
SetCurrentThread(Ref)
Interrupt(Ref)
ClearInterrupt()
FillThrowableStackTrace(Ref)
NewSubVM(Ref) VM
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.