polkavm

package
v0.0.0-...-3b087ab Latest Latest
Warning

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

Go to latest
Published: Dec 6, 2024 License: MIT Imports: 14 Imported by: 0

Documentation

Overview

Package polkavm is a generated GoMock package.

Index

Constants

View Source
const (
	AddressSpaceSize      = 0x100000000                      // 2^32
	VmMaxPageSize         = 0x10000                          // The maximum page size of the VM.
	VMPageSize            = uint32(1 << 12)                  // ZP: 4096 (2^12) The pvm memory page size.
	VmAddressReturnToHost = 0xffff0000                       // The address which, when jumped to, will return to the host.
	VmAddressSpaceTop     = AddressSpaceSize - VmMaxPageSize // The address at which the program's stackData starts inside of the VM.
	VmAddressSpaceBottom  = VmMaxPageSize                    // The bottom of the accessible address space inside the VM (ZQ?)
)
View Source
const (
	SectionMemoryConfig              byte = 1
	SectionROData                    byte = 2
	SectionRWData                    byte = 3
	SectionImports                   byte = 4
	SectionExports                   byte = 5
	SectionCodeAndJumpTable          byte = 6
	SectionOptDebugStrings           byte = 128
	SectionOptDebugLinePrograms      byte = 129
	SectionOptDebugLineProgramRanges byte = 130
	SectionEndOfFile                 byte = 0

	BlobLenSize           = 8 // for 64 bit blobs
	BlobVersionV1x32 byte = 0
	BlobVersionV1x64 byte = 1

	VersionDebugLineProgramV1 byte = 1

	VmMaximumJumpTableEntries uint32 = 16 * 1024 * 1024
	VmMaximumImportCount      uint32 = 1024 // The maximum number of functions the program can import.
	VmMaximumCodeSize         uint32 = 32 * 1024 * 1024
	VmCodeAddressAlignment    uint32 = 2
	BitmaskMax                       = 24
)

program blob sections

Variables

View Source
var BlobMagic = [4]byte{'P', 'V', 'M', 0}

BlobMagic The magic bytes with which every program blob must start with.

View Source
var (
	ErrAccountNotFound = ErrPanicf("account not found")
)
View Source
var ErrHalt = fmt.Errorf("halt")

ErrHalt regular program termination (∎)

View Source
var ErrHostCall = fmt.Errorf("host call")

ErrHostCall an attempt at progressing a host-call (h)

View Source
var ErrOutOfGas = fmt.Errorf("out of gas")

ErrOutOfGas exhaustion of gas: (∞)

View Source
var (
	ErrPageValueTooLarge = errors.New("page value too large")
)
View Source
var GasCosts = map[Opcode]Gas{}/* 113 elements not displayed */

Functions

func AlignToNextPage

func AlignToNextPage(value uint32) (uint32, error)

func ParseCodeAndJumpTable

func ParseCodeAndJumpTable(secLen uint32, r *Reader, p *Program) error

Types

type AccumulateContext

type AccumulateContext struct {
	ServiceState      service.ServiceState       // d
	ServiceId         block.ServiceId            // s
	AccumulationState state.AccumulationState    // u
	NewServiceId      block.ServiceId            // i
	DeferredTransfers []service.DeferredTransfer // t
}

AccumulateContext Equation 254

func (*AccumulateContext) ServiceAccount

func (s *AccumulateContext) ServiceAccount() service.ServiceAccount

ServiceAccount x_s

type AccumulateContextPair

type AccumulateContextPair struct {
	RegularCtx     AccumulateContext // x
	ExceptionalCtx AccumulateContext // y
}

type ErrPageFault

type ErrPageFault struct {
	Reason  string
	Address uint32
}

ErrPageFault a page fault (attempt to data some address in RAM which is not accessible). This includes the address at fault. (F)

func (*ErrPageFault) Error

func (e *ErrPageFault) Error() string

type ErrPanic

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

ErrPanic irregular program termination caused by some exceptional circumstance (☇)

func ErrPanicf

func ErrPanicf(msg string, args ...any) *ErrPanic

func (*ErrPanic) Error

func (e *ErrPanic) Error() string

type Gas

type Gas int64

type HostCall

type HostCall[X any] func(hostCall uint32, gasCounter Gas, regs Registers, mem Memory, x X) (Gas, Registers, Memory, X, error)

HostCall the generic Ω function definition Ωx(n, ϱ, ω, μ, x) defined in section A.6

type InstrParseArgFunc

type InstrParseArgFunc func(chunk []byte, instructionOffset, argsLength uint32) ([]Reg, []uint32, error)

type Instruction

type Instruction struct {
	Opcode Opcode
	Imm    []uint32
	ExtImm uint64
	Reg    []Reg
	Offset uint32
	Length uint32
}

func (*Instruction) IsBasicBlockTermination

func (i *Instruction) IsBasicBlockTermination() bool

func (*Instruction) Mutate

func (i *Instruction) Mutate(mutator Mutator) (uint32, error)

type Memory

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

Memory Equation: 34 (M)

func (*Memory) Read

func (m *Memory) Read(address uint32, data []byte) error

Read reads from the set of readable indices (Vμ)

func (*Memory) Sbrk

func (m *Memory) Sbrk(heapTop uint32) error

func (*Memory) Write

func (m *Memory) Write(address uint32, data []byte) error

Write writes to the set of writeable indices (Vμ*)

type MemoryAccess

type MemoryAccess int
const (
	Inaccessible MemoryAccess = iota // ∅ (Inaccessible)
	ReadOnly                         // R (Read-Only)
	ReadWrite                        // W (Read-Write)
)

type MemoryMap

type MemoryMap struct {
	RODataSize       uint32
	RWDataSize       uint32
	StackSize        uint32
	HeapBase         uint32
	MaxHeapSize      uint32
	StackAddressHigh uint32
	RODataAddress    uint32
	StackAddressLow  uint32
	RWDataAddress    uint32
	ArgsDataAddress  uint32
	ArgsDataSize     uint32
}

func NewMemoryMap

func NewMemoryMap(roDataSize, rwDataSize, stackSize, argsDataSize uint32) (*MemoryMap, error)

func (MemoryMap) NewMemory

func (mm MemoryMap) NewMemory(rwData, roData, argsData []byte) Memory

type MockMutator

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

MockMutator is a mock of Mutator interface.

func NewMockMutator

func NewMockMutator(ctrl *gomock.Controller) *MockMutator

NewMockMutator creates a new mock instance.

func (*MockMutator) Add32

func (m *MockMutator) Add32(arg0, arg1, arg2 Reg)

Add32 mocks base method.

func (*MockMutator) Add64

func (m *MockMutator) Add64(arg0, arg1, arg2 Reg)

Add64 mocks base method.

func (*MockMutator) AddImm32

func (m *MockMutator) AddImm32(arg0, arg1 Reg, arg2 uint32)

AddImm32 mocks base method.

func (*MockMutator) AddImm64

func (m *MockMutator) AddImm64(arg0, arg1 Reg, arg2 uint32)

AddImm64 mocks base method.

func (*MockMutator) And

func (m *MockMutator) And(arg0, arg1, arg2 Reg)

And mocks base method.

func (*MockMutator) AndImm

func (m *MockMutator) AndImm(arg0, arg1 Reg, arg2 uint32)

AndImm mocks base method.

func (*MockMutator) BranchEq

func (m *MockMutator) BranchEq(arg0, arg1 Reg, arg2 uint32)

BranchEq mocks base method.

func (*MockMutator) BranchEqImm

func (m *MockMutator) BranchEqImm(arg0 Reg, arg1, arg2 uint32)

BranchEqImm mocks base method.

func (*MockMutator) BranchGreaterOrEqualSigned

func (m *MockMutator) BranchGreaterOrEqualSigned(arg0, arg1 Reg, arg2 uint32)

BranchGreaterOrEqualSigned mocks base method.

func (*MockMutator) BranchGreaterOrEqualSignedImm

func (m *MockMutator) BranchGreaterOrEqualSignedImm(arg0 Reg, arg1, arg2 uint32)

BranchGreaterOrEqualSignedImm mocks base method.

func (*MockMutator) BranchGreaterOrEqualUnsigned

func (m *MockMutator) BranchGreaterOrEqualUnsigned(arg0, arg1 Reg, arg2 uint32)

BranchGreaterOrEqualUnsigned mocks base method.

func (*MockMutator) BranchGreaterOrEqualUnsignedImm

func (m *MockMutator) BranchGreaterOrEqualUnsignedImm(arg0 Reg, arg1, arg2 uint32)

BranchGreaterOrEqualUnsignedImm mocks base method.

func (*MockMutator) BranchGreaterSignedImm

func (m *MockMutator) BranchGreaterSignedImm(arg0 Reg, arg1, arg2 uint32)

BranchGreaterSignedImm mocks base method.

func (*MockMutator) BranchGreaterUnsignedImm

func (m *MockMutator) BranchGreaterUnsignedImm(arg0 Reg, arg1, arg2 uint32)

BranchGreaterUnsignedImm mocks base method.

func (*MockMutator) BranchLessOrEqualSignedImm

func (m *MockMutator) BranchLessOrEqualSignedImm(arg0 Reg, arg1, arg2 uint32)

BranchLessOrEqualSignedImm mocks base method.

func (*MockMutator) BranchLessOrEqualUnsignedImm

func (m *MockMutator) BranchLessOrEqualUnsignedImm(arg0 Reg, arg1, arg2 uint32)

BranchLessOrEqualUnsignedImm mocks base method.

func (*MockMutator) BranchLessSigned

func (m *MockMutator) BranchLessSigned(arg0, arg1 Reg, arg2 uint32)

