package tezos-webassembly-interpreter

  1. Overview
  2. Docs
WebAssembly reference interpreter with tweaks for Tezos

Install

Dune Dependency

Authors

Maintainers

Sources

tezos-16.0.tar.gz
sha256=ad9e08819871c75ba6f4530b125f7d157799398e4d77a1e6bfea9d91ff37ff55
sha512=c5dc4d40cc09bc6980fbbdb5c2e105bf4252cf9cfcb2b49660b0ebe4dc789f6709ec3b3bf2f87d81580d3eed9521eeb1c960f24d9b14eb0285aaba1f84d10a9b

doc/tezos-webassembly-interpreter/Tezos_webassembly_interpreter/Partial_memory/index.html

Module Tezos_webassembly_interpreter.Partial_memory

include Memory_sig.S
type memory
type t = memory
type size = int32
type address = int32
type offset = int32
type count = int32
exception Type
exception Bounds
exception SizeOverflow
exception SizeLimit
exception OutOfMemory
val page_size : int64
val alloc : Types.memory_type -> memory
val type_of : memory -> Types.memory_type
val size : memory -> size
val bound : memory -> int64
val grow : memory -> size -> unit
val load_byte : memory -> int64 -> int Lwt.t
val store_byte : memory -> int64 -> int -> unit Lwt.t
val load_bytes : memory -> address -> int -> string Lwt.t
val store_bytes : memory -> address -> string -> unit Lwt.t
val load_num : memory -> address -> offset -> Types.num_type -> Values.num Lwt.t
val store_num : memory -> address -> offset -> Values.num -> unit Lwt.t
val load_num_packed : Types.pack_size -> Types.extension -> memory -> address -> offset -> Types.num_type -> Values.num Lwt.t
val store_num_packed : Types.pack_size -> memory -> address -> offset -> Values.num -> unit Lwt.t
val load_vec : memory -> address -> offset -> Types.vec_type -> Values.vec Lwt.t
val store_vec : memory -> address -> offset -> Values.vec -> unit Lwt.t
val load_vec_packed : Types.pack_size -> Types.vec_extension -> memory -> address -> offset -> Types.vec_type -> Values.vec Lwt.t
val store_bytes_from_bytes : t -> address -> bytes -> unit Lwt.t

store_bytes_from_bytes memory offset bytes copies the contents of bytes into memory at the provided offset. Further modifications to bytes are not reflected in memory.

of_chunks mem_ty chunks creates a memory instance using chunks. Modifications are reflected bidirectionally, i.e. modifying the memory changes the chunks and vice versa.

OCaml

Innovation. Community. Security.