mirror of
https://github.com/kubenetworks/kubevpn.git
synced 2025-10-13 19:13:43 +08:00
89 lines
1004 B
Go
89 lines
1004 B
Go
package vm
|
|
|
|
type Opcode byte
|
|
|
|
const (
|
|
OpInvalid Opcode = iota
|
|
OpPush
|
|
OpInt
|
|
OpPop
|
|
OpStore
|
|
OpLoadVar
|
|
OpLoadConst
|
|
OpLoadField
|
|
OpLoadFast
|
|
OpLoadMethod
|
|
OpLoadFunc
|
|
OpLoadEnv
|
|
OpFetch
|
|
OpFetchField
|
|
OpMethod
|
|
OpTrue
|
|
OpFalse
|
|
OpNil
|
|
OpNegate
|
|
OpNot
|
|
OpEqual
|
|
OpEqualInt
|
|
OpEqualString
|
|
OpJump
|
|
OpJumpIfTrue
|
|
OpJumpIfFalse
|
|
OpJumpIfNil
|
|
OpJumpIfNotNil
|
|
OpJumpIfEnd
|
|
OpJumpBackward
|
|
OpIn
|
|
OpLess
|
|
OpMore
|
|
OpLessOrEqual
|
|
OpMoreOrEqual
|
|
OpAdd
|
|
OpSubtract
|
|
OpMultiply
|
|
OpDivide
|
|
OpModulo
|
|
OpExponent
|
|
OpRange
|
|
OpMatches
|
|
OpMatchesConst
|
|
OpContains
|
|
OpStartsWith
|
|
OpEndsWith
|
|
OpSlice
|
|
OpCall
|
|
OpCall0
|
|
OpCall1
|
|
OpCall2
|
|
OpCall3
|
|
OpCallN
|
|
OpCallFast
|
|
OpCallSafe
|
|
OpCallTyped
|
|
OpCallBuiltin1
|
|
OpArray
|
|
OpMap
|
|
OpLen
|
|
OpCast
|
|
OpDeref
|
|
OpIncrementIndex
|
|
OpDecrementIndex
|
|
OpIncrementCount
|
|
OpGetIndex
|
|
OpGetCount
|
|
OpGetLen
|
|
OpGetAcc
|
|
OpSetAcc
|
|
OpSetIndex
|
|
OpPointer
|
|
OpThrow
|
|
OpCreate
|
|
OpGroupBy
|
|
OpSortBy
|
|
OpSort
|
|
OpProfileStart
|
|
OpProfileEnd
|
|
OpBegin
|
|
OpEnd // This opcode must be at the end of this list.
|
|
)
|