BranchLessSigned mocks base method.

func (*MockMutator) BranchLessSignedImm

func (m *MockMutator) BranchLessSignedImm(arg0 Reg, arg1, arg2 uint32)

BranchLessSignedImm mocks base method.

func (*MockMutator) BranchLessUnsigned

func (m *MockMutator) BranchLessUnsigned(arg0, arg1 Reg, arg2 uint32)

BranchLessUnsigned mocks base method.

func (*MockMutator) BranchLessUnsignedImm

func (m *MockMutator) BranchLessUnsignedImm(arg0 Reg, arg1, arg2 uint32)

BranchLessUnsignedImm mocks base method.

func (*MockMutator) BranchNotEq

func (m *MockMutator) BranchNotEq(arg0, arg1 Reg, arg2 uint32)

BranchNotEq mocks base method.

func (*MockMutator) BranchNotEqImm

func (m *MockMutator) BranchNotEqImm(arg0 Reg, arg1, arg2 uint32)

BranchNotEqImm mocks base method.

func (*MockMutator) CmovIfNotZero

func (m *MockMutator) CmovIfNotZero(arg0, arg1, arg2 Reg)

CmovIfNotZero mocks base method.

func (*MockMutator) CmovIfNotZeroImm

func (m *MockMutator) CmovIfNotZeroImm(arg0, arg1 Reg, arg2 uint32)

CmovIfNotZeroImm mocks base method.

func (*MockMutator) CmovIfZero

func (m *MockMutator) CmovIfZero(arg0, arg1, arg2 Reg)

CmovIfZero mocks base method.

func (*MockMutator) CmovIfZeroImm

func (m *MockMutator) CmovIfZeroImm(arg0, arg1 Reg, arg2 uint32)

CmovIfZeroImm mocks base method.

func (*MockMutator) DivSigned32

func (m *MockMutator) DivSigned32(arg0, arg1, arg2 Reg)

DivSigned32 mocks base method.

func (*MockMutator) DivSigned64

func (m *MockMutator) DivSigned64(arg0, arg1, arg2 Reg)

DivSigned64 mocks base method.

func (*MockMutator) DivUnsigned32

func (m *MockMutator) DivUnsigned32(arg0, arg1, arg2 Reg)

DivUnsigned32 mocks base method.

func (*MockMutator) DivUnsigned64

func (m *MockMutator) DivUnsigned64(arg0, arg1, arg2 Reg)

DivUnsigned64 mocks base method.

func (*MockMutator) EXPECT

func (m *MockMutator) EXPECT() *MockMutatorMockRecorder

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockMutator) Fallthrough

func (m *MockMutator) Fallthrough()

Fallthrough mocks base method.

func (*MockMutator) Jump

func (m *MockMutator) Jump(arg0 uint32)

Jump mocks base method.

func (*MockMutator) JumpIndirect

func (m *MockMutator) JumpIndirect(arg0 Reg, arg1 uint32) error

JumpIndirect mocks base method.

func (*MockMutator) LoadI16

func (m *MockMutator) LoadI16(arg0 Reg, arg1 uint32) error

LoadI16 mocks base method.

func (*MockMutator) LoadI32

func (m *MockMutator) LoadI32(arg0 Reg, arg1 uint32) error

LoadI32 mocks base method.

func (*MockMutator) LoadI8

func (m *MockMutator) LoadI8(arg0 Reg, arg1 uint32) error

LoadI8 mocks base method.

func (*MockMutator) LoadImm

func (m *MockMutator) LoadImm(arg0 Reg, arg1 uint32)

LoadImm mocks base method.

func (*MockMutator) LoadImm64

func (m *MockMutator) LoadImm64(arg0 Reg, arg1 uint64)

LoadImm64 mocks base method.

func (*MockMutator) LoadImmAndJump

func (m *MockMutator) LoadImmAndJump(arg0 Reg, arg1, arg2 uint32)

LoadImmAndJump mocks base method.

func (*MockMutator) LoadImmAndJumpIndirect

func (m *MockMutator) LoadImmAndJumpIndirect(arg0, arg1 Reg, arg2, arg3 uint32) error

LoadImmAndJumpIndirect mocks base method.

func (*MockMutator) LoadIndirectI16

func (m *MockMutator) LoadIndirectI16(arg0, arg1 Reg, arg2 uint32) error

LoadIndirectI16 mocks base method.

func (*MockMutator) LoadIndirectI32

func (m *MockMutator) LoadIndirectI32(arg0, arg1 Reg, arg2 uint32) error

LoadIndirectI32 mocks base method.

func (*MockMutator) LoadIndirectI8

func (m *MockMutator) LoadIndirectI8(arg0, arg1 Reg, arg2 uint32) error

LoadIndirectI8 mocks base method.

func (*MockMutator) LoadIndirectU16

func (m *MockMutator) LoadIndirectU16(arg0, arg1 Reg, arg2 uint32) error

LoadIndirectU16 mocks base method.

func (*MockMutator) LoadIndirectU32

func (m *MockMutator) LoadIndirectU32(arg0, arg1 Reg, arg2 uint32) error

LoadIndirectU32 mocks base method.

func (*MockMutator) LoadIndirectU64

func (m *MockMutator) LoadIndirectU64(arg0, arg1 Reg, arg2 uint32) error

LoadIndirectU64 mocks base method.

func (*MockMutator) LoadIndirectU8

func (m *MockMutator) LoadIndirectU8(arg0, arg1 Reg, arg2 uint32) error

LoadIndirectU8 mocks base method.

func (*MockMutator) LoadU16

func (m *MockMutator) LoadU16(arg0 Reg, arg1 uint32) error

LoadU16 mocks base method.

func (*MockMutator) LoadU32

func (m *MockMutator) LoadU32(arg0 Reg, arg1 uint32) error

LoadU32 mocks base method.

func (*MockMutator) LoadU64

func (m *MockMutator) LoadU64(arg0 Reg, arg1 uint32) error

LoadU64 mocks base method.

func (*MockMutator) LoadU8

func (m *MockMutator) LoadU8(arg0 Reg, arg1 uint32) error

LoadU8 mocks base method.

func (*MockMutator) MoveReg

func (m *MockMutator) MoveReg(arg0, arg1 Reg)

MoveReg mocks base method.

func (*MockMutator) Mul32

func (m *MockMutator) Mul32(arg0, arg1, arg2 Reg)

Mul32 mocks base method.

func (*MockMutator) Mul64

func (m *MockMutator) Mul64(arg0, arg1, arg2 Reg)

Mul64 mocks base method.

func (*MockMutator) MulImm32

func (m *MockMutator) MulImm32(arg0, arg1 Reg, arg2 uint32)

MulImm32 mocks base method.

func (*MockMutator) MulImm64

func (m *MockMutator) MulImm64(arg0, arg1 Reg, arg2 uint32)

MulImm64 mocks base method.

func (*MockMutator) MulUpperSignedSigned

func (m *MockMutator) MulUpperSignedSigned(arg0, arg1, arg2 Reg)

MulUpperSignedSigned mocks base method.

func (*MockMutator) MulUpperSignedUnsigned

func (m *MockMutator) MulUpperSignedUnsigned(arg0, arg1, arg2 Reg)

MulUpperSignedUnsigned mocks base method.

func (*MockMutator) MulUpperUnsignedUnsigned

func (m *MockMutator) MulUpperUnsignedUnsigned(arg0, arg1, arg2 Reg)

MulUpperUnsignedUnsigned mocks base method.

func (*MockMutator) NegateAndAddImm32

func (m *MockMutator) NegateAndAddImm32(arg0, arg1 Reg, arg2 uint32)

NegateAndAddImm32 mocks base method.

func (*MockMutator) NegateAndAddImm64

func (m *MockMutator) NegateAndAddImm64(arg0, arg1 Reg, arg2 uint32)

NegateAndAddImm64 mocks base method.

func (*MockMutator) Or

func (m *MockMutator) Or(arg0, arg1, arg2 Reg)

Or mocks base method.

func (*MockMutator) OrImm

func (m *MockMutator) OrImm(arg0, arg1 Reg, arg2 uint32)

OrImm mocks base method.

func (*MockMutator) RemSigned32

func (m *MockMutator) RemSigned32(arg0, arg1, arg2 Reg)

RemSigned32 mocks base method.

func (*MockMutator) RemSigned64

func (m *MockMutator) RemSigned64(arg0, arg1, arg2 Reg)

RemSigned64 mocks base method.

func (*MockMutator) RemUnsigned32

func (m *MockMutator) RemUnsigned32(arg0, arg1, arg2 Reg)

RemUnsigned32 mocks base method.

func (*MockMutator) RemUnsigned64

func (m *MockMutator) RemUnsigned64(arg0, arg1, arg2 Reg)

RemUnsigned64 mocks base method.

func (*MockMutator) Sbrk

func (m *MockMutator) Sbrk(arg0, arg1 Reg) error

Sbrk mocks base method.

func (*MockMutator) SetGreaterThanSignedImm

func (m *MockMutator) SetGreaterThanSignedImm(arg0, arg1 Reg, arg2 uint32)

SetGreaterThanSignedImm mocks base method.

func (*MockMutator) SetGreaterThanUnsignedImm

func (m *MockMutator) SetGreaterThanUnsignedImm(arg0, arg1 Reg, arg2 uint32)

SetGreaterThanUnsignedImm mocks base method.

func (*MockMutator) SetLessThanSigned

func (m *MockMutator) SetLessThanSigned(arg0, arg1, arg2 Reg)

SetLessThanSigned mocks base method.

