Interface Memory

All Known Implementing Classes:
ByteArrayMemory, ByteBufferMemory

public interface Memory
  • Field Details

    • PAGE_SIZE

      static final int PAGE_SIZE
      A WebAssembly page size is 64KiB = 65,536 bytes.
      See Also:
    • RUNTIME_MAX_PAGES

      static final int RUNTIME_MAX_PAGES
      Maximum number of pages allowed by the runtime. WASM supports 2^16 pages, but we must limit based on the maximum JVM array size. This limit is Integer.MAX_VALUE / PAGE_SIZE.
      See Also:
  • Method Details

    • bytes

      static int bytes(int pages)
    • pages

      int pages()
    • grow

      int grow(int size)
    • initialPages

      int initialPages()
    • maximumPages

      int maximumPages()
    • initialize

      void initialize(Instance instance, DataSegment[] dataSegments)
    • initPassiveSegment

      void initPassiveSegment(int segmentId, int dest, int offset, int size)
    • writeString

      default void writeString(int offset, String data, Charset charSet)
    • writeString

      default void writeString(int offset, String data)
    • readString

      default String readString(int addr, int len)
    • readString

      default String readString(int addr, int len, Charset charSet)
    • writeCString

      default void writeCString(int offset, String str)
    • writeCString

      default void writeCString(int offset, String str, Charset charSet)
    • readCString

      default String readCString(int addr, Charset charSet)
    • readCString

      default String readCString(int addr)
    • write

      default void write(int addr, byte[] data)
    • write

      void write(int addr, byte[] data, int offset, int size)
    • read

      byte read(int addr)
    • readBytes

      byte[] readBytes(int addr, int len)
    • writeI32

      void writeI32(int addr, int data)
    • readInt

      int readInt(int addr)
    • readI32

      default long readI32(int addr)
    • readU32

      default long readU32(int addr)
    • writeLong

      void writeLong(int addr, long data)
    • readLong

      long readLong(int addr)
    • readI64

      default long readI64(int addr)
    • writeShort

      void writeShort(int addr, short data)
    • readShort

      short readShort(int addr)
    • readI16

      default long readI16(int addr)
    • readU16

      long readU16(int addr)
    • writeByte

      void writeByte(int addr, byte data)
    • readU8

      default long readU8(int addr)
    • readI8

      default long readI8(int addr)
    • writeF32

      void writeF32(int addr, float data)
    • readF32

      long readF32(int addr)
    • readFloat

      float readFloat(int addr)
    • writeF64

      void writeF64(int addr, double data)
    • readDouble

      double readDouble(int addr)
    • readF64

      long readF64(int addr)
    • zero

      void zero()
    • fill

      void fill(byte value, int fromIndex, int toIndex)
    • copy

      default void copy(int dest, int src, int size)
    • drop

      void drop(int segment)