ByteArrayMemory

Represents the linear memory in the Wasm program. Can be shared reference b/w the host and the guest.

try-catch is faster than explicit checks and can be optimized by the JVM. Catching generic RuntimeException to keep the method bodies short and easily inlinable.

Constructors

Link copied to clipboard
constructor(limits: MemoryLimits)
constructor(limits: MemoryLimits, allocStrategy: MemAllocStrategy)

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
open override fun atomicAddByte(addr: Int, delta: Byte): Byte
Link copied to clipboard
open override fun atomicAddInt(addr: Int, delta: Int): Int
Link copied to clipboard
open override fun atomicAddLong(addr: Int, delta: Long): Long
Link copied to clipboard
open override fun atomicAddShort(addr: Int, delta: Short): Short
Link copied to clipboard
open override fun atomicAndByte(addr: Int, mask: Byte): Byte
Link copied to clipboard
open override fun atomicAndInt(addr: Int, mask: Int): Int
Link copied to clipboard
open override fun atomicAndLong(addr: Int, mask: Long): Long
Link copied to clipboard
open override fun atomicAndShort(addr: Int, mask: Short): Short
Link copied to clipboard
open override fun atomicCmpxchgByte(addr: Int, expected: Byte, replacement: Byte): Byte
Link copied to clipboard
open override fun atomicCmpxchgInt(addr: Int, expected: Int, replacement: Int): Int
Link copied to clipboard
open override fun atomicCmpxchgLong(addr: Int, expected: Long, replacement: Long): Long
Link copied to clipboard
open override fun atomicCmpxchgShort(addr: Int, expected: Short, replacement: Short): Short
Link copied to clipboard
open override fun atomicFence()
Link copied to clipboard
open fun atomicNotify(addr: Int, maxThreads: Int): Int
Link copied to clipboard
open override fun atomicOrByte(addr: Int, mask: Byte): Byte
Link copied to clipboard
open override fun atomicOrInt(addr: Int, mask: Int): Int
Link copied to clipboard
open override fun atomicOrLong(addr: Int, mask: Long): Long
Link copied to clipboard
open override fun atomicOrShort(addr: Int, mask: Short): Short
Link copied to clipboard
open override fun atomicReadByte(addr: Int): Byte
Link copied to clipboard
open override fun atomicReadInt(addr: Int): Int
Link copied to clipboard
open override fun atomicReadLong(addr: Int): Long
Link copied to clipboard
open override fun atomicReadShort(addr: Int): Short
Link copied to clipboard
open fun atomicWait(addr: Int, expected: Int, timeout: Long): Int
open fun atomicWait(addr: Int, expected: Long, timeout: Long): Int
Link copied to clipboard
open override fun atomicWriteByte(addr: Int, value: Byte)
Link copied to clipboard
open override fun atomicWriteInt(addr: Int, value: Int)
Link copied to clipboard
open override fun atomicWriteLong(addr: Int, value: Long)
Link copied to clipboard
open override fun atomicWriteShort(addr: Int, value: Short)
Link copied to clipboard
open override fun atomicXchgByte(addr: Int, value: Byte): Byte
Link copied to clipboard
open override fun atomicXchgInt(addr: Int, value: Int): Int
Link copied to clipboard
open override fun atomicXchgLong(addr: Int, value: Long): Long
Link copied to clipboard
open override fun atomicXchgShort(addr: Int, value: Short): Short
Link copied to clipboard
open override fun atomicXorByte(addr: Int, mask: Byte): Byte
Link copied to clipboard
open override fun atomicXorInt(addr: Int, mask: Int): Int
Link copied to clipboard
open override fun atomicXorLong(addr: Int, mask: Long): Long
Link copied to clipboard
open override fun atomicXorShort(addr: Int, mask: Short): Short
Link copied to clipboard
open override fun copy(dest: Int, src: Int, size: Int)
Link copied to clipboard
open override fun drop(segment: Int)
Link copied to clipboard
open override fun fill(value: Byte, fromIndex: Int, toIndex: Int)
Link copied to clipboard
open override fun grow(size: Int): Int
Link copied to clipboard
open override fun initialize(instance: Instance, dataSegments: Array<DataSegment>?)
open override fun initialize(instance: Instance, dataSegments: Array<DataSegment>?, memoryIndex: Int)
Link copied to clipboard
open override fun initialPages(): Int
Link copied to clipboard
open override fun initPassiveSegment(segmentId: Int, dest: Int, offset: Int, size: Int)
Link copied to clipboard
open override fun lock(address: Int): Any
Link copied to clipboard
open override fun maximumPages(): Int
Link copied to clipboard
open override fun notify(address: Int, maxThreads: Int): Int
Link copied to clipboard
open override fun pages(): Int
Link copied to clipboard
open override fun read(addr: Int): Byte
open override fun read(addr: Int, target: ByteArray, offset: Int, size: Int)
Link copied to clipboard
open override fun readBytes(addr: Int, len: Int): ByteArray
Link copied to clipboard
open fun readCString(addr: Int): String
Link copied to clipboard
fun Memory.readCString(addr: Int, charSet: Charset): String
Link copied to clipboard
open override fun readDouble(addr: Int): Double
Link copied to clipboard
open override fun readF32(addr: Int): Long
Link copied to clipboard
open override fun readF64(addr: Int): Long
Link copied to clipboard
open override fun readFloat(addr: Int): Float
Link copied to clipboard
open fun readI16(addr: Int): Long
Link copied to clipboard
open fun readI32(addr: Int): Long
Link copied to clipboard
open fun readI64(addr: Int): Long
Link copied to clipboard
open fun readI8(addr: Int): Long
Link copied to clipboard
open override fun readInt(addr: Int): Int
Link copied to clipboard
open override fun readLong(addr: Int): Long
Link copied to clipboard
open override fun readShort(addr: Int): Short
Link copied to clipboard
open fun readString(addr: Int, len: Int): String
Link copied to clipboard
fun Memory.readString(addr: Int, len: Int, charSet: Charset): String
Link copied to clipboard
open override fun readU16(addr: Int): Long
Link copied to clipboard
open fun readU32(addr: Int): Long
Link copied to clipboard
open fun readU8(addr: Int): Long
Link copied to clipboard
open override fun readU8Int(addr: Int): Int
Link copied to clipboard
open fun readUtf8CString(addr: Int): String
Link copied to clipboard
open fun readUtf8String(addr: Int, len: Int): String
Link copied to clipboard
open override fun shared(): Boolean
Link copied to clipboard
open override fun waitOn(address: Int, expected: Int, timeout: Long): Int
open override fun waitOn(address: Int, expected: Long, timeout: Long): Int
Link copied to clipboard
open override fun write(addr: Int, data: ByteArray, offset: Int, size: Int)
open fun write(addr: Int, data: ByteArray)
Link copied to clipboard
open override fun writeByte(addr: Int, data: Byte)
Link copied to clipboard
open fun writeCString(offset: Int, str: String)
Link copied to clipboard
fun Memory.writeCString(offset: Int, str: String, charSet: Charset)
Link copied to clipboard
open override fun writeF32(addr: Int, data: Float)
Link copied to clipboard
open override fun writeF64(addr: Int, data: Double)
Link copied to clipboard
open override fun writeI32(addr: Int, data: Int)
Link copied to clipboard
open override fun writeLong(addr: Int, data: Long)
Link copied to clipboard
open override fun writeShort(addr: Int, data: Short)
Link copied to clipboard
open fun writeString(offset: Int, data: String)
Link copied to clipboard
fun Memory.writeString(offset: Int, data: String, charSet: Charset)
Link copied to clipboard
open fun writeUtf8CString(offset: Int, str: String)
Link copied to clipboard
open fun writeUtf8String(offset: Int, data: String)
Link copied to clipboard
open override fun zero()