func (*MockMutator) SetLessThanSignedImm

func (m *MockMutator) SetLessThanSignedImm(arg0, arg1 Reg, arg2 uint32)

SetLessThanSignedImm mocks base method.

func (*MockMutator) SetLessThanUnsigned

func (m *MockMutator) SetLessThanUnsigned(arg0, arg1, arg2 Reg)

SetLessThanUnsigned mocks base method.

func (*MockMutator) SetLessThanUnsignedImm

func (m *MockMutator) SetLessThanUnsignedImm(arg0, arg1 Reg, arg2 uint32)

SetLessThanUnsignedImm mocks base method.

func (*MockMutator) ShiftArithmeticRight32

func (m *MockMutator) ShiftArithmeticRight32(arg0, arg1, arg2 Reg)

ShiftArithmeticRight32 mocks base method.

func (*MockMutator) ShiftArithmeticRight64

func (m *MockMutator) ShiftArithmeticRight64(arg0, arg1, arg2 Reg)

ShiftArithmeticRight64 mocks base method.

func (*MockMutator) ShiftArithmeticRightImm32

func (m *MockMutator) ShiftArithmeticRightImm32(arg0, arg1 Reg, arg2 uint32)

ShiftArithmeticRightImm32 mocks base method.

func (*MockMutator) ShiftArithmeticRightImm64

func (m *MockMutator) ShiftArithmeticRightImm64(arg0, arg1 Reg, arg2 uint32)

ShiftArithmeticRightImm64 mocks base method.

func (*MockMutator) ShiftArithmeticRightImmAlt32

func (m *MockMutator) ShiftArithmeticRightImmAlt32(arg0, arg1 Reg, arg2 uint32)

ShiftArithmeticRightImmAlt32 mocks base method.

func (*MockMutator) ShiftArithmeticRightImmAlt64

func (m *MockMutator) ShiftArithmeticRightImmAlt64(arg0, arg1 Reg, arg2 uint32)

ShiftArithmeticRightImmAlt64 mocks base method.

func (*MockMutator) ShiftLogicalLeft32

func (m *MockMutator) ShiftLogicalLeft32(arg0, arg1, arg2 Reg)

ShiftLogicalLeft32 mocks base method.

func (*MockMutator) ShiftLogicalLeft64

func (m *MockMutator) ShiftLogicalLeft64(arg0, arg1, arg2 Reg)

ShiftLogicalLeft64 mocks base method.

func (*MockMutator) ShiftLogicalLeftImm32

func (m *MockMutator) ShiftLogicalLeftImm32(arg0, arg1 Reg, arg2 uint32)

ShiftLogicalLeftImm32 mocks base method.

func (*MockMutator) ShiftLogicalLeftImm64

func (m *MockMutator) ShiftLogicalLeftImm64(arg0, arg1 Reg, arg2 uint32)

ShiftLogicalLeftImm64 mocks base method.

func (*MockMutator) ShiftLogicalLeftImmAlt32

func (m *MockMutator) ShiftLogicalLeftImmAlt32(arg0, arg1 Reg, arg2 uint32)

ShiftLogicalLeftImmAlt32 mocks base method.

func (*MockMutator) ShiftLogicalLeftImmAlt64

func (m *MockMutator) ShiftLogicalLeftImmAlt64(arg0, arg1 Reg, arg2 uint32)

ShiftLogicalLeftImmAlt64 mocks base method.

func (*MockMutator) ShiftLogicalRight32

func (m *MockMutator) ShiftLogicalRight32(arg0, arg1, arg2 Reg)

ShiftLogicalRight32 mocks base method.

func (*MockMutator) ShiftLogicalRight64

func (m *MockMutator) ShiftLogicalRight64(arg0, arg1, arg2 Reg)

ShiftLogicalRight64 mocks base method.

func (*MockMutator) ShiftLogicalRightImm32

func (m *MockMutator) ShiftLogicalRightImm32(arg0, arg1 Reg, arg2 uint32)

ShiftLogicalRightImm32 mocks base method.

func (*MockMutator) ShiftLogicalRightImm64

func (m *MockMutator) ShiftLogicalRightImm64(arg0, arg1 Reg, arg2 uint32)

ShiftLogicalRightImm64 mocks base method.

func (*MockMutator) ShiftLogicalRightImmAlt32

func (m *MockMutator) ShiftLogicalRightImmAlt32(arg0, arg1 Reg, arg2 uint32)

ShiftLogicalRightImmAlt32 mocks base method.

func (*MockMutator) ShiftLogicalRightImmAlt64

func (m *MockMutator) ShiftLogicalRightImmAlt64(arg0, arg1 Reg, arg2 uint32)

ShiftLogicalRightImmAlt64 mocks base method.

func (*MockMutator) StoreImmIndirectU16

func (m *MockMutator) StoreImmIndirectU16(arg0 Reg, arg1, arg2 uint32) error

StoreImmIndirectU16 mocks base method.

func (*MockMutator) StoreImmIndirectU32

func (m *MockMutator) StoreImmIndirectU32(arg0 Reg, arg1, arg2 uint32) error

StoreImmIndirectU32 mocks base method.

func (*MockMutator) StoreImmIndirectU64

func (m *MockMutator) StoreImmIndirectU64(arg0 Reg, arg1, arg2 uint32) error

StoreImmIndirectU64 mocks base method.

func (*MockMutator) StoreImmIndirectU8

func (m *MockMutator) StoreImmIndirectU8(arg0 Reg, arg1, arg2 uint32) error

StoreImmIndirectU8 mocks base method.

func (*MockMutator) StoreImmU16

func (m *MockMutator) StoreImmU16(arg0, arg1 uint32) error

StoreImmU16 mocks base method.

func (*MockMutator) StoreImmU32

func (m *MockMutator) StoreImmU32(arg0, arg1 uint32) error

StoreImmU32 mocks base method.

func (*MockMutator) StoreImmU64

func (m *MockMutator) StoreImmU64(arg0, arg1 uint32) error

StoreImmU64 mocks base method.

func (*MockMutator) StoreImmU8

func (m *MockMutator) StoreImmU8(arg0, arg1 uint32) error

StoreImmU8 mocks base method.

func (*MockMutator) StoreIndirectU16

func (m *MockMutator) StoreIndirectU16(arg0, arg1 Reg, arg2 uint32) error

StoreIndirectU16 mocks base method.

func (*MockMutator) StoreIndirectU32

func (m *MockMutator) StoreIndirectU32(arg0, arg1 Reg, arg2 uint32) error

StoreIndirectU32 mocks base method.

func (*MockMutator) StoreIndirectU64

func (m *MockMutator) StoreIndirectU64(arg0, arg1 Reg, arg2 uint32) error

StoreIndirectU64 mocks base method.

func (*MockMutator) StoreIndirectU8

func (m *MockMutator) StoreIndirectU8(arg0, arg1 Reg, arg2 uint32) error

StoreIndirectU8 mocks base method.

func (*MockMutator) StoreU16

func (m *MockMutator) StoreU16(arg0 Reg, arg1 uint32) error

StoreU16 mocks base method.

func (*MockMutator) StoreU32

func (m *MockMutator) StoreU32(arg0 Reg, arg1 uint32) error

StoreU32 mocks base method.

func (*MockMutator) StoreU64

func (m *MockMutator) StoreU64(arg0 Reg, arg1 uint32) error

StoreU64 mocks base method.

func (*MockMutator) StoreU8

func (m *MockMutator) StoreU8(arg0 Reg, arg1 uint32) error

StoreU8 mocks base method.

func (*MockMutator) Sub32

func (m *MockMutator) Sub32(arg0, arg1, arg2 Reg)

Sub32 mocks base method.

func (*MockMutator) Sub64

func (m *MockMutator) Sub64(arg0, arg1, arg2 Reg)

Sub64 mocks base method.

func (*MockMutator) Trap

func (m *MockMutator) Trap() error

Trap mocks base method.

func (*MockMutator) Xor

func (m *MockMutator) Xor(arg0, arg1, arg2 Reg)

Xor mocks base method.

func (*MockMutator) XorImm

func (m *MockMutator) XorImm(arg0, arg1 Reg, arg2 uint32)

XorImm mocks base method.

type MockMutatorMockRecorder

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

MockMutatorMockRecorder is the mock recorder for MockMutator.

func (*MockMutatorMockRecorder) Add32

func (mr *MockMutatorMockRecorder) Add32(arg0, arg1, arg2 interface{}) *gomock.Call

Add32 indicates an expected call of Add32.

func (*MockMutatorMockRecorder) Add64

func (mr *MockMutatorMockRecorder) Add64(arg0, arg1, arg2 interface{}) *gomock.Call

Add64 indicates an expected call of Add64.

func (*MockMutatorMockRecorder) AddImm32

func (mr *MockMutatorMockRecorder) AddImm32(arg0, arg1, arg2 interface{}) *gomock.Call

AddImm32 indicates an expected call of AddImm32.

func (*MockMutatorMockRecorder) AddImm64

func (mr *MockMutatorMockRecorder) AddImm64(arg0, arg1, arg2 interface{}) *gomock.Call

AddImm64 indicates an expected call of AddImm64.

func (*MockMutatorMockRecorder) And

func (mr *MockMutatorMockRecorder) And(arg0, arg1, arg2 interface{}) *gomock.Call

And indicates an expected call of And.

func (*MockMutatorMockRecorder) AndImm

func (mr *MockMutatorMockRecorder) AndImm(arg0, arg1, arg2 interface{}) *gomock.Call

AndImm indicates an expected call of AndImm.

func (*MockMutatorMockRecorder) BranchEq

