Module Mavryk_wasmer.Memory

exception Out_of_bounds
module Array : module type of Ctypes.CArray
type t = {
  1. raw : Unsigned.uint8 Array.t;
    (*

    C array backing the memory

    *)
  2. min : Unsigned.uint32;
    (*

    Minimum memory size in pages (64 KiB)

    *)
  3. max : Unsigned.uint32 option;
    (*

    Maximum size in pages

    *)
}

WebAssembly memory

val get : t -> int -> Unsigned.uint8

get mem addr reads a byte at address addr.

val get_string : t -> address:int -> length:int -> string

get_string mem addr len reads len bytes from address addr in mmemory mem.

val set : t -> int -> Unsigned.uint8 -> unit

set mem addr value sets a byte at address addr to value.

val set_string : t -> address:int -> data:string -> unit

set_string mem ~address ~data writes a series of bytes represented by data at address address in the provided memory mem.

val length : t -> int

length mem gives you the memory size in bytes.

module Internal_for_tests : sig ... end