Repository navigation
Expand file tree
/
Copy pathmemory.mli
More file actions
50 lines (42 loc) · 1.49 KB
/
Copy pathmemory.mli
File metadata and controls
50 lines (42 loc) · 1.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
open Types
open Values
type memory
type t = memory
type size = int32 (* number of pages *)
type address = int64
type offset = int32
type count = int32
exception Type
exception Bounds
exception SizeOverflow
exception SizeLimit
exception OutOfMemory
val page_size : int64
val alloc : memory_type -> memory (* raises Type, SizeOverflow, OutOfMemory *)
val type_of : memory -> memory_type
val size : memory -> size
val bound : memory -> address
val grow : memory -> size -> unit
(* raises SizeLimit, SizeOverflow, OutOfMemory *)
val load_byte : memory -> address -> int (* raises Bounds *)
val store_byte : memory -> address -> int -> unit (* raises Bounds *)
val load_bytes : memory -> address -> int -> string (* raises Bounds *)
val store_bytes : memory -> address -> string -> unit (* raises Bounds *)
val load_num :
memory -> address -> offset -> num_type -> num (* raises Bounds *)
val store_num :
memory -> address -> offset -> num -> unit (* raises Bounds *)
val load_num_packed :
pack_size -> extension -> memory -> address -> offset -> num_type -> num
(* raises Type, Bounds *)
val store_num_packed :
pack_size -> memory -> address -> offset -> num -> unit
(* raises Type, Bounds *)
val load_vec :
memory -> address -> offset -> vec_type -> vec (* raises Bounds *)
val store_vec :
memory -> address -> offset -> vec -> unit
(* raises Type, Bounds *)
val load_vec_packed :
pack_size -> vec_extension -> memory -> address -> offset -> vec_type -> vec
(* raises Type, Bounds *)