func (mr *MockMutatorMockRecorder) BranchEq(arg0, arg1, arg2 interface{}) *gomock.Call

BranchEq indicates an expected call of BranchEq.

func (*MockMutatorMockRecorder) BranchEqImm

func (mr *MockMutatorMockRecorder) BranchEqImm(arg0, arg1, arg2 interface{}) *gomock.Call

BranchEqImm indicates an expected call of BranchEqImm.

func (*MockMutatorMockRecorder) BranchGreaterOrEqualSigned

func (mr *MockMutatorMockRecorder) BranchGreaterOrEqualSigned(arg0, arg1, arg2 interface{}) *gomock.Call

BranchGreaterOrEqualSigned indicates an expected call of BranchGreaterOrEqualSigned.

func (*MockMutatorMockRecorder) BranchGreaterOrEqualSignedImm

func (mr *MockMutatorMockRecorder) BranchGreaterOrEqualSignedImm(arg0, arg1, arg2 interface{}) *gomock.Call

BranchGreaterOrEqualSignedImm indicates an expected call of BranchGreaterOrEqualSignedImm.

func (*MockMutatorMockRecorder) BranchGreaterOrEqualUnsigned

func (mr *MockMutatorMockRecorder) BranchGreaterOrEqualUnsigned(arg0, arg1, arg2 interface{}) *gomock.Call

BranchGreaterOrEqualUnsigned indicates an expected call of BranchGreaterOrEqualUnsigned.

func (*MockMutatorMockRecorder) BranchGreaterOrEqualUnsignedImm

func (mr *MockMutatorMockRecorder) BranchGreaterOrEqualUnsignedImm(arg0, arg1, arg2 interface{}) *gomock.Call

BranchGreaterOrEqualUnsignedImm indicates an expected call of BranchGreaterOrEqualUnsignedImm.

func (*MockMutatorMockRecorder) BranchGreaterSignedImm

func (mr *MockMutatorMockRecorder) BranchGreaterSignedImm(arg0, arg1, arg2 interface{}) *gomock.Call

BranchGreaterSignedImm indicates an expected call of BranchGreaterSignedImm.

func (*MockMutatorMockRecorder) BranchGreaterUnsignedImm

func (mr *MockMutatorMockRecorder) BranchGreaterUnsignedImm(arg0, arg1, arg2 interface{}) *gomock.Call

BranchGreaterUnsignedImm indicates an expected call of BranchGreaterUnsignedImm.

func (*MockMutatorMockRecorder) BranchLessOrEqualSignedImm

func (mr *MockMutatorMockRecorder) BranchLessOrEqualSignedImm(arg0, arg1, arg2 interface{}) *gomock.Call

BranchLessOrEqualSignedImm indicates an expected call of BranchLessOrEqualSignedImm.

func (*MockMutatorMockRecorder) BranchLessOrEqualUnsignedImm

func (mr *MockMutatorMockRecorder) BranchLessOrEqualUnsignedImm(arg0, arg1, arg2 interface{}) *gomock.Call

BranchLessOrEqualUnsignedImm indicates an expected call of BranchLessOrEqualUnsignedImm.

func (*MockMutatorMockRecorder) BranchLessSigned

func (mr *MockMutatorMockRecorder) BranchLessSigned(arg0, arg1, arg2 interface{}) *gomock.Call

BranchLessSigned indicates an expected call of BranchLessSigned.

func (*MockMutatorMockRecorder) BranchLessSignedImm

func (mr *MockMutatorMockRecorder) BranchLessSignedImm(arg0, arg1, arg2 interface{}) *gomock.Call

BranchLessSignedImm indicates an expected call of BranchLessSignedImm.

func (*MockMutatorMockRecorder) BranchLessUnsigned

func (mr *MockMutatorMockRecorder) BranchLessUnsigned(arg0, arg1, arg2 interface{}) *gomock.Call

BranchLessUnsigned indicates an expected call of BranchLessUnsigned.

func (*MockMutatorMockRecorder) BranchLessUnsignedImm

func (mr *MockMutatorMockRecorder) BranchLessUnsignedImm(arg0, arg1, arg2 interface{}) *gomock.Call

BranchLessUnsignedImm indicates an expected call of BranchLessUnsignedImm.

func (*MockMutatorMockRecorder) BranchNotEq

func (mr *MockMutatorMockRecorder) BranchNotEq(arg0, arg1, arg2 interface{}) *gomock.Call

BranchNotEq indicates an expected call of BranchNotEq.

func (*MockMutatorMockRecorder) BranchNotEqImm

func (mr *MockMutatorMockRecorder) BranchNotEqImm(arg0, arg1, arg2 interface{}) *gomock.Call

BranchNotEqImm indicates an expected call of BranchNotEqImm.

func (*MockMutatorMockRecorder) CmovIfNotZero

func (mr *MockMutatorMockRecorder) CmovIfNotZero(arg0, arg1, arg2 interface{}) *gomock.Call

CmovIfNotZero indicates an expected call of CmovIfNotZero.

func (*MockMutatorMockRecorder) CmovIfNotZeroImm

func (mr *MockMutatorMockRecorder) CmovIfNotZeroImm(arg0, arg1, arg2 interface{}) *gomock.Call

CmovIfNotZeroImm indicates an expected call of CmovIfNotZeroImm.

func (*MockMutatorMockRecorder) CmovIfZero

func (mr *MockMutatorMockRecorder) CmovIfZero(arg0, arg1, arg2 interface{}) *gomock.Call

CmovIfZero indicates an expected call of CmovIfZero.

func (*MockMutatorMockRecorder) CmovIfZeroImm

func (mr *MockMutatorMockRecorder) CmovIfZeroImm(arg0, arg1, arg2 interface{}) *gomock.Call

CmovIfZeroImm indicates an expected call of CmovIfZeroImm.

func (*MockMutatorMockRecorder) DivSigned32

func (mr *MockMutatorMockRecorder) DivSigned32(arg0, arg1, arg2 interface{}) *gomock.Call

DivSigned32 indicates an expected call of DivSigned32.

func (*MockMutatorMockRecorder) DivSigned64

func (mr *MockMutatorMockRecorder) DivSigned64(arg0, arg1, arg2 interface{}) *gomock.Call

DivSigned64 indicates an expected call of DivSigned64.

func (*MockMutatorMockRecorder) DivUnsigned32

func (mr *MockMutatorMockRecorder) DivUnsigned32(arg0, arg1, arg2 interface{}) *gomock.Call

DivUnsigned32 indicates an expected call of DivUnsigned32.

func (*MockMutatorMockRecorder) DivUnsigned64

func (mr *MockMutatorMockRecorder) DivUnsigned64(arg0, arg1, arg2 interface{}) *gomock.Call

DivUnsigned64 indicates an expected call of DivUnsigned64.

func (*MockMutatorMockRecorder) Fallthrough

func (mr *MockMutatorMockRecorder) Fallthrough() *gomock.Call

Fallthrough indicates an expected call of Fallthrough.

func (*MockMutatorMockRecorder) Jump

func (mr *MockMutatorMockRecorder) Jump(arg0 interface{}) *gomock.Call

Jump indicates an expected call of Jump.

func (*MockMutatorMockRecorder) JumpIndirect

func (mr *MockMutatorMockRecorder) JumpIndirect(arg0, arg1 interface{}) *gomock.Call

JumpIndirect indicates an expected call of JumpIndirect.

func (*MockMutatorMockRecorder) LoadI16

func (mr *MockMutatorMockRecorder) LoadI16(arg0, arg1 interface{}) *gomock.Call

LoadI16 indicates an expected call of LoadI16.

func (*MockMutatorMockRecorder) LoadI32

func (mr *MockMutatorMockRecorder) LoadI32(arg0, arg1 interface{}) *gomock.Call

LoadI32 indicates an expected call of LoadI32.

func (*MockMutatorMockRecorder) LoadI8

func (mr *MockMutatorMockRecorder) LoadI8(arg0, arg1 interface{}) *gomock.Call

LoadI8 indicates an expected call of LoadI8.

func (*MockMutatorMockRecorder) LoadImm

func (mr *MockMutatorMockRecorder) LoadImm(arg0, arg1 interface{}) *gomock.Call

LoadImm indicates an expected call of LoadImm.

func (*MockMutatorMockRecorder) LoadImm64

func (mr *MockMutatorMockRecorder) LoadImm64(arg0, arg1 interface{}) *gomock.Call

LoadImm64 indicates an expected call of LoadImm64.

func (*MockMutatorMockRecorder) LoadImmAndJump

func (mr *MockMutatorMockRecorder) LoadImmAndJump(arg0, arg1, arg2 interface{}) *gomock.Call

LoadImmAndJump indicates an expected call of LoadImmAndJump.

func (*MockMutatorMockRecorder) LoadImmAndJumpIndirect

func (mr *MockMutatorMockRecorder) LoadImmAndJumpIndirect(arg0, arg1, arg2, arg3 interface{}) *gomock.Call

LoadImmAndJumpIndirect indicates an expected call of LoadImmAndJumpIndirect.

func (*MockMutatorMockRecorder) LoadIndirectI16

func (mr *MockMutatorMockRecorder) LoadIndirectI16(arg0, arg1, arg2 interface{}) *gomock.Call

LoadIndirectI16 indicates an expected call of LoadIndirectI16.

func (*MockMutatorMockRecorder) LoadIndirectI32

func (mr *MockMutatorMockRecorder) LoadIndirectI32(arg0, arg1, arg2 interface{}) *gomock.Call

LoadIndirectI32 indicates an expected call of LoadIndirectI32.

func (*MockMutatorMockRecorder) LoadIndirectI8

func (mr *MockMutatorMockRecorder) LoadIndirectI8(arg0, arg1, arg2 interface{}) *gomock.Call

LoadIndirectI8 indicates an expected call of LoadIndirectI8.

func (*MockMutatorMockRecorder) LoadIndirectU16

func (mr *MockMutatorMockRecorder) LoadIndirectU16(arg0, arg1, arg2 interface{}) *gomock.Call

LoadIndirectU16 indicates an expected call of LoadIndirectU16.

func (*MockMutatorMockRecorder) LoadIndirectU32

func (mr *MockMutatorMockRecorder) LoadIndirectU32(arg0, arg1, arg2 interface{}) *gomock.Call

LoadIndirectU32 indicates an expected call of LoadIndirectU32.

func (*MockMutatorMockRecorder) LoadIndirectU64

func (mr *MockMutatorMockRecorder) LoadIndirectU64(arg0, arg1, arg2 interface{}) *gomock.Call

LoadIndirectU64 indicates an expected call of LoadIndirectU64.

func (*MockMutatorMockRecorder) LoadIndirectU8

func (mr *MockMutatorMockRecorder) LoadIndirectU8(arg0, arg1, arg2 interface{}) *gomock.Call

LoadIndirectU8 indicates an expected call of LoadIndirectU8.

func (*MockMutatorMockRecorder) LoadU16

func (mr *MockMutatorMockRecorder) LoadU16(arg0, arg1 interface{}) *gomock.Call

LoadU16 indicates an expected call of LoadU16.

func (*MockMutatorMockRecorder) LoadU32

func (mr *MockMutatorMockRecorder) LoadU32(arg0, arg1 interface{}) *gomock.Call

LoadU32 indicates an expected call of LoadU32.

func (*MockMutatorMockRecorder) LoadU64

func (mr *MockMutatorMockRecorder) LoadU64(arg0, arg1 interface{}) *gomock.Call

LoadU64 indicates an expected call of LoadU64.

func (*MockMutatorMockRecorder) LoadU8

func (mr *MockMutatorMockRecorder) LoadU8(arg0, arg1 interface{}) *gomock.Call

LoadU8 indicates an expected call of LoadU8.

func (*MockMutatorMockRecorder) MoveReg

func (mr *MockMutatorMockRecorder) MoveReg(arg0, arg1 interface{}) *gomock.Call

MoveReg indicates an expected call of MoveReg.

func (*MockMutatorMockRecorder) Mul32

func (mr *MockMutatorMockRecorder) Mul32(arg0, arg1, arg2 interface{}) *gomock.Call

Mul32 indicates an expected call of Mul32.

func (*MockMutatorMockRecorder) Mul64

func (mr *MockMutatorMockRecorder) Mul64(arg0, arg1, arg2 interface{}) *gomock.Call

Mul64 indicates an expected call of Mul64.

func (*MockMutatorMockRecorder) MulImm32

func (mr *MockMutatorMockRecorder) MulImm32(arg0, arg1, arg2 interface{}) *gomock.Call

MulImm32 indicates an expected call of MulImm32.

func (*MockMutatorMockRecorder) MulImm64

func (mr *MockMutatorMockRecorder) MulImm64(arg0, arg1, arg2 interface{}) *gomock.Call

MulImm64 indicates an expected call of MulImm64.

func (*MockMutatorMockRecorder) MulUpperSignedSigned

func (mr *MockMutatorMockRecorder) MulUpperSignedSigned(arg0, arg1, arg2 interface{}) *gomock.Call

MulUpperSignedSigned indicates an expected call of MulUpperSignedSigned.

func (*MockMutatorMockRecorder) MulUpperSignedUnsigned

func (mr *MockMutatorMockRecorder) MulUpperSignedUnsigned(arg0, arg1, arg2 interface{}) *gomock.Call

MulUpperSignedUnsigned indicates an expected call of MulUpperSignedUnsigned.

func (*MockMutatorMockRecorder) MulUpperUnsignedUnsigned

func (mr *MockMutatorMockRecorder) MulUpperUnsignedUnsigned(arg0, arg1, arg2 interface{}) *gomock.Call

MulUpperUnsignedUnsigned indicates an expected call of MulUpperUnsignedUnsigned.

func (*MockMutatorMockRecorder) NegateAndAddImm32

func (mr *MockMutatorMockRecorder) NegateAndAddImm32(arg0, arg1, arg2 interface{}) *gomock.Call

NegateAndAddImm32 indicates an expected call of NegateAndAddImm32.

func (*MockMutatorMockRecorder) NegateAndAddImm64

func (mr *MockMutatorMockRecorder) NegateAndAddImm64(arg0, arg1, arg2 interface{}) *gomock.Call

NegateAndAddImm64 indicates an expected call of NegateAndAddImm64.

func (*MockMutatorMockRecorder) Or

func (mr *MockMutatorMockRecorder) Or(arg0, arg1, arg2 interface{}) *gomock.Call

Or indicates an expected call of Or.

func (*MockMutatorMockRecorder) OrImm

func (mr *MockMutatorMockRecorder) OrImm(arg0, arg1, arg2 interface{}) *gomock.Call

OrImm indicates an expected call of OrImm.

func (*MockMutatorMockRecorder) RemSigned32

func (mr *MockMutatorMockRecorder) RemSigned32(arg0, arg1, arg2 interface{}) *gomock.Call

RemSigned32 indicates an expected call of RemSigned32.

func (*MockMutatorMockRecorder) RemSigned64

func (mr *MockMutatorMockRecorder) RemSigned64(arg0, arg1, arg2 interface{}) *gomock.Call

RemSigned64 indicates an expected call of RemSigned64.

func (*MockMutatorMockRecorder) RemUnsigned32

func (mr *MockMutatorMockRecorder) RemUnsigned32(arg0, arg1, arg2 interface{}) *gomock.Call

RemUnsigned32 indicates an expected call of RemUnsigned32.

func (*MockMutatorMockRecorder) RemUnsigned64

func (mr *MockMutatorMockRecorder) RemUnsigned64(arg0, arg1, arg2 interface{}) *gomock.Call

RemUnsigned64 indicates an expected call of RemUnsigned64.

func (*MockMutatorMockRecorder) Sbrk

func (mr *MockMutatorMockRecorder) Sbrk(arg0, arg1 interface{}) *gomock.Call

Sbrk indicates an expected call of Sbrk.

func (*MockMutatorMockRecorder) SetGreaterThanSignedImm

func (mr *MockMutatorMockRecorder) SetGreaterThanSignedImm(arg0, arg1, arg2 interface{}) *gomock.Call

SetGreaterThanSignedImm indicates an expected call of SetGreaterThanSignedImm.

func (*MockMutatorMockRecorder) SetGreaterThanUnsignedImm

func (mr *MockMutatorMockRecorder) SetGreaterThanUnsignedImm(arg0, arg1, arg2 interface{}) *gomock.Call

SetGreaterThanUnsignedImm indicates an expected call of SetGreaterThanUnsignedImm.

func (*MockMutatorMockRecorder) SetLessThanSigned

func (mr *MockMutatorMockRecorder) SetLessThanSigned(arg0, arg1, arg2 interface{}) *gomock.Call

SetLessThanSigned indicates an expected call of SetLessThanSigned.

func (*MockMutatorMockRecorder) SetLessThanSignedImm

func (mr *MockMutatorMockRecorder) SetLessThanSignedImm(arg0, arg1, arg2 interface{}) *gomock.Call

SetLessThanSignedImm indicates an expected call of SetLessThanSignedImm.

func (*MockMutatorMockRecorder) SetLessThanUnsigned

func (mr *MockMutatorMockRecorder) SetLessThanUnsigned(arg0, arg1, arg2 interface{}) *gomock.Call

SetLessThanUnsigned indicates an expected call of SetLessThanUnsigned.

func (*MockMutatorMockRecorder) SetLessThanUnsignedImm

func (mr *MockMutatorMockRecorder) SetLessThanUnsignedImm(arg0, arg1, arg2 interface{}) *gomock.Call

SetLessThanUnsignedImm indicates an expected call of SetLessThanUnsignedImm.

func (*MockMutatorMockRecorder) ShiftArithmeticRight32

func (mr *MockMutatorMockRecorder) ShiftArithmeticRight32(arg0, arg1, arg2 interface{}) *gomock.Call

ShiftArithmeticRight32 indicates an expected call of ShiftArithmeticRight32.

func (*MockMutatorMockRecorder) ShiftArithmeticRight64

func (mr *MockMutatorMockRecorder) ShiftArithmeticRight64(arg0, arg1, arg2 interface{}) *gomock.Call

ShiftArithmeticRight64 indicates an expected call of ShiftArithmeticRight64.

func (*MockMutatorMockRecorder) ShiftArithmeticRightImm32

func (mr *MockMutatorMockRecorder) ShiftArithmeticRightImm32(arg0, arg1, arg2 interface{}) *gomock.Call

ShiftArithmeticRightImm32 indicates an expected call of ShiftArithmeticRightImm32.

func (*MockMutatorMockRecorder) ShiftArithmeticRightImm64

func (mr *MockMutatorMockRecorder) ShiftArithmeticRightImm64(arg0, arg1, arg2 interface{}) *gomock.Call

ShiftArithmeticRightImm64 indicates an expected call of ShiftArithmeticRightImm64.

func (*MockMutatorMockRecorder) ShiftArithmeticRightImmAlt32

func (mr *MockMutatorMockRecorder) ShiftArithmeticRightImmAlt32(arg0, arg1, arg2 interface{}) *gomock.Call

ShiftArithmeticRightImmAlt32 indicates an expected call of ShiftArithmeticRightImmAlt32.

func (*MockMutatorMockRecorder) ShiftArithmeticRightImmAlt64

func (mr *MockMutatorMockRecorder) ShiftArithmeticRightImmAlt64(arg0, arg1, arg2 interface{}) *gomock.Call

ShiftArithmeticRightImmAlt64 indicates an expected call of ShiftArithmeticRightImmAlt64.

func (*MockMutatorMockRecorder) ShiftLogicalLeft32

func (mr *MockMutatorMockRecorder) ShiftLogicalLeft32(arg0, arg1, arg2 interface{}) *gomock.Call

ShiftLogicalLeft32 indicates an expected call of ShiftLogicalLeft32.

func (*MockMutatorMockRecorder) ShiftLogicalLeft64

func (mr *MockMutatorMockRecorder) ShiftLogicalLeft64(arg0, arg1, arg2 interface{}) *gomock.Call

ShiftLogicalLeft64 indicates an expected call of ShiftLogicalLeft64.

func (*MockMutatorMockRecorder) ShiftLogicalLeftImm32

func (mr *MockMutatorMockRecorder) ShiftLogicalLeftImm32(arg0, arg1, arg2 interface{}) *gomock.Call

ShiftLogicalLeftImm32 indicates an expected call of ShiftLogicalLeftImm32.

func (*MockMutatorMockRecorder) ShiftLogicalLeftImm64

func (mr *MockMutatorMockRecorder) ShiftLogicalLeftImm64(arg0, arg1, arg2 interface{}) *gomock.Call

ShiftLogicalLeftImm64 indicates an expected call of ShiftLogicalLeftImm64.

func (*MockMutatorMockRecorder) ShiftLogicalLeftImmAlt32

func (mr *MockMutatorMockRecorder) ShiftLogicalLeftImmAlt32(arg0, arg1, arg2 interface{}) *gomock.Call

ShiftLogicalLeftImmAlt32 indicates an expected call of ShiftLogicalLeftImmAlt32.

func (*MockMutatorMockRecorder) ShiftLogicalLeftImmAlt64

func (mr *MockMutatorMockRecorder) ShiftLogicalLeftImmAlt64(arg0, arg1, arg2 interface{}) *gomock.Call

ShiftLogicalLeftImmAlt64 indicates an expected call of ShiftLogicalLeftImmAlt64.

func (*MockMutatorMockRecorder) ShiftLogicalRight32

func (mr *MockMutatorMockRecorder) ShiftLogicalRight32(arg0, arg1, arg2 interface{}) *gomock.Call

ShiftLogicalRight32 indicates an expected call of ShiftLogicalRight32.

func (*MockMutatorMockRecorder) ShiftLogicalRight64

func (mr *MockMutatorMockRecorder) ShiftLogicalRight64(arg0, arg1, arg2 interface{}) *gomock.Call

ShiftLogicalRight64 indicates an expected call of ShiftLogicalRight64.

func (*MockMutatorMockRecorder) ShiftLogicalRightImm32

func (mr *MockMutatorMockRecorder) ShiftLogicalRightImm32(arg0, arg1, arg2 interface{}) *gomock.Call

ShiftLogicalRightImm32 indicates an expected call of ShiftLogicalRightImm32.

func (*MockMutatorMockRecorder) ShiftLogicalRightImm64

func (mr *MockMutatorMockRecorder) ShiftLogicalRightImm64(arg0, arg1, arg2 interface{}) *gomock.Call

ShiftLogicalRightImm64 indicates an expected call of ShiftLogicalRightImm64.

func (*MockMutatorMockRecorder) ShiftLogicalRightImmAlt32

func (mr *MockMutatorMockRecorder) ShiftLogicalRightImmAlt32(arg0, arg1, arg2 interface{}) *gomock.Call

ShiftLogicalRightImmAlt32 indicates an expected call of ShiftLogicalRightImmAlt32.

func (*MockMutatorMockRecorder) ShiftLogicalRightImmAlt64

func (mr *MockMutatorMockRecorder) ShiftLogicalRightImmAlt64(arg0, arg1, arg2 interface{}) *gomock.Call

ShiftLogicalRightImmAlt64 indicates an expected call of ShiftLogicalRightImmAlt64.

func (*MockMutatorMockRecorder) StoreImmIndirectU16

func (mr *MockMutatorMockRecorder) StoreImmIndirectU16(arg0, arg1, arg2 interface{}) *gomock.Call

StoreImmIndirectU16 indicates an expected call of StoreImmIndirectU16.

func (*MockMutatorMockRecorder) StoreImmIndirectU32

func (mr *MockMutatorMockRecorder) StoreImmIndirectU32(arg0, arg1, arg2 interface{}) *gomock.Call

StoreImmIndirectU32 indicates an expected call of StoreImmIndirectU32.

func (*MockMutatorMockRecorder) StoreImmIndirectU64

func (mr *MockMutatorMockRecorder) StoreImmIndirectU64(arg0, arg1, arg2 interface{}) *gomock.Call

StoreImmIndirectU64 indicates an expected call of StoreImmIndirectU64.

func (*MockMutatorMockRecorder) StoreImmIndirectU8

func (mr *MockMutatorMockRecorder) StoreImmIndirectU8(arg0, arg1, arg2 interface{}) *gomock.Call

StoreImmIndirectU8 indicates an expected call of StoreImmIndirectU8.

func (*MockMutatorMockRecorder) StoreImmU16

func (mr *MockMutatorMockRecorder) StoreImmU16(arg0, arg1 interface{}) *gomock.Call

StoreImmU16 indicates an expected call of StoreImmU16.

func (*MockMutatorMockRecorder) StoreImmU32

func (mr *MockMutatorMockRecorder) StoreImmU32(arg0, arg1 interface{}) *gomock.Call

StoreImmU32 indicates an expected call of StoreImmU32.

func (*MockMutatorMockRecorder) StoreImmU64

func (mr *MockMutatorMockRecorder) StoreImmU64(arg0, arg1 interface{}) *gomock.Call

StoreImmU64 indicates an expected call of StoreImmU64.

func (*MockMutatorMockRecorder) StoreImmU8

func (mr *MockMutatorMockRecorder) StoreImmU8(arg0, arg1 interface{}) *gomock.Call

StoreImmU8 indicates an expected call of StoreImmU8.

func (*MockMutatorMockRecorder) StoreIndirectU16

func (mr *MockMutatorMockRecorder) StoreIndirectU16(arg0, arg1, arg2 interface{}) *gomock.Call

StoreIndirectU16 indicates an expected call of StoreIndirectU16.

func (*MockMutatorMockRecorder) StoreIndirectU32

func (mr *MockMutatorMockRecorder) StoreIndirectU32(arg0, arg1, arg2 interface{}) *gomock.Call

StoreIndirectU32 indicates an expected call of StoreIndirectU32.

func (*MockMutatorMockRecorder) StoreIndirectU64

func (mr *MockMutatorMockRecorder) StoreIndirectU64(arg0, arg1, arg2 interface{}) *gomock.Call

StoreIndirectU64 indicates an expected call of StoreIndirectU64.

func (*MockMutatorMockRecorder) StoreIndirectU8

func (mr *MockMutatorMockRecorder) StoreIndirectU8(arg0, arg1, arg2 interface{}) *gomock.Call

StoreIndirectU8 indicates an expected call of StoreIndirectU8.

func (*MockMutatorMockRecorder) StoreU16

func (mr *MockMutatorMockRecorder) StoreU16(arg0, arg1 interface{}) *gomock.Call

StoreU16 indicates an expected call of StoreU16.

func (*MockMutatorMockRecorder) StoreU32

func (mr *MockMutatorMockRecorder) StoreU32(arg0, arg1 interface{}) *gomock.Call

StoreU32 indicates an expected call of StoreU32.

func (*MockMutatorMockRecorder) StoreU64

func (mr *MockMutatorMockRecorder) StoreU64(arg0, arg1 interface{}) *gomock.Call

StoreU64 indicates an expected call of StoreU64.

func (*MockMutatorMockRecorder) StoreU8

func (mr *MockMutatorMockRecorder) StoreU8(arg0, arg1 interface{}) *gomock.Call

StoreU8 indicates an expected call of StoreU8.

func (*MockMutatorMockRecorder) Sub32

func (mr *MockMutatorMockRecorder) Sub32(arg0, arg1, arg2 interface{}) *gomock.Call

Sub32 indicates an expected call of Sub32.

func (*MockMutatorMockRecorder) Sub64

func (mr *MockMutatorMockRecorder) Sub64(arg0, arg1, arg2 interface{}) *gomock.Call

Sub64 indicates an expected call of Sub64.

func (*MockMutatorMockRecorder) Trap

func (mr *MockMutatorMockRecorder) Trap() *gomock.Call

Trap indicates an expected call of Trap.

func (*MockMutatorMockRecorder) Xor

func (mr *MockMutatorMockRecorder) Xor(arg0, arg1, arg2 interface{}) *gomock.Call

Xor indicates an expected call of Xor.

func (*MockMutatorMockRecorder) XorImm

func (mr *MockMutatorMockRecorder) XorImm(arg0, arg1, arg2 interface{}) *gomock.Call

XorImm indicates an expected call of XorImm.

type Mutator

type Mutator interface {
	Trap() error
	Fallthrough()
	Sbrk(dst Reg, size Reg) error
	MoveReg(d Reg, s Reg)
	BranchEq(s1 Reg, s2 Reg, target uint32)
	BranchEqImm(s1 Reg, s2 uint32, target uint32)
	BranchNotEq(s1 Reg, s2 Reg, target uint32)
	BranchNotEqImm(s1 Reg, s2 uint32, target uint32)
	BranchLessUnsigned(s1 Reg, s2 Reg, target uint32)
	BranchLessUnsignedImm(s1 Reg, s2 uint32, target uint32)
	BranchLessSigned(s1 Reg, s2 Reg, target uint32)
	BranchLessSignedImm(s1 Reg, s2 uint32, target uint32)
	BranchGreaterOrEqualUnsigned(s1 Reg, s2 Reg, target uint32)
	BranchGreaterOrEqualUnsignedImm(s1 Reg, s2 uint32, target uint32)
	BranchGreaterOrEqualSigned(s1 Reg, s2 Reg, target uint32)
	BranchGreaterOrEqualSignedImm(s1 Reg, s2 uint32, target uint32)
	BranchLessOrEqualUnsignedImm(s1 Reg, s2 uint32, target uint32)
	BranchLessOrEqualSignedImm(s1 Reg, s2 uint32, target uint32)
	BranchGreaterUnsignedImm(s1 Reg, s2 uint32, target uint32)
	BranchGreaterSignedImm(s1 Reg, s2 uint32, target uint32)
	SetLessThanUnsignedImm(d Reg, s1 Reg, s2 uint32)
	SetLessThanSignedImm(d Reg, s1 Reg, s2 uint32)
	ShiftLogicalLeftImm32(d Reg, s1 Reg, s2 uint32)
	ShiftLogicalLeftImm64(d Reg, s1 Reg, s2 uint32)
	ShiftArithmeticRightImm32(d Reg, s1 Reg, s2 uint32)
	ShiftArithmeticRightImm64(d Reg, s1 Reg, s2 uint32)
	ShiftArithmeticRightImmAlt32(d Reg, s1 Reg, s2 uint32)
	ShiftArithmeticRightImmAlt64(d Reg, s1 Reg, s2 uint32)
	NegateAndAddImm32(d Reg, s1 Reg, s2 uint32)
	NegateAndAddImm64(d Reg, s1 Reg, s2 uint32)
	SetGreaterThanUnsignedImm(d Reg, s1 Reg, s2 uint32)
	SetGreaterThanSignedImm(d Reg, s1 Reg, s2 uint32)
	ShiftLogicalRightImmAlt32(d Reg, s1 Reg, s2 uint32)
	ShiftLogicalRightImmAlt64(d Reg, s1 Reg, s2 uint32)
	ShiftLogicalLeftImmAlt32(d Reg, s1 Reg, s2 uint32)
	ShiftLogicalLeftImmAlt64(d Reg, s1 Reg, s2 uint32)
	Add32(d Reg, s1, s2 Reg)
	Add64(d Reg, s1, s2 Reg)
	AddImm32(d Reg, s1 Reg, s2 uint32)
	AddImm64(d Reg, s1 Reg, s2 uint32)
	Sub32(d Reg, s1, s2 Reg)
	Sub64(d Reg, s1, s2 Reg)
	And(d Reg, s1, s2 Reg)
	AndImm(d Reg, s1 Reg, s2 uint32)
	Xor(d Reg, s1, s2 Reg)
	XorImm(d Reg, s1 Reg, s2 uint32)
	Or(d Reg, s1, s2 Reg)
	OrImm(d Reg, s1 Reg, s2 uint32)
	Mul32(d Reg, s1, s2 Reg)
	Mul64(d Reg, s1, s2 Reg)
	MulImm32(d Reg, s1 Reg, s2 uint32)
	MulImm64(d Reg, s1 Reg, s2 uint32)
	MulUpperSignedSigned(d Reg, s1, s2 Reg)
	MulUpperUnsignedUnsigned(d Reg, s1, s2 Reg)
	MulUpperSignedUnsigned(d Reg, s1, s2 Reg)
	SetLessThanUnsigned(d Reg, s1, s2 Reg)
	SetLessThanSigned(d Reg, s1, s2 Reg)
	ShiftLogicalLeft32(d Reg, s1, s2 Reg)
	ShiftLogicalLeft64(d Reg, s1, s2 Reg)
	ShiftLogicalRight32(d Reg, s1, s2 Reg)
	ShiftLogicalRight64(d Reg, s1, s2 Reg)
	ShiftLogicalRightImm32(d Reg, s1 Reg, s2 uint32)
	ShiftLogicalRightImm64(d Reg, s1 Reg, s2 uint32)
	ShiftArithmeticRight32(d Reg, s1, s2 Reg)
	ShiftArithmeticRight64(d Reg, s1, s2 Reg)
	DivUnsigned32(d Reg, s1, s2 Reg)
	DivUnsigned64(d Reg, s1, s2 Reg)
	DivSigned32(d Reg, s1, s2 Reg)
	DivSigned64(d Reg, s1, s2 Reg)
	RemUnsigned32(d Reg, s1, s2 Reg)
	RemUnsigned64(d Reg, s1, s2 Reg)
	RemSigned32(d Reg, s1, s2 Reg)
	RemSigned64(d Reg, s1, s2 Reg)
	CmovIfZero(d Reg, s, c Reg)
	CmovIfZeroImm(d Reg, c Reg, s uint32)
	CmovIfNotZero(d Reg, s, c Reg)
	CmovIfNotZeroImm(d Reg, c Reg, s uint32)
	StoreU8(src Reg, offset uint32) error
	StoreU16(src Reg, offset uint32) error
	StoreU32(src Reg, offset uint32) error
	StoreU64(src Reg, offset uint32) error
	StoreImmU8(offset uint32, value uint32) error
	StoreImmU16(offset uint32, value uint32) error
	StoreImmU32(offset uint32, value uint32) error
	StoreImmU64(offset uint32, value uint32) error
	StoreImmIndirectU8(base Reg, offset uint32, value uint32) error
	StoreImmIndirectU16(base Reg, offset uint32, value uint32) error
	StoreImmIndirectU32(base Reg, offset uint32, value uint32) error
	StoreImmIndirectU64(base Reg, offset uint32, value uint32) error
	StoreIndirectU8(src Reg, base Reg, offset uint32) error
	StoreIndirectU16(src Reg, base Reg, offset uint32) error
	StoreIndirectU32(src Reg, base Reg, offset uint32) error
	StoreIndirectU64(src Reg, base Reg, offset uint32) error
	LoadU8(dst Reg, offset uint32) error
	LoadI8(dst Reg, offset uint32) error
	LoadU16(dst Reg, offset uint32) error
	LoadI16(dst Reg, offset uint32) error
	LoadU32(dst Reg, offset uint32) error
	LoadI32(dst Reg, offset uint32) error
	LoadU64(dst Reg, offset uint32) error
	LoadIndirectU8(dst Reg, base Reg, offset uint32) error
	LoadIndirectI8(dst Reg, base Reg, offset uint32) error
	LoadIndirectU16(dst Reg, base Reg, offset uint32) error
	LoadIndirectI16(dst Reg, base Reg, offset uint32) error
	LoadIndirectU32(dst Reg, base Reg, offset uint32) error
	LoadIndirectI32(dst Reg, base Reg, offset uint32) error
	LoadIndirectU64(dst Reg, base Reg, offset uint32) error
	LoadImm(dst Reg, imm uint32)
	LoadImm64(dst Reg, imm uint64)
	LoadImmAndJump(ra Reg, value uint32, target uint32)
	LoadImmAndJumpIndirect(ra Reg, base Reg, value, offset uint32) error
	Jump(target uint32)
	JumpIndirect(base Reg, offset uint32) error
}

type Opcode

type Opcode byte
const (
	// A.5.1. Instructions without Arguments
	Trap        Opcode = 0  // trap = 0
	Fallthrough Opcode = 17 // fallthrough = 1

	// A.5.2. Instructions with Arguments of One Immediate.
	Ecalli Opcode = 78 // ecalli = 10

	// A.5.3. Instructions with Arguments of One Register and One Extended Width Immediate.
	LoadImm64 = 255 - 20 // load_imm_64 = 20

	// A.5.4. Instructions with Arguments of Two Immediates.
	StoreImmU8  Opcode = 62       // store_imm_u8 = 30
	StoreImmU16 Opcode = 79       // store_imm_u16 = 31
	StoreImmU32 Opcode = 38       // store_imm_u32 = 32
	StoreImmU64 Opcode = 255 - 33 // store_imm_u64 = 33

	// A.5.5. Instructions with Arguments of One Offset.
	Jump Opcode = 5

	// A.5.6. Instructions with Arguments of One Register & One Immediate.
	JumpIndirect Opcode = 19       // jump_ind = 50
	LoadImm      Opcode = 4        // load_imm = 51
	LoadU8       Opcode = 60       // load_u8 = 52
	LoadI8       Opcode = 74       // load_i8 = 53
	LoadU16      Opcode = 76       // load_u16 = 54
	LoadI16      Opcode = 66       // load_i16 = 55
	LoadU32      Opcode = 10       // load_u32 = 56
	LoadI32      Opcode = 255 - 57 // load_i32 = 57
	LoadU64      Opcode = 255 - 58 // load_u64 = 58
	StoreU8      Opcode = 71       // store_u8 = 59
	StoreU16     Opcode = 69       // store_u16 = 60
	StoreU32     Opcode = 22       // store_u32 = 61
	StoreU64     Opcode = 255 - 62 // store_u64 = 62

	// A.5.7. Instructions with Arguments of One Register & Two Immediates.
	StoreImmIndirectU8  Opcode = 26       // store_imm_ind_u8 = 70
	StoreImmIndirectU16 Opcode = 54       // store_imm_ind_u16 = 71
	StoreImmIndirectU32 Opcode = 13       // store_imm_ind_u32 = 72
	StoreImmIndirectU64 Opcode = 300 - 73 // store_imm_ind_u64 = 73 // todo fix opcode numbers

	// A.5.8. Instructions with Arguments of One Register, One Immediate and One Offset.
	LoadImmAndJump                  Opcode = 6  // load_imm_jump = 80
	BranchEqImm                     Opcode = 7  // branch_eq_imm = 81
	BranchNotEqImm                  Opcode = 15 // branch_ne_imm = 82
	BranchLessUnsignedImm           Opcode = 44 // branch_lt_u_imm = 83
	BranchLessOrEqualUnsignedImm    Opcode = 59 // branch_le_u_imm = 84
	BranchGreaterOrEqualUnsignedImm Opcode = 52 // branch_ge_u_imm = 85
	BranchGreaterUnsignedImm        Opcode = 50 // branch_gt_u_imm = 86
	BranchLessSignedImm             Opcode = 32 // branch_lt_s_imm = 87
	BranchLessOrEqualSignedImm      Opcode = 46 // branch_le_s_imm = 88
	BranchGreaterOrEqualSignedImm   Opcode = 45 // branch_ge_s_imm = 89
	BranchGreaterSignedImm          Opcode = 53 // branch_gt_s_imm = 90

	// A.5.9. Instructions with Arguments of Two Registers.
	MoveReg Opcode = 82 // move_reg = 100
	Sbrk    Opcode = 87 // sbrk = 101

	// A.5.10. Instructions with Arguments of Two Registers & One Immediate.
	StoreIndirectU8              Opcode = 16        // store_ind_u8 = 110
	StoreIndirectU16             Opcode = 29        // store_ind_u16 = 111
	StoreIndirectU32             Opcode = 3         // store_ind_u32 = 112
	StoreIndirectU64             Opcode = 350 - 113 // store_ind_u64 = 113 // todo fix opcode numbers
	LoadIndirectU8               Opcode = 11        // load_ind_u8 = 114
	LoadIndirectI8               Opcode = 21        // load_ind_i8 = 115
	LoadIndirectU16              Opcode = 37        // load_ind_u16 = 116
	LoadIndirectI16              Opcode = 33        // load_ind_i16 = 117
	LoadIndirectU32              Opcode = 1         // load_ind_u32 = 118
	LoadIndirectI32              Opcode = 255 - 119 // load_ind_i32 = 119
	LoadIndirectU64              Opcode = 255 - 120 // load_ind_u64 = 120
	AddImm32                     Opcode = 2         // add_imm_32 = 121
	AndImm                       Opcode = 18        // and_imm = 122
	XorImm                       Opcode = 31        // xor_imm = 123
	OrImm                        Opcode = 49        // or_imm = 124
	MulImm32                     Opcode = 35        // mul_imm_32 = 125
	SetLessThanUnsignedImm       Opcode = 27        // set_lt_u_imm = 126
	SetLessThanSignedImm         Opcode = 56        // set_lt_s_imm = 127
	ShiftLogicalLeftImm32        Opcode = 9         // shlo_l_imm_32 = 128
	ShiftLogicalRightImm32       Opcode = 14        // shlo_r_imm_32 = 129
	ShiftArithmeticRightImm32    Opcode = 25        // shar_r_imm_32 = 130
	NegateAndAddImm32            Opcode = 40        // neg_add_imm_32 = 131
	SetGreaterThanUnsignedImm    Opcode = 39        // set_gt_u_imm = 132
	SetGreaterThanSignedImm      Opcode = 61        // set_gt_s_imm = 133
	ShiftLogicalRightImmAlt32    Opcode = 72        // shlo_r_imm_alt_32 = 134
	ShiftArithmeticRightImmAlt32 Opcode = 80        // shar_r_imm_alt_32 = 135
	ShiftLogicalLeftImmAlt32     Opcode = 75        // shlo_l_imm_alt_32 = 136
	CmovIfZeroImm                Opcode = 85        // cmov_iz_imm = 137
	CmovIfNotZeroImm             Opcode = 86        // cmov_nz_imm = 138
	AddImm64                     Opcode = 139       // add_imm_64 = 139
	MulImm64                     Opcode = 140       // mul_imm_64 = 140
	ShiftLogicalLeftImm64        Opcode = 141       // shlo_l_imm_64 = 141
	ShiftLogicalRightImm64       Opcode = 142       // shlo_r_imm_64 = 142
	ShiftArithmeticRightImm64    Opcode = 143       // shar_r_imm_64 = 143
	NegateAndAddImm64            Opcode = 144       // neg_add_imm_64 = 144
	ShiftLogicalLeftImmAlt64     Opcode = 145       // shlo_l_imm_alt_64 = 145
	ShiftLogicalRightImmAlt64    Opcode = 146       // shlo_r_imm_alt_64 = 146
	ShiftArithmeticRightImmAlt64 Opcode = 147       // shar_r_imm_alt_64 = 147

	// A.5.11. Instructions with Arguments of Two Registers & One Offset.
	BranchEq                     Opcode = 24 // branch_eq = 150
	BranchNotEq                  Opcode = 30 // branch_ne = 151
	BranchLessUnsigned           Opcode = 47 // branch_lt_u = 152
	BranchLessSigned             Opcode = 48 // branch_lt_s = 153
	BranchGreaterOrEqualUnsigned Opcode = 41 // branch_ge_u = 154
	BranchGreaterOrEqualSigned   Opcode = 43 // branch_ge_s = 155

	// A.5.12. Instruction with Arguments of Two Registers and Two Immediates.
	LoadImmAndJumpIndirect Opcode = 42 // load_imm_jump_ind = 160

	// A.5.13. Instructions with Arguments of Three Registers.
	Add32                    Opcode = 8   // add_32 = 170
	Sub32                    Opcode = 20  // sub_32 = 171
	Mul32                    Opcode = 34  // mul_32 = 172
	DivUnsigned32            Opcode = 68  // div_u_32 = 173
	DivSigned32              Opcode = 64  // div_s_32 = 174
	RemUnsigned32            Opcode = 73  // rem_u_32 = 175
	RemSigned32              Opcode = 70  // rem_s_32 = 176
	ShiftLogicalLeft32       Opcode = 55  // shlo_l_32 = 177
	ShiftLogicalRight32      Opcode = 51  // shlo_r_32 = 178
	ShiftArithmeticRight32   Opcode = 77  // shar_r_32 = 179
	Add64                    Opcode = 180 // add_64 = 180
	Sub64                    Opcode = 181 // sub_64 = 181
	Mul64                    Opcode = 182 // mul_64 = 182
	DivUnsigned64            Opcode = 183 // div_u_64 = 183
	DivSigned64              Opcode = 184 // div_s_64 = 184
	RemUnsigned64            Opcode = 185 // rem_u_64 = 185
	RemSigned64              Opcode = 186 // rem_s_64 = 186
	ShiftLogicalLeft64       Opcode = 187 // shlo_l_64 = 187
	ShiftLogicalRight64      Opcode = 188 // shlo_r_64 = 188
	ShiftArithmeticRight64   Opcode = 189 // shar_r_64 = 189
	And                      Opcode = 23  // and = 190
	Xor                      Opcode = 28  // xor = 191
	Or                       Opcode = 12  // or = 192
	MulUpperSignedSigned     Opcode = 67  // mul_upper_s_s = 193
	MulUpperUnsignedUnsigned Opcode = 57  // mul_upper_u_u = 194
	MulUpperSignedUnsigned   Opcode = 81  // mul_upper_s_u = 195
	SetLessThanUnsigned      Opcode = 36  // set_lt_u = 196
	SetLessThanSigned        Opcode = 58  // set_lt_s = 197
	CmovIfZero               Opcode = 83  // cmov_iz = 198
	CmovIfNotZero            Opcode = 84  // cmov_nz = 199
)

type Program

type Program struct {
	Is64Bit                bool
	RODataSize             uint32
	RWDataSize             uint32
	StackSize              uint32
	ROData                 []byte
	RWData                 []byte
	JumpTable              []uint32
	Instructions           []Instruction
	Imports                []string
	Exports                []ProgramExport
	DebugStrings           []byte
	DebugLineProgramRanges []byte
	DebugLinePrograms      []byte
}

func ParseBlob

func ParseBlob(r *Reader) (pp *Program, err error)

func (*Program) JumpTableGetByAddress

func (p *Program) JumpTableGetByAddress(address uint32) *uint32

type ProgramExport

type ProgramExport struct {
	TargetCodeOffset uint32
	Symbol           string
}

type Reader

type Reader struct{ io.ReadSeeker }

func NewReader

func NewReader(r io.ReadSeeker) *Reader

func (*Reader) Len

func (r *Reader) Len() int64

func (*Reader) Position

func (r *Reader) Position() int64

func (*Reader) ReadByte

func (r *Reader) ReadByte() (byte, error)

func (*Reader) ReadVarint

func (r *Reader) ReadVarint() (uint32, error)

func (*Reader) ReadWithLength

func (r *Reader) ReadWithLength() ([]byte, error)

type Reg

type Reg uint
const (
	RA Reg = 0
	SP Reg = 1
	T0 Reg = 2
	T1 Reg = 3
	T2 Reg = 4
	S0 Reg = 5
	S1 Reg = 6
	A0 Reg = 7
	A1 Reg = 8
	A2 Reg = 9
	A3 Reg = 10
	A4 Reg = 11
	A5 Reg = 12
)

func (Reg) String

func (r Reg) String() string

type Registers

type Registers [13]uint64

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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