diff --git a/api/owi/Owi/Assigned/index.html b/api/owi/Owi/Assigned/index.html deleted file mode 100644 index c39c60305..000000000 --- a/api/owi/Owi/Assigned/index.html +++ /dev/null @@ -1,3 +0,0 @@ - -Assigned (owi.Owi.Assigned)

Module Owi.Assigned

val of_grouped : Grouped.t -> t Result.t
diff --git a/api/owi/Owi/Binary/index.html b/api/owi/Owi/Binary/index.html deleted file mode 100644 index c02697923..000000000 --- a/api/owi/Owi/Binary/index.html +++ /dev/null @@ -1,3 +0,0 @@ - -Binary (owi.Owi.Binary)

Module Owi.Binary

type export = {
  1. name : string;
  2. id : int;
}

named export

type exports = {
  1. global : export list;
  2. mem : export list;
  3. table : export list;
  4. func : export list;
}

named exports of a module

type global = {
  1. typ : Types.binary Types.global_type;
  2. init : Types.binary Types.expr;
  3. id : string option;
}
type data_mode =
  1. | Data_passive
  2. | Data_active of int * Types.binary Types.expr
type data = {
  1. id : string option;
  2. init : string;
  3. mode : data_mode;
}
type elem_mode =
  1. | Elem_passive
  2. | Elem_active of int option * Types.binary Types.expr
  3. | Elem_declarative
type elem = {
  1. id : string option;
  2. typ : Types.binary Types.ref_type;
  3. init : Types.binary Types.expr list;
  4. mode : elem_mode;
}
type modul = {
  1. id : string option;
  2. types : Types.binary Types.rec_type array;
  3. global : (global, Types.binary Types.global_type) Runtime.t array;
  4. table : (Types.binary Types.table, Types.binary Types.table_type) Runtime.t - array;
  5. mem : (Types.mem, Types.limits) Runtime.t array;
  6. func : (Types.binary Types.func, Types.binary Types.block_type) Runtime.t array;
  7. elem : elem array;
  8. data : data array;
  9. exports : exports;
  10. start : int option;
}
val empty_modul : modul
diff --git a/api/owi/Owi/Binary_encoder/index.html b/api/owi/Owi/Binary_encoder/index.html deleted file mode 100644 index 6c327d0d8..000000000 --- a/api/owi/Owi/Binary_encoder/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -Binary_encoder (owi.Owi.Binary_encoder)

Module Owi.Binary_encoder

val convert : - Fpath.t -> - unsafe:bool -> - optimize:bool -> - Text.modul -> - (unit, Result.err) Prelude.result
diff --git a/api/owi/Owi/Binary_parser/index.html b/api/owi/Owi/Binary_parser/index.html deleted file mode 100644 index 795cc46fc..000000000 --- a/api/owi/Owi/Binary_parser/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Binary_parser (owi.Owi.Binary_parser)

Module Owi.Binary_parser

val from_string : string -> Binary.modul Result.t
val from_channel : Prelude.in_channel -> Binary.modul Result.t
val from_file : Fpath.t -> Binary.modul Result.t
diff --git a/api/owi/Owi/Binary_to_text/index.html b/api/owi/Owi/Binary_to_text/index.html deleted file mode 100644 index 487108686..000000000 --- a/api/owi/Owi/Binary_to_text/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Binary_to_text (owi.Owi.Binary_to_text)

Module Owi.Binary_to_text

val modul : Binary.modul -> Text.modul
diff --git a/api/owi/Owi/Binary_types/index.html b/api/owi/Owi/Binary_types/index.html deleted file mode 100644 index 2a3ea0404..000000000 --- a/api/owi/Owi/Binary_types/index.html +++ /dev/null @@ -1,23 +0,0 @@ - -Binary_types (owi.Owi.Binary_types)

Module Owi.Binary_types

type tbl = (string, int) Prelude.Hashtbl.t Prelude.Option.t
val convert_param : - tbl -> - Types.text Types.param -> - Types.binary Types.param Result.t
diff --git a/api/owi/Owi/Binary_validate/index.html b/api/owi/Owi/Binary_validate/index.html deleted file mode 100644 index db7a217b1..000000000 --- a/api/owi/Owi/Binary_validate/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Binary_validate (owi.Owi.Binary_validate)

Module Owi.Binary_validate

Module to typecheck a simplified module.

val modul : Binary.modul -> unit Result.t

typecheck a given module

diff --git a/api/owi/Owi/C_share_site/Sites/index.html b/api/owi/Owi/C_share_site/Sites/index.html deleted file mode 100644 index 7efac848d..000000000 --- a/api/owi/Owi/C_share_site/Sites/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sites (owi.Owi.C_share_site.Sites)

Module C_share_site.Sites

val binc : Dune_site.Private_.Helpers.Location.t list
val libc : Dune_site.Private_.Helpers.Location.t list
diff --git a/api/owi/Owi/C_share_site/index.html b/api/owi/Owi/C_share_site/index.html deleted file mode 100644 index c06cd4930..000000000 --- a/api/owi/Owi/C_share_site/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -C_share_site (owi.Owi.C_share_site)

Module Owi.C_share_site

module Sites : sig ... end
diff --git a/api/owi/Owi/Choice_intf/index.html b/api/owi/Owi/Choice_intf/index.html deleted file mode 100644 index ace75d2d3..000000000 --- a/api/owi/Owi/Choice_intf/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Choice_intf (owi.Owi.Choice_intf)

Module Owi.Choice_intf

module type Base = sig ... end
module type Complete = sig ... end
diff --git a/api/owi/Owi/Choice_intf/module-type-Base/V/index.html b/api/owi/Owi/Choice_intf/module-type-Base/V/index.html deleted file mode 100644 index f68d59e7b..000000000 --- a/api/owi/Owi/Choice_intf/module-type-Base/V/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -V (owi.Owi.Choice_intf.Base.V)

Module Base.V

type int32
type int64
type float32
type float64
type vbool
diff --git a/api/owi/Owi/Choice_intf/module-type-Base/index.html b/api/owi/Owi/Choice_intf/module-type-Base/index.html deleted file mode 100644 index b34d2b347..000000000 --- a/api/owi/Owi/Choice_intf/module-type-Base/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Base (owi.Owi.Choice_intf.Base)

Module type Choice_intf.Base

type 'a t
val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
val map : 'a t -> ('a -> 'b) -> 'b t
val select : V.vbool -> bool t
val select_i32 : V.int32 -> Int32.t t
val trap : Trap.t -> 'a t
val let* : 'a t -> ('a -> 'b t) -> 'b t
val let+ : 'a t -> ('a -> 'b) -> 'b t
diff --git a/api/owi/Owi/Choice_intf/module-type-Complete/V/index.html b/api/owi/Owi/Choice_intf/module-type-Complete/V/index.html deleted file mode 100644 index 085c9633f..000000000 --- a/api/owi/Owi/Choice_intf/module-type-Complete/V/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -V (owi.Owi.Choice_intf.Complete.V)

Module Complete.V

type int32
type int64
type float32
type float64
type vbool
diff --git a/api/owi/Owi/Choice_intf/module-type-Complete/index.html b/api/owi/Owi/Choice_intf/module-type-Complete/index.html deleted file mode 100644 index 5763e507f..000000000 --- a/api/owi/Owi/Choice_intf/module-type-Complete/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Complete (owi.Owi.Choice_intf.Complete)

Module type Choice_intf.Complete

include Base
type 'a t
val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
val map : 'a t -> ('a -> 'b) -> 'b t
val select : V.vbool -> bool t
val select_i32 : V.int32 -> Int32.t t
val trap : Trap.t -> 'a t
val let* : 'a t -> ('a -> 'b t) -> 'b t
val let+ : 'a t -> ('a -> 'b) -> 'b t
type thread
type 'a run_result
val assertion : V.vbool -> unit t
val with_thread : (thread -> 'b) -> 'b t
val solver : Solver.t t
val thread : thread t
val add_pc : V.vbool -> unit t
val lift_mem : 'a Symbolic_choice_without_memory.t -> 'a t
diff --git a/api/owi/Owi/Cmd_c/index.html b/api/owi/Owi/Cmd_c/index.html deleted file mode 100644 index 1db898ec8..000000000 --- a/api/owi/Owi/Cmd_c/index.html +++ /dev/null @@ -1,22 +0,0 @@ - -Cmd_c (owi.Owi.Cmd_c)

Module Owi.Cmd_c

val cmd : - bool -> - int -> - Fpath.t option -> - bool -> - string -> - int -> - string -> - Fpath.t list -> - Fpath.t list -> - bool -> - bool -> - bool -> - bool -> - bool -> - bool -> - Cmd_sym.fail_mode -> - bool -> - bool -> - Smtml.Solver_dispatcher.solver_type -> - unit Result.t
diff --git a/api/owi/Owi/Cmd_conc/index.html b/api/owi/Owi/Cmd_conc/index.html deleted file mode 100644 index b6a510835..000000000 --- a/api/owi/Owi/Cmd_conc/index.html +++ /dev/null @@ -1,15 +0,0 @@ - -Cmd_conc (owi.Owi.Cmd_conc)

Module Owi.Cmd_conc

val cmd : - bool -> - bool -> - bool -> - bool -> - int -> - bool -> - bool -> - bool -> - Cmd_sym.fail_mode -> - Fpath.t -> - Smtml.Solver_dispatcher.solver_type -> - Fpath.t list -> - unit Result.t
diff --git a/api/owi/Owi/Cmd_fmt/index.html b/api/owi/Owi/Cmd_fmt/index.html deleted file mode 100644 index 86adb58f8..000000000 --- a/api/owi/Owi/Cmd_fmt/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Cmd_fmt (owi.Owi.Cmd_fmt)

Module Owi.Cmd_fmt

val cmd : bool -> Fpath.t list -> unit Result.t
diff --git a/api/owi/Owi/Cmd_opt/index.html b/api/owi/Owi/Cmd_opt/index.html deleted file mode 100644 index ebd17485a..000000000 --- a/api/owi/Owi/Cmd_opt/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Cmd_opt (owi.Owi.Cmd_opt)

Module Owi.Cmd_opt

val cmd : bool -> bool -> Fpath.t list -> unit Result.t
diff --git a/api/owi/Owi/Cmd_run/index.html b/api/owi/Owi/Cmd_run/index.html deleted file mode 100644 index 3b2241c2e..000000000 --- a/api/owi/Owi/Cmd_run/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Cmd_run (owi.Owi.Cmd_run)

Module Owi.Cmd_run

val cmd : bool -> bool -> bool -> bool -> Fpath.t list -> unit Result.t
diff --git a/api/owi/Owi/Cmd_script/index.html b/api/owi/Owi/Cmd_script/index.html deleted file mode 100644 index a52b748ba..000000000 --- a/api/owi/Owi/Cmd_script/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Cmd_script (owi.Owi.Cmd_script)

Module Owi.Cmd_script

val cmd : bool -> bool -> bool -> Fpath.t list -> bool -> unit Result.t
diff --git a/api/owi/Owi/Cmd_sym/index.html b/api/owi/Owi/Cmd_sym/index.html deleted file mode 100644 index e11523fc1..000000000 --- a/api/owi/Owi/Cmd_sym/index.html +++ /dev/null @@ -1,15 +0,0 @@ - -Cmd_sym (owi.Owi.Cmd_sym)

Module Owi.Cmd_sym

type fail_mode = [
  1. | `Trap_only
  2. | `Assertion_only
  3. | `Both
]
val cmd : - bool -> - bool -> - bool -> - bool -> - int -> - bool -> - bool -> - bool -> - fail_mode -> - Fpath.t -> - Smtml.Solver_dispatcher.solver_type -> - Fpath.t list -> - unit Result.t
diff --git a/api/owi/Owi/Cmd_utils/index.html b/api/owi/Owi/Cmd_utils/index.html deleted file mode 100644 index fac808b48..000000000 --- a/api/owi/Owi/Cmd_utils/index.html +++ /dev/null @@ -1,4 +0,0 @@ - -Cmd_utils (owi.Owi.Cmd_utils)

Module Owi.Cmd_utils

val write_testcase : dir:Fpath.t -> Smtml.Value.t list -> unit Result.t
val add_main_as_start : - Binary.modul -> - (Binary.modul, [> `Msg of string ]) Prelude.result
diff --git a/api/owi/Owi/Cmd_validate/index.html b/api/owi/Owi/Cmd_validate/index.html deleted file mode 100644 index 555d19123..000000000 --- a/api/owi/Owi/Cmd_validate/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Cmd_validate (owi.Owi.Cmd_validate)

Module Owi.Cmd_validate

val cmd : bool -> Fpath.t list -> unit Result.t
diff --git a/api/owi/Owi/Cmd_wasm2wat/index.html b/api/owi/Owi/Cmd_wasm2wat/index.html deleted file mode 100644 index 6ecc4dcee..000000000 --- a/api/owi/Owi/Cmd_wasm2wat/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Cmd_wasm2wat (owi.Owi.Cmd_wasm2wat)

Module Owi.Cmd_wasm2wat

val cmd : Fpath.t list -> bool -> unit Result.t
diff --git a/api/owi/Owi/Cmd_wat2wasm/index.html b/api/owi/Owi/Cmd_wat2wasm/index.html deleted file mode 100644 index b9c463ca5..000000000 --- a/api/owi/Owi/Cmd_wat2wasm/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Cmd_wat2wasm (owi.Owi.Cmd_wat2wasm)

Module Owi.Cmd_wat2wasm

val cmd : bool -> bool -> bool -> bool -> Fpath.t list -> unit Result.t
diff --git a/api/owi/Owi/Compile/Any/index.html b/api/owi/Owi/Compile/Any/index.html deleted file mode 100644 index f7722b997..000000000 --- a/api/owi/Owi/Compile/Any/index.html +++ /dev/null @@ -1,21 +0,0 @@ - -Any (owi.Owi.Compile.Any)

Module Compile.Any

val until_binary_validate : - unsafe:bool -> - 'extern_func Kind.t -> - Binary.modul Result.t
val until_optimize : - unsafe:bool -> - optimize:bool -> - 'extern_func Kind.t -> - Binary.modul Result.t

compile a module with a given link state and produce a new link state and a runnable module

val until_interpret : - unsafe:bool -> - optimize:bool -> - name:string option -> - Concrete_value.Func.extern_func Link.state -> - Concrete_value.Func.extern_func Kind.t -> - Concrete_value.Func.extern_func Link.state Result.t

compile and interpret a module with a given link state and produce a new link state

diff --git a/api/owi/Owi/Compile/Binary/index.html b/api/owi/Owi/Compile/Binary/index.html deleted file mode 100644 index 1c823c5a7..000000000 --- a/api/owi/Owi/Compile/Binary/index.html +++ /dev/null @@ -1,21 +0,0 @@ - -Binary (owi.Owi.Compile.Binary)

Module Compile.Binary

val until_binary_validate : - unsafe:bool -> - Binary.modul -> - Binary.modul Result.t
val until_optimize : - unsafe:bool -> - optimize:bool -> - Binary.modul -> - Binary.modul Result.t

compile a module with a given link state and produce a new link state and a runnable module

val until_interpret : - unsafe:bool -> - optimize:bool -> - name:string option -> - Concrete_value.Func.extern_func Link.state -> - Binary.modul -> - Concrete_value.Func.extern_func Link.state Result.t

compile and interpret a module with a given link state and produce a new link state

diff --git a/api/owi/Owi/Compile/File/index.html b/api/owi/Owi/Compile/File/index.html deleted file mode 100644 index 2239377f6..000000000 --- a/api/owi/Owi/Compile/File/index.html +++ /dev/null @@ -1,18 +0,0 @@ - -File (owi.Owi.Compile.File)

Module Compile.File

val until_binary_validate : unsafe:bool -> Fpath.t -> Binary.modul Result.t
val until_optimize : - unsafe:bool -> - optimize:bool -> - Fpath.t -> - Binary.modul Result.t

compile a file with a given link state and produce a new link state and a runnable module

val until_interpret : - unsafe:bool -> - optimize:bool -> - name:string option -> - Concrete_value.Func.extern_func Link.state -> - Fpath.t -> - Concrete_value.Func.extern_func Link.state Result.t

compile and interpret a file with a given link state and produce a new link state

diff --git a/api/owi/Owi/Compile/Text/index.html b/api/owi/Owi/Compile/Text/index.html deleted file mode 100644 index 618fb0eb5..000000000 --- a/api/owi/Owi/Compile/Text/index.html +++ /dev/null @@ -1,18 +0,0 @@ - -Text (owi.Owi.Compile.Text)

Module Compile.Text

val until_text_validate : unsafe:bool -> Text.modul -> Text.modul Result.t
val until_binary : unsafe:bool -> Text.modul -> Binary.modul Result.t
val until_binary_validate : unsafe:bool -> Text.modul -> Binary.modul Result.t
val until_optimize : - unsafe:bool -> - optimize:bool -> - Text.modul -> - Binary.modul Result.t

compile a module with a given link state and produce a new link state and a runnable module

val until_interpret : - unsafe:bool -> - optimize:bool -> - name:string option -> - Concrete_value.Func.extern_func Link.state -> - Text.modul -> - Concrete_value.Func.extern_func Link.state Result.t

compile and interpret a module with a given link state and produce a new link state

diff --git a/api/owi/Owi/Compile/index.html b/api/owi/Owi/Compile/index.html deleted file mode 100644 index b26900b4c..000000000 --- a/api/owi/Owi/Compile/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Compile (owi.Owi.Compile)

Module Owi.Compile

Utility functions to compile a module until a given step.

module Any : sig ... end
module File : sig ... end
module Text : sig ... end
module Binary : sig ... end
diff --git a/api/owi/Owi/Concolic/P'/Choice/index.html b/api/owi/Owi/Concolic/P'/Choice/index.html deleted file mode 100644 index abdca2e13..000000000 --- a/api/owi/Owi/Concolic/P'/Choice/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Choice (owi.Owi.Concolic.P'.Choice)

Module P'.Choice

type 'a t
val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
val map : 'a t -> ('a -> 'b) -> 'b t
val select : Value.vbool -> bool t
val select_i32 : Value.int32 -> Int32.t t
val trap : Trap.t -> 'a t
val let* : 'a t -> ('a -> 'b t) -> 'b t
val let+ : 'a t -> ('a -> 'b) -> 'b t
diff --git a/api/owi/Owi/Concolic/P'/Data/index.html b/api/owi/Owi/Concolic/P'/Data/index.html deleted file mode 100644 index d53556abe..000000000 --- a/api/owi/Owi/Concolic/P'/Data/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Data (owi.Owi.Concolic.P'.Data)

Module P'.Data

type t
val value : t -> string
diff --git a/api/owi/Owi/Concolic/P'/Elem/index.html b/api/owi/Owi/Concolic/P'/Elem/index.html deleted file mode 100644 index 7dea49f55..000000000 --- a/api/owi/Owi/Concolic/P'/Elem/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Elem (owi.Owi.Concolic.P'.Elem)

Module P'.Elem

type t
val get : t -> int -> Value.ref_value
val size : t -> int
diff --git a/api/owi/Owi/Concolic/P'/Env/index.html b/api/owi/Owi/Concolic/P'/Env/index.html deleted file mode 100644 index edfbc2777..000000000 --- a/api/owi/Owi/Concolic/P'/Env/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Env (owi.Owi.Concolic.P'.Env)

Module P'.Env

type t
val get_memory : t -> int -> Memory.t Choice.t
val get_func : t -> int -> Func_intf.t
val get_table : t -> int -> Table.t Choice.t
val get_elem : t -> int -> Elem.t
val get_data : t -> int -> Data.t Choice.t
val get_global : t -> int -> Global.t Choice.t
val get_extern_func : t -> Func_id.t -> Extern_func.extern_func
val drop_elem : Elem.t -> unit
val drop_data : Data.t -> unit
diff --git a/api/owi/Owi/Concolic/P'/Extern_func/index.html b/api/owi/Owi/Concolic/P'/Extern_func/index.html deleted file mode 100644 index 1dd8a1448..000000000 --- a/api/owi/Owi/Concolic/P'/Extern_func/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Extern_func (owi.Owi.Concolic.P'.Extern_func)

Module P'.Extern_func

type _ telt =
  1. | I32 : Value.int32 telt
  2. | I64 : Value.int64 telt
  3. | F32 : Value.float32 telt
  4. | F64 : Value.float64 telt
  5. | Externref : 'a Prelude.Type.Id.t -> 'a telt
type _ rtype =
  1. | R0 : unit rtype
  2. | R1 : 'a telt -> 'a rtype
  3. | R2 : 'a telt * 'b telt -> ('a * 'b) rtype
  4. | R3 : 'a telt * 'b telt * 'c telt -> ('a * 'b * 'c) rtype
  5. | R4 : 'a telt * 'b telt * 'c telt * 'd telt -> ('a * 'b * 'c * 'd) rtype
type (_, _) atype =
  1. | Mem : ('b, 'r) atype -> (Memory.t -> 'b, 'r) atype
  2. | UArg : ('b, 'r) atype -> (unit -> 'b, 'r) atype
  3. | Arg : 'a telt * ('b, 'r) atype -> ('a -> 'b, 'r) atype
  4. | NArg : string * 'a telt * ('b, 'r) atype -> ('a -> 'b, 'r) atype
  5. | Res : ('r, 'r) atype
type _ func_type =
  1. | Func : ('f, 'r Choice.t) atype * 'r rtype -> 'f func_type
type extern_func =
  1. | Extern_func : 'a func_type * 'a -> extern_func
diff --git a/api/owi/Owi/Concolic/P'/Global/index.html b/api/owi/Owi/Concolic/P'/Global/index.html deleted file mode 100644 index 9ca068bc5..000000000 --- a/api/owi/Owi/Concolic/P'/Global/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Global (owi.Owi.Concolic.P'.Global)

Module P'.Global

type t
val value : t -> Value.t
val set_value : t -> Value.t -> unit
val mut : t -> Types.mut
diff --git a/api/owi/Owi/Concolic/P'/Memory/index.html b/api/owi/Owi/Concolic/P'/Memory/index.html deleted file mode 100644 index 548fd8eb5..000000000 --- a/api/owi/Owi/Concolic/P'/Memory/index.html +++ /dev/null @@ -1,13 +0,0 @@ - -Memory (owi.Owi.Concolic.P'.Memory)

Module P'.Memory

type t
val load_8_s : t -> Value.int32 -> Value.int32 Choice.t
val load_8_u : t -> Value.int32 -> Value.int32 Choice.t
val load_16_s : t -> Value.int32 -> Value.int32 Choice.t
val load_16_u : t -> Value.int32 -> Value.int32 Choice.t
val load_32 : t -> Value.int32 -> Value.int32 Choice.t
val load_64 : t -> Value.int32 -> Value.int64 Choice.t
val store_8 : t -> addr:Value.int32 -> Value.int32 -> unit Choice.t
val store_16 : t -> addr:Value.int32 -> Value.int32 -> unit Choice.t
val store_32 : t -> addr:Value.int32 -> Value.int32 -> unit Choice.t
val store_64 : t -> addr:Value.int32 -> Value.int64 -> unit Choice.t
val grow : t -> Value.int32 -> unit
val fill : t -> pos:Value.int32 -> len:Value.int32 -> char -> Value.vbool
val blit : - t -> - src:Value.int32 -> - dst:Value.int32 -> - len:Value.int32 -> - Value.vbool
val blit_string : - t -> - string -> - src:Value.int32 -> - dst:Value.int32 -> - len:Value.int32 -> - Value.vbool
val size : t -> Value.int32
val size_in_pages : t -> Value.int32
val get_limit_max : t -> Value.int64 option
diff --git a/api/owi/Owi/Concolic/P'/Module_to_run/index.html b/api/owi/Owi/Concolic/P'/Module_to_run/index.html deleted file mode 100644 index 97b34c14d..000000000 --- a/api/owi/Owi/Concolic/P'/Module_to_run/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Module_to_run (owi.Owi.Concolic.P'.Module_to_run)

Module P'.Module_to_run

type t

runnable module

val env : t -> Env.t
val to_run : t -> Types.binary Types.expr list
val modul : t -> Binary.modul
diff --git a/api/owi/Owi/Concolic/P'/Table/index.html b/api/owi/Owi/Concolic/P'/Table/index.html deleted file mode 100644 index 7a3daef75..000000000 --- a/api/owi/Owi/Concolic/P'/Table/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Table (owi.Owi.Concolic.P'.Table)

Module P'.Table

type t
val get : t -> int -> Value.ref_value
val set : t -> int -> Value.ref_value -> unit
val size : t -> int
val max_size : t -> int option
val grow : t -> int32 -> Value.ref_value -> unit
val fill : t -> int32 -> int32 -> Value.ref_value -> unit
val copy : t_src:t -> t_dst:t -> src:int32 -> dst:int32 -> len:int32 -> unit
diff --git a/api/owi/Owi/Concolic/P'/Value/Bool/index.html b/api/owi/Owi/Concolic/P'/Value/Bool/index.html deleted file mode 100644 index fdcd5ef49..000000000 --- a/api/owi/Owi/Concolic/P'/Value/Bool/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Bool (owi.Owi.Concolic.P'.Value.Bool)

Module Value.Bool

val const : bool -> vbool
val not : vbool -> vbool
val or_ : vbool -> vbool -> vbool
val and_ : vbool -> vbool -> vbool
val int32 : vbool -> int32
val pp : Prelude.Fmt.formatter -> vbool -> unit
diff --git a/api/owi/Owi/Concolic/P'/Value/F32/index.html b/api/owi/Owi/Concolic/P'/Value/F32/index.html deleted file mode 100644 index 02e67322a..000000000 --- a/api/owi/Owi/Concolic/P'/Value/F32/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -F32 (owi.Owi.Concolic.P'.Value.F32)

Module Value.F32

include Value_intf.Fop - with type num := float32 - and type vbool := vbool - and type int32 := int32 - and type int64 := int64 - and type same_size_int := int32
val zero : float32
val abs : float32 -> float32
val neg : float32 -> float32
val sqrt : float32 -> float32
val ceil : float32 -> float32
val floor : float32 -> float32
val trunc : float32 -> float32
val nearest : float32 -> float32
val add : float32 -> float32 -> float32
val sub : float32 -> float32 -> float32
val mul : float32 -> float32 -> float32
val div : float32 -> float32 -> float32
val min : float32 -> float32 -> float32
val max : float32 -> float32 -> float32
val copy_sign : float32 -> float32 -> float32
val eq : float32 -> float32 -> vbool
val ne : float32 -> float32 -> vbool
val lt : float32 -> float32 -> vbool
val gt : float32 -> float32 -> vbool
val le : float32 -> float32 -> vbool
val ge : float32 -> float32 -> vbool
val convert_i32_s : int32 -> float32
val convert_i32_u : int32 -> float32
val convert_i64_s : int64 -> float32
val convert_i64_u : int64 -> float32
val of_bits : int32 -> float32
val to_bits : float32 -> int32
val demote_f64 : float64 -> float32
val reinterpret_i32 : int32 -> float32
diff --git a/api/owi/Owi/Concolic/P'/Value/F64/index.html b/api/owi/Owi/Concolic/P'/Value/F64/index.html deleted file mode 100644 index 57591721a..000000000 --- a/api/owi/Owi/Concolic/P'/Value/F64/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -F64 (owi.Owi.Concolic.P'.Value.F64)

Module Value.F64

include Value_intf.Fop - with type num := float64 - and type vbool := vbool - and type int32 := int32 - and type int64 := int64 - and type same_size_int := int64
val zero : float64
val abs : float64 -> float64
val neg : float64 -> float64
val sqrt : float64 -> float64
val ceil : float64 -> float64
val floor : float64 -> float64
val trunc : float64 -> float64
val nearest : float64 -> float64
val add : float64 -> float64 -> float64
val sub : float64 -> float64 -> float64
val mul : float64 -> float64 -> float64
val div : float64 -> float64 -> float64
val min : float64 -> float64 -> float64
val max : float64 -> float64 -> float64
val copy_sign : float64 -> float64 -> float64
val eq : float64 -> float64 -> vbool
val ne : float64 -> float64 -> vbool
val lt : float64 -> float64 -> vbool
val gt : float64 -> float64 -> vbool
val le : float64 -> float64 -> vbool
val ge : float64 -> float64 -> vbool
val convert_i32_s : int32 -> float64
val convert_i32_u : int32 -> float64
val convert_i64_s : int64 -> float64
val convert_i64_u : int64 -> float64
val of_bits : int64 -> float64
val to_bits : float64 -> int64
val promote_f32 : float32 -> float64
val reinterpret_i64 : int64 -> float64
diff --git a/api/owi/Owi/Concolic/P'/Value/I32/index.html b/api/owi/Owi/Concolic/P'/Value/I32/index.html deleted file mode 100644 index dea856ee2..000000000 --- a/api/owi/Owi/Concolic/P'/Value/I32/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -I32 (owi.Owi.Concolic.P'.Value.I32)

Module Value.I32

include Value_intf.Iop - with type num := int32 - and type vbool := vbool - and type const := Int32.t - and type float32 := float32 - and type float64 := float64
val zero : int32
val clz : int32 -> int32
val ctz : int32 -> int32
val popcnt : int32 -> int32
val add : int32 -> int32 -> int32
val sub : int32 -> int32 -> int32
val mul : int32 -> int32 -> int32
val div : int32 -> int32 -> int32
val unsigned_div : int32 -> int32 -> int32
val rem : int32 -> int32 -> int32
val unsigned_rem : int32 -> int32 -> int32
val logand : int32 -> int32 -> int32
val logor : int32 -> int32 -> int32
val logxor : int32 -> int32 -> int32
val shl : int32 -> int32 -> int32
val shr_s : int32 -> int32 -> int32
val shr_u : int32 -> int32 -> int32
val rotl : int32 -> int32 -> int32
val rotr : int32 -> int32 -> int32
val eq_const : int32 -> Int32.t -> vbool
val eq : int32 -> int32 -> vbool
val ne : int32 -> int32 -> vbool
val lt : int32 -> int32 -> vbool
val gt : int32 -> int32 -> vbool
val lt_u : int32 -> int32 -> vbool
val gt_u : int32 -> int32 -> vbool
val le : int32 -> int32 -> vbool
val ge : int32 -> int32 -> vbool
val le_u : int32 -> int32 -> vbool
val ge_u : int32 -> int32 -> vbool
val trunc_f32_s : float32 -> int32
val trunc_f32_u : float32 -> int32
val trunc_f64_s : float64 -> int32
val trunc_f64_u : float64 -> int32
val trunc_sat_f32_s : float32 -> int32
val trunc_sat_f32_u : float32 -> int32
val trunc_sat_f64_s : float64 -> int32
val trunc_sat_f64_u : float64 -> int32
val extend_s : int -> int32 -> int32
val to_bool : int32 -> vbool
val reinterpret_f32 : float32 -> int32
val wrap_i64 : int64 -> int32
diff --git a/api/owi/Owi/Concolic/P'/Value/I64/index.html b/api/owi/Owi/Concolic/P'/Value/I64/index.html deleted file mode 100644 index b4d84b587..000000000 --- a/api/owi/Owi/Concolic/P'/Value/I64/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -I64 (owi.Owi.Concolic.P'.Value.I64)

Module Value.I64

include Value_intf.Iop - with type num := int64 - and type vbool := vbool - and type const := Int64.t - and type float32 := float32 - and type float64 := float64
val zero : int64
val clz : int64 -> int64
val ctz : int64 -> int64
val popcnt : int64 -> int64
val add : int64 -> int64 -> int64
val sub : int64 -> int64 -> int64
val mul : int64 -> int64 -> int64
val div : int64 -> int64 -> int64
val unsigned_div : int64 -> int64 -> int64
val rem : int64 -> int64 -> int64
val unsigned_rem : int64 -> int64 -> int64
val logand : int64 -> int64 -> int64
val logor : int64 -> int64 -> int64
val logxor : int64 -> int64 -> int64
val shl : int64 -> int64 -> int64
val shr_s : int64 -> int64 -> int64
val shr_u : int64 -> int64 -> int64
val rotl : int64 -> int64 -> int64
val rotr : int64 -> int64 -> int64
val eq_const : int64 -> Int64.t -> vbool
val eq : int64 -> int64 -> vbool
val ne : int64 -> int64 -> vbool
val lt : int64 -> int64 -> vbool
val gt : int64 -> int64 -> vbool
val lt_u : int64 -> int64 -> vbool
val gt_u : int64 -> int64 -> vbool
val le : int64 -> int64 -> vbool
val ge : int64 -> int64 -> vbool
val le_u : int64 -> int64 -> vbool
val ge_u : int64 -> int64 -> vbool
val trunc_f32_s : float32 -> int64
val trunc_f32_u : float32 -> int64
val trunc_f64_s : float64 -> int64
val trunc_f64_u : float64 -> int64
val trunc_sat_f32_s : float32 -> int64
val trunc_sat_f32_u : float32 -> int64
val trunc_sat_f64_s : float64 -> int64
val trunc_sat_f64_u : float64 -> int64
val extend_s : int -> int64 -> int64
val of_int32 : int32 -> int64
val to_int32 : int64 -> int32
val reinterpret_f64 : float64 -> int64
val extend_i32_s : int32 -> int64
val extend_i32_u : int32 -> int64
diff --git a/api/owi/Owi/Concolic/P'/Value/Ref/index.html b/api/owi/Owi/Concolic/P'/Value/Ref/index.html deleted file mode 100644 index 69d579d82..000000000 --- a/api/owi/Owi/Concolic/P'/Value/Ref/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Ref (owi.Owi.Concolic.P'.Value.Ref)

Module Value.Ref

val get_externref : ref_value -> 'a Prelude.Type.Id.t -> 'a Value_intf.get_ref
diff --git a/api/owi/Owi/Concolic/P'/Value/index.html b/api/owi/Owi/Concolic/P'/Value/index.html deleted file mode 100644 index 73d1ccd18..000000000 --- a/api/owi/Owi/Concolic/P'/Value/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Value (owi.Owi.Concolic.P'.Value)

Module P'.Value

type vbool
type int32
val pp_int32 : Prelude.Fmt.formatter -> int32 -> unit
type int64
val pp_int64 : Prelude.Fmt.formatter -> int64 -> unit
type float32
val pp_float32 : Prelude.Fmt.formatter -> float32 -> unit
type float64
val pp_float64 : Prelude.Fmt.formatter -> float64 -> unit
type ref_value
val pp_ref_value : Prelude.Fmt.formatter -> ref_value -> unit
type t =
  1. | I32 of int32
  2. | I64 of int64
  3. | F32 of float32
  4. | F64 of float64
  5. | Ref of ref_value
val pp : Prelude.Fmt.formatter -> t -> unit
val const_i32 : Int32.t -> int32
val const_i64 : Int64.t -> int64
val const_f32 : Float32.t -> float32
val const_f64 : Float64.t -> float64
val ref_null : Types.binary Types.heap_type -> t
val ref_func : Func_intf.t -> t
val ref_externref : 'a Prelude.Type.Id.t -> 'a -> t
val ref_is_null : ref_value -> vbool
module Ref : sig ... end
module Bool : sig ... end
module F32 : sig ... end
module F64 : sig ... end
module I32 : sig ... end
module I64 : sig ... end
diff --git a/api/owi/Owi/Concolic/P'/index.html b/api/owi/Owi/Concolic/P'/index.html deleted file mode 100644 index 1dd0c498e..000000000 --- a/api/owi/Owi/Concolic/P'/index.html +++ /dev/null @@ -1,13 +0,0 @@ - -P' (owi.Owi.Concolic.P')

Module Concolic.P'

type thread
module Choice : Choice_intf.Base with module V := Value
val select : - Value.vbool -> - if_true:Value.t -> - if_false:Value.t -> - Value.t Choice.t
module Global : sig ... end
module Table : sig ... end
module Memory : sig ... end
module Extern_func : - Func_intf.T_Extern_func - with type int32 := Value.int32 - and type int64 := Value.int64 - and type float32 := Value.float32 - and type float64 := Value.float64 - and type 'a m := 'a Choice.t - and type memory := Memory.t
module Data : sig ... end
module Elem : sig ... end
module Env : sig ... end
module Module_to_run : sig ... end
diff --git a/api/owi/Owi/Concolic/P/Choice'/index.html b/api/owi/Owi/Concolic/P/Choice'/index.html deleted file mode 100644 index 7aabaea9c..000000000 --- a/api/owi/Owi/Concolic/P/Choice'/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Choice' (owi.Owi.Concolic.P.Choice')

Module P.Choice'

type 'a t
val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
val map : 'a t -> ('a -> 'b) -> 'b t
val select : Value.vbool -> bool t
val select_i32 : Value.int32 -> Int32.t t
val trap : Trap.t -> 'a t
val let* : 'a t -> ('a -> 'b t) -> 'b t
val let+ : 'a t -> ('a -> 'b) -> 'b t
diff --git a/api/owi/Owi/Concolic/P/Data/index.html b/api/owi/Owi/Concolic/P/Data/index.html deleted file mode 100644 index daa659e1e..000000000 --- a/api/owi/Owi/Concolic/P/Data/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Data (owi.Owi.Concolic.P.Data)

Module P.Data

type t = Link_env.data
val value : Link_env.data -> string
diff --git a/api/owi/Owi/Concolic/P/Elem/index.html b/api/owi/Owi/Concolic/P/Elem/index.html deleted file mode 100644 index d10cc385b..000000000 --- a/api/owi/Owi/Concolic/P/Elem/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Elem (owi.Owi.Concolic.P.Elem)

Module P.Elem

type t = Link_env.elem
val get : t -> int -> Value.ref_value
val size : t -> int
diff --git a/api/owi/Owi/Concolic/P/Env/index.html b/api/owi/Owi/Concolic/P/Env/index.html deleted file mode 100644 index 8c1718a9c..000000000 --- a/api/owi/Owi/Concolic/P/Env/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Env (owi.Owi.Concolic.P.Env)

Module P.Env

type t' = Env_id.t
val get_memory : 'a Link_env.t -> int -> Memory.t Choice.t
val get_func : 'a Link_env.t -> int -> Func_intf.t
val get_extern_func : 'a Link_env.t -> Func_id.t -> 'b
val get_elem : 'a Link_env.t -> int -> Link_env.elem
val get_data : 'a Link_env.t -> int -> Link_env.data Choice.t
val get_global : 'a Link_env.t -> int -> Global.t Choice.t
val drop_elem : 'a -> unit
val drop_data : Link_env.data -> unit
diff --git a/api/owi/Owi/Concolic/P/Extern_func/index.html b/api/owi/Owi/Concolic/P/Extern_func/index.html deleted file mode 100644 index 026208248..000000000 --- a/api/owi/Owi/Concolic/P/Extern_func/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Extern_func (owi.Owi.Concolic.P.Extern_func)

Module P.Extern_func

type !'b telt =
  1. | I32 : Value.int32 telt
  2. | I64 : Value.int64 telt
  3. | F32 : Value.float32 telt
  4. | F64 : Value.float64 telt
  5. | Externref : 'a Prelude.Type.Id.t -> 'a telt
type !'e rtype =
  1. | R0 : unit rtype
  2. | R1 : 'a telt -> 'a rtype
  3. | R2 : 'a0 telt * 'b telt -> ('a0 * 'b) rtype
  4. | R3 : 'a1 telt * 'b0 telt * 'c telt -> ('a1 * 'b0 * 'c) rtype
  5. | R4 : 'a2 telt * 'b1 telt * 'c0 telt * 'd telt -> ('a2 * 'b1 * 'c0 * 'd) rtype
type (!'c, !'d) atype =
  1. | Mem : ('b, 'r) atype -> (Memory.t -> 'b, 'r) atype
  2. | UArg : ('b0, 'r0) atype -> (unit -> 'b0, 'r0) atype
  3. | Arg : 'a telt * ('b1, 'r1) atype -> ('a -> 'b1, 'r1) atype
  4. | NArg : string * 'a0 telt * ('b2, 'r2) atype -> ('a0 -> 'b2, 'r2) atype
  5. | Res : ('r3, 'r3) atype
type !'a func_type =
  1. | Func : ('f, 'r Choice.t) atype * 'r rtype -> 'f func_type
type extern_func =
  1. | Extern_func : 'a func_type * 'a -> extern_func
diff --git a/api/owi/Owi/Concolic/P/Global/index.html b/api/owi/Owi/Concolic/P/Global/index.html deleted file mode 100644 index 78bd47875..000000000 --- a/api/owi/Owi/Concolic/P/Global/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Global (owi.Owi.Concolic.P.Global)

Module P.Global

val value : t -> Value.t
val set_value : t -> Concolic_value.V.t -> unit
val mut : t -> Types.mut
diff --git a/api/owi/Owi/Concolic/P/Memory/index.html b/api/owi/Owi/Concolic/P/Memory/index.html deleted file mode 100644 index 651ceebb4..000000000 --- a/api/owi/Owi/Concolic/P/Memory/index.html +++ /dev/null @@ -1,60 +0,0 @@ - -Memory (owi.Owi.Concolic.P.Memory)

Module P.Memory

module C = Concrete_memory
module S = Symbolic_memory
val with_concrete : - ('a, 'b) Concolic_value.cs -> - Concolic_value.V.int32 -> - ('c -> Owi.Concrete.Value.int32 -> 'd) -> - ('e -> Symbolic_value.int32 -> 'f) -> - ('g, 'h) Concolic_value.cs Choice.t
val with_concrete_store : - ('a, 'b) Concolic_value.cs -> - Concolic_value.V.int32 -> - ('c -> addr:Owi.Concrete.Value.int32 -> 'd -> 'e) -> - ('f -> addr:Symbolic_value.int32 -> 'g -> 'h) -> - ('i, 'j) Concolic_value.cs -> - 'k Choice.t
val store_8 : - (C.t, S.t) Concolic_value.cs -> - addr:Concolic_value.V.int32 -> - (int32, Smtml.Expr.t) Concolic_value.cs -> - unit Choice.t
val store_16 : - (C.t, S.t) Concolic_value.cs -> - addr:Concolic_value.V.int32 -> - (int32, Smtml.Expr.t) Concolic_value.cs -> - unit Choice.t
val store_32 : - (C.t, S.t) Concolic_value.cs -> - addr:Concolic_value.V.int32 -> - (int32, Smtml.Expr.t) Concolic_value.cs -> - unit Choice.t
val store_64 : - (C.t, S.t) Concolic_value.cs -> - addr:Concolic_value.V.int32 -> - (int64, Smtml.Expr.t) Concolic_value.cs -> - unit Choice.t
val grow : - (Concrete_memory.t, Symbolic_memory.t) Concolic_value.cs -> - (int32, Smtml.Expr.t) Concolic_value.cs -> - unit
val size : - (Concrete_memory.t, Symbolic_memory.t) Concolic_value.cs -> - (int32, Smtml.Expr.t) Concolic_value.cs
val size_in_pages : - (Concrete_memory.t, Symbolic_memory.t) Concolic_value.cs -> - (int32, Smtml.Expr.t) Concolic_value.cs
val fill : 'a -> 'b
val blit : 'a -> 'b
val blit_string : - (Concrete_memory.t, Symbolic_memory.t) Concolic_value.cs -> - string -> - src:(int32, Smtml.Expr.t) Concolic_value.cs -> - dst:(int32, Smtml.Expr.t) Concolic_value.cs -> - len:(int32, Smtml.Expr.t) Concolic_value.cs -> - (bool, Smtml.Expr.t) Concolic_value.cs
val get_limit_max : 'a -> 'b
diff --git a/api/owi/Owi/Concolic/P/Module_to_run/index.html b/api/owi/Owi/Concolic/P/Module_to_run/index.html deleted file mode 100644 index 4bd43d7e5..000000000 --- a/api/owi/Owi/Concolic/P/Module_to_run/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Module_to_run (owi.Owi.Concolic.P.Module_to_run)

Module P.Module_to_run

type t = {
  1. modul : Binary.modul;
  2. env : Env.t;
  3. to_run : Types.binary Types.expr list;
}
val env : t -> Env.t
val modul : t -> Binary.modul
val to_run : t -> Types.binary Types.expr list
diff --git a/api/owi/Owi/Concolic/P/Table/index.html b/api/owi/Owi/Concolic/P/Table/index.html deleted file mode 100644 index 21807a96e..000000000 --- a/api/owi/Owi/Concolic/P/Table/index.html +++ /dev/null @@ -1,26 +0,0 @@ - -Table (owi.Owi.Concolic.P.Table)

Module P.Table

val size : (Concrete_table.t, 'a) Concolic_value.cs -> int
val max_size : (Concrete_table.t, 'a) Concolic_value.cs -> int option
val copy : - t_src:(Concrete_table.t, Symbolic_table.t) Concolic_value.cs -> - t_dst:(Concrete_table.t, Symbolic_table.t) Concolic_value.cs -> - src:Int32.t -> - dst:Int32.t -> - len:Int32.t -> - unit
diff --git a/api/owi/Owi/Concolic/P/index.html b/api/owi/Owi/Concolic/P/index.html deleted file mode 100644 index 9723b7a8b..000000000 --- a/api/owi/Owi/Concolic/P/index.html +++ /dev/null @@ -1,6 +0,0 @@ - -P (owi.Owi.Concolic.P)

Module Concolic.P

module Value = Concolic_value.V
module Choice' : Choice_intf.Base with module V := Value
module Choice = Concolic_choice
val select : - Value.vbool -> - if_true:Value.t -> - if_false:Value.t -> - Value.t Choice.t
module Global : sig ... end
module Table : sig ... end
module Memory : sig ... end
module Extern_func : sig ... end
module Data : sig ... end
module Elem : sig ... end
module Env : sig ... end
module Module_to_run : sig ... end
diff --git a/api/owi/Owi/Concolic/index.html b/api/owi/Owi/Concolic/index.html deleted file mode 100644 index 9fd2372d9..000000000 --- a/api/owi/Owi/Concolic/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -Concolic (owi.Owi.Concolic)

Module Owi.Concolic

module P : sig ... end
diff --git a/api/owi/Owi/Concolic_choice/index.html b/api/owi/Owi/Concolic_choice/index.html deleted file mode 100644 index 96b155336..000000000 --- a/api/owi/Owi/Concolic_choice/index.html +++ /dev/null @@ -1,15 +0,0 @@ - -Concolic_choice (owi.Owi.Concolic_choice)

Module Owi.Concolic_choice

type err =
  1. | Assert_fail
  2. | Trap of Trap.t
  3. | Assume_fail of Symbolic_value.vbool
type pc_elt =
  1. | Select of Symbolic_value.vbool * bool
  2. | Select_i32 of Symbolic_value.int32 * int32
  3. | Assume of Symbolic_value.vbool
  4. | Assert of Symbolic_value.vbool
type pc = pc_elt list
type assignments = (Smtml.Symbol.t * Concrete_value.t) list
val pp_pc_elt : Stdlib.Format.formatter -> pc_elt -> unit
val pp_pc : Stdlib.Format.formatter -> pc_elt list -> unit
val pp_assignments : - no_values:bool -> - Stdlib.Format.formatter -> - (Smtml.Symbol.t * Concrete_value.t) list -> - unit
val pc_elt_to_expr : pc_elt -> Symbolic_value.vbool option
val pc_to_exprs : pc_elt list -> Symbolic_value.vbool list
type shared_thread_info = {
  1. memories : Symbolic_memory.collection;
  2. tables : Symbolic_table.collection;
  3. globals : Symbolic_global.collection;
}
type thread = {
  1. pc : pc;
  2. symbols : int;
  3. symbols_value : assignments;
  4. preallocated_values : (Smtml.Symbol.t, Smtml.Value.t) Prelude.Hashtbl.t;
  5. shared : shared_thread_info;
}
val init_thread : - (Smtml.Symbol.t, Smtml.Value.t) Prelude.Hashtbl.t -> - shared_thread_info -> - thread
type 'a run_result = ('a, err) Prelude.Result.t * thread
type 'a t =
  1. | M of thread -> 'a run_result
val return : 'a -> 'b t
val bind : 'a t -> ('b -> 'c t) -> 'd t
val let* : 'a t -> ('a -> 'b t) -> 'b t
val map : 'a t -> ('b -> 'c) -> 'd t
val let+ : 'a t -> ('a -> 'b) -> 'b t
val abort : unit t
val add_pc : Concolic_value.V.vbool -> unit t
val add_pc_to_thread : thread -> pc_elt -> thread
val no_choice : Smtml.Expr.t -> bool
val assume : Concolic_value.V.vbool -> unit t
val assertion : Concolic_value.V.vbool -> unit t
val trap : Trap.t -> 'a t
val with_thread : (thread -> 'a) -> 'b t
val with_new_symbol : - Smtml.Ty.t -> - (Smtml.Symbol.t -> Smtml.Value.t option -> Concrete_value.t * 'a) -> - 'b t
val run : - (Smtml.Symbol.t, Smtml.Value.t) Prelude.Hashtbl.t -> - 'a t -> - 'b run_result
val run' : 'a t -> 'b run_result
diff --git a/api/owi/Owi/Concolic_value/T_pair/Bool/index.html b/api/owi/Owi/Concolic_value/T_pair/Bool/index.html deleted file mode 100644 index 1ce692db2..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/Bool/index.html +++ /dev/null @@ -1,8 +0,0 @@ - -Bool (owi.Owi.Concolic_value.T_pair.Bool)

Module T_pair.Bool

val const : bool -> (C.vbool, S.vbool) cs
val not : (C.vbool, S.vbool) cs -> (C.vbool, S.vbool) cs
val or_ : - (C.vbool, S.vbool) cs -> - (C.vbool, S.vbool) cs -> - (C.vbool, S.vbool) cs
val and_ : - (C.vbool, S.vbool) cs -> - (C.vbool, S.vbool) cs -> - (C.vbool, S.vbool) cs
val int32 : (C.vbool, S.vbool) cs -> (C.int32, S.int32) cs
val pp : Stdlib.Format.formatter -> (C.vbool, S.vbool) cs -> unit
diff --git a/api/owi/Owi/Concolic_value/T_pair/F32/index.html b/api/owi/Owi/Concolic_value/T_pair/F32/index.html deleted file mode 100644 index 88880ca6e..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/F32/index.html +++ /dev/null @@ -1,23 +0,0 @@ - -F32 (owi.Owi.Concolic_value.T_pair.F32)

Module T_pair.F32

include sig ... end
val zero : (C.float32, S.float32) cs
val nearest : (C.float32, S.float32) cs -> (C.float32, S.float32) cs
val copy_sign : - (C.float32, S.float32) cs -> - (C.float32, S.float32) cs -> - (C.float32, S.float32) cs
val convert_i32_s : int32 -> (C.float32, S.float32) cs
val convert_i32_u : int32 -> (C.float32, S.float32) cs
val convert_i64_s : int64 -> (C.float32, S.float32) cs
val convert_i64_u : int64 -> (C.float32, S.float32) cs
val of_bits : (C.int32, S.int32) cs -> (C.float32, S.float32) cs
val to_bits : (C.float32, S.float32) cs -> (C.int32, S.int32) cs
val demote_f64 : (C.float64, S.float64) cs -> (C.float32, S.float32) cs
val reinterpret_i32 : (C.int32, S.int32) cs -> (C.float32, S.float32) cs
diff --git a/api/owi/Owi/Concolic_value/T_pair/F64/index.html b/api/owi/Owi/Concolic_value/T_pair/F64/index.html deleted file mode 100644 index 53e88cfb0..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/F64/index.html +++ /dev/null @@ -1,23 +0,0 @@ - -F64 (owi.Owi.Concolic_value.T_pair.F64)

Module T_pair.F64

include sig ... end
val zero : (C.float64, S.float64) cs
val nearest : (C.float64, S.float64) cs -> (C.float64, S.float64) cs
val copy_sign : - (C.float64, S.float64) cs -> - (C.float64, S.float64) cs -> - (C.float64, S.float64) cs
val convert_i32_s : int32 -> (C.float64, S.float64) cs
val convert_i32_u : int32 -> (C.float64, S.float64) cs
val convert_i64_s : int64 -> (C.float64, S.float64) cs
val convert_i64_u : int64 -> (C.float64, S.float64) cs
val of_bits : (C.int64, S.int64) cs -> (C.float64, S.float64) cs
val to_bits : (C.float64, S.float64) cs -> (C.int64, S.int64) cs
val promote_f32 : (C.float32, S.float32) cs -> (C.float64, S.float64) cs
val reinterpret_i64 : (C.int64, S.int64) cs -> (C.float64, S.float64) cs
diff --git a/api/owi/Owi/Concolic_value/T_pair/I32/index.html b/api/owi/Owi/Concolic_value/T_pair/I32/index.html deleted file mode 100644 index 15c68f515..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/I32/index.html +++ /dev/null @@ -1,47 +0,0 @@ - -I32 (owi.Owi.Concolic_value.T_pair.I32)

Module T_pair.I32

include sig ... end
val zero : (C.int32, S.int32) cs
val clz : (C.int32, S.int32) cs -> (C.int32, S.int32) cs
val ctz : (C.int32, S.int32) cs -> (C.int32, S.int32) cs
val popcnt : (C.int32, S.int32) cs -> (C.int32, S.int32) cs
val add : - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs
val sub : - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs
val mul : - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs
val div : - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs
val unsigned_div : - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs
val rem : - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs
val unsigned_rem : - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs
val logand : - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs
val logor : - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs
val logxor : - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs
val shl : - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs
val shr_s : - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs
val shr_u : - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs
val rotl : - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs
val rotr : - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs -> - (C.int32, S.int32) cs
val eq_const : (C.int32, S.int32) cs -> Int32.t -> vbool
val eq : (C.int32, S.int32) cs -> (C.int32, S.int32) cs -> vbool
val ne : (C.int32, S.int32) cs -> (C.int32, S.int32) cs -> vbool
val lt : (C.int32, S.int32) cs -> (C.int32, S.int32) cs -> vbool
val gt : (C.int32, S.int32) cs -> (C.int32, S.int32) cs -> vbool
val lt_u : (C.int32, S.int32) cs -> (C.int32, S.int32) cs -> vbool
val gt_u : (C.int32, S.int32) cs -> (C.int32, S.int32) cs -> vbool
val le : (C.int32, S.int32) cs -> (C.int32, S.int32) cs -> vbool
val ge : (C.int32, S.int32) cs -> (C.int32, S.int32) cs -> vbool
val le_u : (C.int32, S.int32) cs -> (C.int32, S.int32) cs -> vbool
val ge_u : (C.int32, S.int32) cs -> (C.int32, S.int32) cs -> vbool
val trunc_f32_s : float32 -> (C.int32, S.int32) cs
val trunc_f32_u : float32 -> (C.int32, S.int32) cs
val trunc_f64_s : float64 -> (C.int32, S.int32) cs
val trunc_f64_u : float64 -> (C.int32, S.int32) cs
val trunc_sat_f32_s : float32 -> (C.int32, S.int32) cs
val trunc_sat_f32_u : float32 -> (C.int32, S.int32) cs
val trunc_sat_f64_s : float64 -> (C.int32, S.int32) cs
val trunc_sat_f64_u : float64 -> (C.int32, S.int32) cs
val extend_s : int -> (C.int32, S.int32) cs -> (C.int32, S.int32) cs
val to_bool : (C.int32, S.int32) cs -> (C.vbool, S.vbool) cs
val reinterpret_f32 : (C.float32, S.float32) cs -> (C.int32, S.int32) cs
val wrap_i64 : (C.int64, S.int64) cs -> (C.int32, S.int32) cs
diff --git a/api/owi/Owi/Concolic_value/T_pair/I64/index.html b/api/owi/Owi/Concolic_value/T_pair/I64/index.html deleted file mode 100644 index d36a72b92..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/I64/index.html +++ /dev/null @@ -1,47 +0,0 @@ - -I64 (owi.Owi.Concolic_value.T_pair.I64)

Module T_pair.I64

include sig ... end
val zero : (C.int64, S.int64) cs
val clz : (C.int64, S.int64) cs -> (C.int64, S.int64) cs
val ctz : (C.int64, S.int64) cs -> (C.int64, S.int64) cs
val popcnt : (C.int64, S.int64) cs -> (C.int64, S.int64) cs
val add : - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs
val sub : - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs
val mul : - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs
val div : - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs
val unsigned_div : - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs
val rem : - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs
val unsigned_rem : - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs
val logand : - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs
val logor : - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs
val logxor : - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs
val shl : - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs
val shr_s : - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs
val shr_u : - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs
val rotl : - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs
val rotr : - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs -> - (C.int64, S.int64) cs
val eq_const : (C.int64, S.int64) cs -> Int64.t -> vbool
val eq : (C.int64, S.int64) cs -> (C.int64, S.int64) cs -> vbool
val ne : (C.int64, S.int64) cs -> (C.int64, S.int64) cs -> vbool
val lt : (C.int64, S.int64) cs -> (C.int64, S.int64) cs -> vbool
val gt : (C.int64, S.int64) cs -> (C.int64, S.int64) cs -> vbool
val lt_u : (C.int64, S.int64) cs -> (C.int64, S.int64) cs -> vbool
val gt_u : (C.int64, S.int64) cs -> (C.int64, S.int64) cs -> vbool
val le : (C.int64, S.int64) cs -> (C.int64, S.int64) cs -> vbool
val ge : (C.int64, S.int64) cs -> (C.int64, S.int64) cs -> vbool
val le_u : (C.int64, S.int64) cs -> (C.int64, S.int64) cs -> vbool
val ge_u : (C.int64, S.int64) cs -> (C.int64, S.int64) cs -> vbool
val trunc_f32_s : float32 -> (C.int64, S.int64) cs
val trunc_f32_u : float32 -> (C.int64, S.int64) cs
val trunc_f64_s : float64 -> (C.int64, S.int64) cs
val trunc_f64_u : float64 -> (C.int64, S.int64) cs
val trunc_sat_f32_s : float32 -> (C.int64, S.int64) cs
val trunc_sat_f32_u : float32 -> (C.int64, S.int64) cs
val trunc_sat_f64_s : float64 -> (C.int64, S.int64) cs
val trunc_sat_f64_u : float64 -> (C.int64, S.int64) cs
val extend_s : int -> (C.int64, S.int64) cs -> (C.int64, S.int64) cs
val of_int32 : (C.int32, S.int32) cs -> (C.int64, S.int64) cs
val to_int32 : (C.int64, S.int64) cs -> (C.int32, S.int32) cs
val reinterpret_f64 : (C.float64, S.float64) cs -> (C.int64, S.int64) cs
val extend_i32_s : (C.int32, S.int32) cs -> (C.int64, S.int64) cs
val extend_i32_u : (C.int32, S.int32) cs -> (C.int64, S.int64) cs
diff --git a/api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-1-CT/index.html b/api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-1-CT/index.html deleted file mode 100644 index b38d5478c..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-1-CT/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -CT (owi.Owi.Concolic_value.T_pair.MK_Fop.CT)

Parameter MK_Fop.CT

type t
diff --git a/api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-2-CIT/index.html b/api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-2-CIT/index.html deleted file mode 100644 index 7d2aedb73..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-2-CIT/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -CIT (owi.Owi.Concolic_value.T_pair.MK_Fop.CIT)

Parameter MK_Fop.CIT

type t
diff --git a/api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-3-ST/index.html b/api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-3-ST/index.html deleted file mode 100644 index 6e4b8e6f3..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-3-ST/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -ST (owi.Owi.Concolic_value.T_pair.MK_Fop.ST)

Parameter MK_Fop.ST

type t
diff --git a/api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-4-SIT/index.html b/api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-4-SIT/index.html deleted file mode 100644 index 66d0c896f..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-4-SIT/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -SIT (owi.Owi.Concolic_value.T_pair.MK_Fop.SIT)

Parameter MK_Fop.SIT

type t
diff --git a/api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-5-CFop/index.html b/api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-5-CFop/index.html deleted file mode 100644 index 856992b5c..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-5-CFop/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -CFop (owi.Owi.Concolic_value.T_pair.MK_Fop.CFop)

Parameter MK_Fop.CFop

include Value_intf.Fop - with type num := CT.t - and type vbool := C.vbool - and type int32 := C.int32 - and type int64 := C.int64 - and type same_size_int := CIT.t
val zero : CT.t
val abs : CT.t -> CT.t
val neg : CT.t -> CT.t
val sqrt : CT.t -> CT.t
val ceil : CT.t -> CT.t
val floor : CT.t -> CT.t
val trunc : CT.t -> CT.t
val nearest : CT.t -> CT.t
val add : CT.t -> CT.t -> CT.t
val sub : CT.t -> CT.t -> CT.t
val mul : CT.t -> CT.t -> CT.t
val div : CT.t -> CT.t -> CT.t
val min : CT.t -> CT.t -> CT.t
val max : CT.t -> CT.t -> CT.t
val copy_sign : CT.t -> CT.t -> CT.t
val eq : CT.t -> CT.t -> C.vbool
val ne : CT.t -> CT.t -> C.vbool
val lt : CT.t -> CT.t -> C.vbool
val gt : CT.t -> CT.t -> C.vbool
val le : CT.t -> CT.t -> C.vbool
val ge : CT.t -> CT.t -> C.vbool
val convert_i32_s : C.int32 -> CT.t
val convert_i32_u : C.int32 -> CT.t
val convert_i64_s : C.int64 -> CT.t
val convert_i64_u : C.int64 -> CT.t
val of_bits : CIT.t -> CT.t
val to_bits : CT.t -> CIT.t
diff --git a/api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-6-SFop/index.html b/api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-6-SFop/index.html deleted file mode 100644 index 40b0734ad..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-6-SFop/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -SFop (owi.Owi.Concolic_value.T_pair.MK_Fop.SFop)

Parameter MK_Fop.SFop

include Value_intf.Fop - with type num := ST.t - and type vbool := S.vbool - and type int32 := S.int32 - and type int64 := S.int64 - and type same_size_int := SIT.t
val zero : ST.t
val abs : ST.t -> ST.t
val neg : ST.t -> ST.t
val sqrt : ST.t -> ST.t
val ceil : ST.t -> ST.t
val floor : ST.t -> ST.t
val trunc : ST.t -> ST.t
val nearest : ST.t -> ST.t
val add : ST.t -> ST.t -> ST.t
val sub : ST.t -> ST.t -> ST.t
val mul : ST.t -> ST.t -> ST.t
val div : ST.t -> ST.t -> ST.t
val min : ST.t -> ST.t -> ST.t
val max : ST.t -> ST.t -> ST.t
val copy_sign : ST.t -> ST.t -> ST.t
val eq : ST.t -> ST.t -> S.vbool
val ne : ST.t -> ST.t -> S.vbool
val lt : ST.t -> ST.t -> S.vbool
val gt : ST.t -> ST.t -> S.vbool
val le : ST.t -> ST.t -> S.vbool
val ge : ST.t -> ST.t -> S.vbool
val convert_i32_s : S.int32 -> ST.t
val convert_i32_u : S.int32 -> ST.t
val convert_i64_s : S.int64 -> ST.t
val convert_i64_u : S.int64 -> ST.t
val of_bits : SIT.t -> ST.t
val to_bits : ST.t -> SIT.t
diff --git a/api/owi/Owi/Concolic_value/T_pair/MK_Fop/index.html b/api/owi/Owi/Concolic_value/T_pair/MK_Fop/index.html deleted file mode 100644 index c89e04cdf..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/MK_Fop/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -MK_Fop (owi.Owi.Concolic_value.T_pair.MK_Fop)

Module T_pair.MK_Fop

Parameters

module CT : T
module CIT : T
module ST : T
module SIT : T
module CFop : CFop with type num := CT.t and type same_size_int := CIT.t
module SFop : SFop with type num := ST.t and type same_size_int := SIT.t

Signature

val zero : (CT.t, ST.t) cs
val abs : (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val neg : (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val sqrt : (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val ceil : (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val floor : (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val trunc : (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val nearest : (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val add : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val sub : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val mul : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val div : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val min : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val max : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val copy_sign : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val eq : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val ne : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val lt : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val gt : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val le : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val ge : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val convert_i32_s : int32 -> (CT.t, ST.t) cs
val convert_i32_u : int32 -> (CT.t, ST.t) cs
val convert_i64_s : int64 -> (CT.t, ST.t) cs
val convert_i64_u : int64 -> (CT.t, ST.t) cs
val of_bits : (CIT.t, SIT.t) cs -> (CT.t, ST.t) cs
val to_bits : (CT.t, ST.t) cs -> (CIT.t, SIT.t) cs
diff --git a/api/owi/Owi/Concolic_value/T_pair/MK_Iop/argument-1-Const/index.html b/api/owi/Owi/Concolic_value/T_pair/MK_Iop/argument-1-Const/index.html deleted file mode 100644 index 2b4c4b930..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/MK_Iop/argument-1-Const/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Const (owi.Owi.Concolic_value.T_pair.MK_Iop.Const)

Parameter MK_Iop.Const

type t
diff --git a/api/owi/Owi/Concolic_value/T_pair/MK_Iop/argument-2-CT/index.html b/api/owi/Owi/Concolic_value/T_pair/MK_Iop/argument-2-CT/index.html deleted file mode 100644 index 457d1c48e..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/MK_Iop/argument-2-CT/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -CT (owi.Owi.Concolic_value.T_pair.MK_Iop.CT)

Parameter MK_Iop.CT

type t
diff --git a/api/owi/Owi/Concolic_value/T_pair/MK_Iop/argument-3-ST/index.html b/api/owi/Owi/Concolic_value/T_pair/MK_Iop/argument-3-ST/index.html deleted file mode 100644 index 97d9443f9..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/MK_Iop/argument-3-ST/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -ST (owi.Owi.Concolic_value.T_pair.MK_Iop.ST)

Parameter MK_Iop.ST

type t
diff --git a/api/owi/Owi/Concolic_value/T_pair/MK_Iop/argument-4-CIop/index.html b/api/owi/Owi/Concolic_value/T_pair/MK_Iop/argument-4-CIop/index.html deleted file mode 100644 index fb588ab37..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/MK_Iop/argument-4-CIop/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -CIop (owi.Owi.Concolic_value.T_pair.MK_Iop.CIop)

Parameter MK_Iop.CIop

include Value_intf.Iop - with type num := CT.t - and type const := Const.t - and type vbool := C.vbool - and type float32 := C.float32 - and type float64 := C.float64
val zero : CT.t
val clz : CT.t -> CT.t
val ctz : CT.t -> CT.t
val popcnt : CT.t -> CT.t
val add : CT.t -> CT.t -> CT.t
val sub : CT.t -> CT.t -> CT.t
val mul : CT.t -> CT.t -> CT.t
val div : CT.t -> CT.t -> CT.t
val unsigned_div : CT.t -> CT.t -> CT.t
val rem : CT.t -> CT.t -> CT.t
val unsigned_rem : CT.t -> CT.t -> CT.t
val logand : CT.t -> CT.t -> CT.t
val logor : CT.t -> CT.t -> CT.t
val logxor : CT.t -> CT.t -> CT.t
val shl : CT.t -> CT.t -> CT.t
val shr_s : CT.t -> CT.t -> CT.t
val shr_u : CT.t -> CT.t -> CT.t
val rotl : CT.t -> CT.t -> CT.t
val rotr : CT.t -> CT.t -> CT.t
val eq_const : CT.t -> Const.t -> C.vbool
val eq : CT.t -> CT.t -> C.vbool
val ne : CT.t -> CT.t -> C.vbool
val lt : CT.t -> CT.t -> C.vbool
val gt : CT.t -> CT.t -> C.vbool
val lt_u : CT.t -> CT.t -> C.vbool
val gt_u : CT.t -> CT.t -> C.vbool
val le : CT.t -> CT.t -> C.vbool
val ge : CT.t -> CT.t -> C.vbool
val le_u : CT.t -> CT.t -> C.vbool
val ge_u : CT.t -> CT.t -> C.vbool
val trunc_f32_s : C.float32 -> CT.t
val trunc_f32_u : C.float32 -> CT.t
val trunc_f64_s : C.float64 -> CT.t
val trunc_f64_u : C.float64 -> CT.t
val trunc_sat_f32_s : C.float32 -> CT.t
val trunc_sat_f32_u : C.float32 -> CT.t
val trunc_sat_f64_s : C.float64 -> CT.t
val trunc_sat_f64_u : C.float64 -> CT.t
val extend_s : int -> CT.t -> CT.t
diff --git a/api/owi/Owi/Concolic_value/T_pair/MK_Iop/argument-5-SIop/index.html b/api/owi/Owi/Concolic_value/T_pair/MK_Iop/argument-5-SIop/index.html deleted file mode 100644 index 9fd252b15..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/MK_Iop/argument-5-SIop/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -SIop (owi.Owi.Concolic_value.T_pair.MK_Iop.SIop)

Parameter MK_Iop.SIop

include Value_intf.Iop - with type num := ST.t - and type const := Const.t - and type vbool := S.vbool - and type float32 := S.float32 - and type float64 := S.float64
val zero : ST.t
val clz : ST.t -> ST.t
val ctz : ST.t -> ST.t
val popcnt : ST.t -> ST.t
val add : ST.t -> ST.t -> ST.t
val sub : ST.t -> ST.t -> ST.t
val mul : ST.t -> ST.t -> ST.t
val div : ST.t -> ST.t -> ST.t
val unsigned_div : ST.t -> ST.t -> ST.t
val rem : ST.t -> ST.t -> ST.t
val unsigned_rem : ST.t -> ST.t -> ST.t
val logand : ST.t -> ST.t -> ST.t
val logor : ST.t -> ST.t -> ST.t
val logxor : ST.t -> ST.t -> ST.t
val shl : ST.t -> ST.t -> ST.t
val shr_s : ST.t -> ST.t -> ST.t
val shr_u : ST.t -> ST.t -> ST.t
val rotl : ST.t -> ST.t -> ST.t
val rotr : ST.t -> ST.t -> ST.t
val eq_const : ST.t -> Const.t -> S.vbool
val eq : ST.t -> ST.t -> S.vbool
val ne : ST.t -> ST.t -> S.vbool
val lt : ST.t -> ST.t -> S.vbool
val gt : ST.t -> ST.t -> S.vbool
val lt_u : ST.t -> ST.t -> S.vbool
val gt_u : ST.t -> ST.t -> S.vbool
val le : ST.t -> ST.t -> S.vbool
val ge : ST.t -> ST.t -> S.vbool
val le_u : ST.t -> ST.t -> S.vbool
val ge_u : ST.t -> ST.t -> S.vbool
val trunc_f32_s : S.float32 -> ST.t
val trunc_f32_u : S.float32 -> ST.t
val trunc_f64_s : S.float64 -> ST.t
val trunc_f64_u : S.float64 -> ST.t
val trunc_sat_f32_s : S.float32 -> ST.t
val trunc_sat_f32_u : S.float32 -> ST.t
val trunc_sat_f64_s : S.float64 -> ST.t
val trunc_sat_f64_u : S.float64 -> ST.t
val extend_s : int -> ST.t -> ST.t
diff --git a/api/owi/Owi/Concolic_value/T_pair/MK_Iop/index.html b/api/owi/Owi/Concolic_value/T_pair/MK_Iop/index.html deleted file mode 100644 index 11b7f5a38..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/MK_Iop/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -MK_Iop (owi.Owi.Concolic_value.T_pair.MK_Iop)

Module T_pair.MK_Iop

Parameters

module Const : T
module CT : T
module ST : T
module CIop : CIop with type num := CT.t and type const := Const.t
module SIop : SIop with type num := ST.t and type const := Const.t

Signature

val zero : (CT.t, ST.t) cs
val clz : (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val ctz : (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val popcnt : (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val add : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val sub : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val mul : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val div : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val unsigned_div : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val rem : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val unsigned_rem : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val logand : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val logor : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val logxor : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val shl : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val shr_s : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val shr_u : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val rotl : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val rotr : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val eq_const : (CT.t, ST.t) cs -> Const.t -> vbool
val eq : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val ne : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val lt : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val gt : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val lt_u : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val gt_u : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val le : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val ge : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val le_u : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val ge_u : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val trunc_f32_s : float32 -> (CT.t, ST.t) cs
val trunc_f32_u : float32 -> (CT.t, ST.t) cs
val trunc_f64_s : float64 -> (CT.t, ST.t) cs
val trunc_f64_u : float64 -> (CT.t, ST.t) cs
val trunc_sat_f32_s : float32 -> (CT.t, ST.t) cs
val trunc_sat_f32_u : float32 -> (CT.t, ST.t) cs
val trunc_sat_f64_s : float64 -> (CT.t, ST.t) cs
val trunc_sat_f64_u : float64 -> (CT.t, ST.t) cs
val extend_s : int -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
diff --git a/api/owi/Owi/Concolic_value/T_pair/Ref/index.html b/api/owi/Owi/Concolic_value/T_pair/Ref/index.html deleted file mode 100644 index f0eeeb090..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/Ref/index.html +++ /dev/null @@ -1,5 +0,0 @@ - -Ref (owi.Owi.Concolic_value.T_pair.Ref)

Module T_pair.Ref

val equal_func_intf : Func_intf.t -> Func_intf.t -> bool
val get_externref : - (C.ref_value, S.ref_value) cs -> - 'a Prelude.Type.Id.t -> - 'b Value_intf.get_ref
diff --git a/api/owi/Owi/Concolic_value/T_pair/argument-1-C/Bool/index.html b/api/owi/Owi/Concolic_value/T_pair/argument-1-C/Bool/index.html deleted file mode 100644 index 97d3e6db4..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/argument-1-C/Bool/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Bool (owi.Owi.Concolic_value.T_pair.C.Bool)

Module C.Bool

val const : bool -> vbool
val not : vbool -> vbool
val or_ : vbool -> vbool -> vbool
val and_ : vbool -> vbool -> vbool
val int32 : vbool -> int32
val pp : Prelude.Fmt.formatter -> vbool -> unit
diff --git a/api/owi/Owi/Concolic_value/T_pair/argument-1-C/F32/index.html b/api/owi/Owi/Concolic_value/T_pair/argument-1-C/F32/index.html deleted file mode 100644 index d8f1c9655..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/argument-1-C/F32/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -F32 (owi.Owi.Concolic_value.T_pair.C.F32)

Module C.F32

include Value_intf.Fop - with type num := float32 - and type vbool := vbool - and type int32 := int32 - and type int64 := int64 - and type same_size_int := int32
val zero : float32
val abs : float32 -> float32
val neg : float32 -> float32
val sqrt : float32 -> float32
val ceil : float32 -> float32
val floor : float32 -> float32
val trunc : float32 -> float32
val nearest : float32 -> float32
val add : float32 -> float32 -> float32
val sub : float32 -> float32 -> float32
val mul : float32 -> float32 -> float32
val div : float32 -> float32 -> float32
val min : float32 -> float32 -> float32
val max : float32 -> float32 -> float32
val copy_sign : float32 -> float32 -> float32
val eq : float32 -> float32 -> vbool
val ne : float32 -> float32 -> vbool
val lt : float32 -> float32 -> vbool
val gt : float32 -> float32 -> vbool
val le : float32 -> float32 -> vbool
val ge : float32 -> float32 -> vbool
val convert_i32_s : int32 -> float32
val convert_i32_u : int32 -> float32
val convert_i64_s : int64 -> float32
val convert_i64_u : int64 -> float32
val of_bits : int32 -> float32
val to_bits : float32 -> int32
val demote_f64 : float64 -> float32
val reinterpret_i32 : int32 -> float32
diff --git a/api/owi/Owi/Concolic_value/T_pair/argument-1-C/F64/index.html b/api/owi/Owi/Concolic_value/T_pair/argument-1-C/F64/index.html deleted file mode 100644 index ec1b84aab..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/argument-1-C/F64/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -F64 (owi.Owi.Concolic_value.T_pair.C.F64)

Module C.F64

include Value_intf.Fop - with type num := float64 - and type vbool := vbool - and type int32 := int32 - and type int64 := int64 - and type same_size_int := int64
val zero : float64
val abs : float64 -> float64
val neg : float64 -> float64
val sqrt : float64 -> float64
val ceil : float64 -> float64
val floor : float64 -> float64
val trunc : float64 -> float64
val nearest : float64 -> float64
val add : float64 -> float64 -> float64
val sub : float64 -> float64 -> float64
val mul : float64 -> float64 -> float64
val div : float64 -> float64 -> float64
val min : float64 -> float64 -> float64
val max : float64 -> float64 -> float64
val copy_sign : float64 -> float64 -> float64
val eq : float64 -> float64 -> vbool
val ne : float64 -> float64 -> vbool
val lt : float64 -> float64 -> vbool
val gt : float64 -> float64 -> vbool
val le : float64 -> float64 -> vbool
val ge : float64 -> float64 -> vbool
val convert_i32_s : int32 -> float64
val convert_i32_u : int32 -> float64
val convert_i64_s : int64 -> float64
val convert_i64_u : int64 -> float64
val of_bits : int64 -> float64
val to_bits : float64 -> int64
val promote_f32 : float32 -> float64
val reinterpret_i64 : int64 -> float64
diff --git a/api/owi/Owi/Concolic_value/T_pair/argument-1-C/I32/index.html b/api/owi/Owi/Concolic_value/T_pair/argument-1-C/I32/index.html deleted file mode 100644 index df808fda0..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/argument-1-C/I32/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -I32 (owi.Owi.Concolic_value.T_pair.C.I32)

Module C.I32

include Value_intf.Iop - with type num := int32 - and type vbool := vbool - and type const := Int32.t - and type float32 := float32 - and type float64 := float64
val zero : int32
val clz : int32 -> int32
val ctz : int32 -> int32
val popcnt : int32 -> int32
val add : int32 -> int32 -> int32
val sub : int32 -> int32 -> int32
val mul : int32 -> int32 -> int32
val div : int32 -> int32 -> int32
val unsigned_div : int32 -> int32 -> int32
val rem : int32 -> int32 -> int32
val unsigned_rem : int32 -> int32 -> int32
val logand : int32 -> int32 -> int32
val logor : int32 -> int32 -> int32
val logxor : int32 -> int32 -> int32
val shl : int32 -> int32 -> int32
val shr_s : int32 -> int32 -> int32
val shr_u : int32 -> int32 -> int32
val rotl : int32 -> int32 -> int32
val rotr : int32 -> int32 -> int32
val eq_const : int32 -> Int32.t -> vbool
val eq : int32 -> int32 -> vbool
val ne : int32 -> int32 -> vbool
val lt : int32 -> int32 -> vbool
val gt : int32 -> int32 -> vbool
val lt_u : int32 -> int32 -> vbool
val gt_u : int32 -> int32 -> vbool
val le : int32 -> int32 -> vbool
val ge : int32 -> int32 -> vbool
val le_u : int32 -> int32 -> vbool
val ge_u : int32 -> int32 -> vbool
val trunc_f32_s : float32 -> int32
val trunc_f32_u : float32 -> int32
val trunc_f64_s : float64 -> int32
val trunc_f64_u : float64 -> int32
val trunc_sat_f32_s : float32 -> int32
val trunc_sat_f32_u : float32 -> int32
val trunc_sat_f64_s : float64 -> int32
val trunc_sat_f64_u : float64 -> int32
val extend_s : int -> int32 -> int32
val to_bool : int32 -> vbool
val reinterpret_f32 : float32 -> int32
val wrap_i64 : int64 -> int32
diff --git a/api/owi/Owi/Concolic_value/T_pair/argument-1-C/I64/index.html b/api/owi/Owi/Concolic_value/T_pair/argument-1-C/I64/index.html deleted file mode 100644 index 399885ffc..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/argument-1-C/I64/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -I64 (owi.Owi.Concolic_value.T_pair.C.I64)

Module C.I64

include Value_intf.Iop - with type num := int64 - and type vbool := vbool - and type const := Int64.t - and type float32 := float32 - and type float64 := float64
val zero : int64
val clz : int64 -> int64
val ctz : int64 -> int64
val popcnt : int64 -> int64
val add : int64 -> int64 -> int64
val sub : int64 -> int64 -> int64
val mul : int64 -> int64 -> int64
val div : int64 -> int64 -> int64
val unsigned_div : int64 -> int64 -> int64
val rem : int64 -> int64 -> int64
val unsigned_rem : int64 -> int64 -> int64
val logand : int64 -> int64 -> int64
val logor : int64 -> int64 -> int64
val logxor : int64 -> int64 -> int64
val shl : int64 -> int64 -> int64
val shr_s : int64 -> int64 -> int64
val shr_u : int64 -> int64 -> int64
val rotl : int64 -> int64 -> int64
val rotr : int64 -> int64 -> int64
val eq_const : int64 -> Int64.t -> vbool
val eq : int64 -> int64 -> vbool
val ne : int64 -> int64 -> vbool
val lt : int64 -> int64 -> vbool
val gt : int64 -> int64 -> vbool
val lt_u : int64 -> int64 -> vbool
val gt_u : int64 -> int64 -> vbool
val le : int64 -> int64 -> vbool
val ge : int64 -> int64 -> vbool
val le_u : int64 -> int64 -> vbool
val ge_u : int64 -> int64 -> vbool
val trunc_f32_s : float32 -> int64
val trunc_f32_u : float32 -> int64
val trunc_f64_s : float64 -> int64
val trunc_f64_u : float64 -> int64
val trunc_sat_f32_s : float32 -> int64
val trunc_sat_f32_u : float32 -> int64
val trunc_sat_f64_s : float64 -> int64
val trunc_sat_f64_u : float64 -> int64
val extend_s : int -> int64 -> int64
val of_int32 : int32 -> int64
val to_int32 : int64 -> int32
val reinterpret_f64 : float64 -> int64
val extend_i32_s : int32 -> int64
val extend_i32_u : int32 -> int64
diff --git a/api/owi/Owi/Concolic_value/T_pair/argument-1-C/Ref/index.html b/api/owi/Owi/Concolic_value/T_pair/argument-1-C/Ref/index.html deleted file mode 100644 index 3efdbdcb8..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/argument-1-C/Ref/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Ref (owi.Owi.Concolic_value.T_pair.C.Ref)

Module C.Ref

val get_externref : ref_value -> 'a Prelude.Type.Id.t -> 'a Value_intf.get_ref
diff --git a/api/owi/Owi/Concolic_value/T_pair/argument-1-C/index.html b/api/owi/Owi/Concolic_value/T_pair/argument-1-C/index.html deleted file mode 100644 index 3a27a7f5b..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/argument-1-C/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -C (owi.Owi.Concolic_value.T_pair.C)

Parameter T_pair.C

type vbool
type int32
val pp_int32 : Prelude.Fmt.formatter -> int32 -> unit
type int64
val pp_int64 : Prelude.Fmt.formatter -> int64 -> unit
type float32
val pp_float32 : Prelude.Fmt.formatter -> float32 -> unit
type float64
val pp_float64 : Prelude.Fmt.formatter -> float64 -> unit
type ref_value
val pp_ref_value : Prelude.Fmt.formatter -> ref_value -> unit
type t =
  1. | I32 of int32
  2. | I64 of int64
  3. | F32 of float32
  4. | F64 of float64
  5. | Ref of ref_value
val pp : Prelude.Fmt.formatter -> t -> unit
val const_i32 : Int32.t -> int32
val const_i64 : Int64.t -> int64
val const_f32 : Float32.t -> float32
val const_f64 : Float64.t -> float64
val ref_null : Types.binary Types.heap_type -> t
val ref_func : Func_intf.t -> t
val ref_externref : 'a Prelude.Type.Id.t -> 'a -> t
val ref_is_null : ref_value -> vbool
module Ref : sig ... end
module Bool : sig ... end
module F32 : sig ... end
module F64 : sig ... end
module I32 : sig ... end
module I64 : sig ... end
diff --git a/api/owi/Owi/Concolic_value/T_pair/argument-2-S/Bool/index.html b/api/owi/Owi/Concolic_value/T_pair/argument-2-S/Bool/index.html deleted file mode 100644 index f124fe6d0..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/argument-2-S/Bool/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Bool (owi.Owi.Concolic_value.T_pair.S.Bool)

Module S.Bool

val const : bool -> vbool
val not : vbool -> vbool
val or_ : vbool -> vbool -> vbool
val and_ : vbool -> vbool -> vbool
val int32 : vbool -> int32
val pp : Prelude.Fmt.formatter -> vbool -> unit
diff --git a/api/owi/Owi/Concolic_value/T_pair/argument-2-S/F32/index.html b/api/owi/Owi/Concolic_value/T_pair/argument-2-S/F32/index.html deleted file mode 100644 index c368eb6b6..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/argument-2-S/F32/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -F32 (owi.Owi.Concolic_value.T_pair.S.F32)

Module S.F32

include Value_intf.Fop - with type num := float32 - and type vbool := vbool - and type int32 := int32 - and type int64 := int64 - and type same_size_int := int32
val zero : float32
val abs : float32 -> float32
val neg : float32 -> float32
val sqrt : float32 -> float32
val ceil : float32 -> float32
val floor : float32 -> float32
val trunc : float32 -> float32
val nearest : float32 -> float32
val add : float32 -> float32 -> float32
val sub : float32 -> float32 -> float32
val mul : float32 -> float32 -> float32
val div : float32 -> float32 -> float32
val min : float32 -> float32 -> float32
val max : float32 -> float32 -> float32
val copy_sign : float32 -> float32 -> float32
val eq : float32 -> float32 -> vbool
val ne : float32 -> float32 -> vbool
val lt : float32 -> float32 -> vbool
val gt : float32 -> float32 -> vbool
val le : float32 -> float32 -> vbool
val ge : float32 -> float32 -> vbool
val convert_i32_s : int32 -> float32
val convert_i32_u : int32 -> float32
val convert_i64_s : int64 -> float32
val convert_i64_u : int64 -> float32
val of_bits : int32 -> float32
val to_bits : float32 -> int32
val demote_f64 : float64 -> float32
val reinterpret_i32 : int32 -> float32
diff --git a/api/owi/Owi/Concolic_value/T_pair/argument-2-S/F64/index.html b/api/owi/Owi/Concolic_value/T_pair/argument-2-S/F64/index.html deleted file mode 100644 index e16d61d79..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/argument-2-S/F64/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -F64 (owi.Owi.Concolic_value.T_pair.S.F64)

Module S.F64

include Value_intf.Fop - with type num := float64 - and type vbool := vbool - and type int32 := int32 - and type int64 := int64 - and type same_size_int := int64
val zero : float64
val abs : float64 -> float64
val neg : float64 -> float64
val sqrt : float64 -> float64
val ceil : float64 -> float64
val floor : float64 -> float64
val trunc : float64 -> float64
val nearest : float64 -> float64
val add : float64 -> float64 -> float64
val sub : float64 -> float64 -> float64
val mul : float64 -> float64 -> float64
val div : float64 -> float64 -> float64
val min : float64 -> float64 -> float64
val max : float64 -> float64 -> float64
val copy_sign : float64 -> float64 -> float64
val eq : float64 -> float64 -> vbool
val ne : float64 -> float64 -> vbool
val lt : float64 -> float64 -> vbool
val gt : float64 -> float64 -> vbool
val le : float64 -> float64 -> vbool
val ge : float64 -> float64 -> vbool
val convert_i32_s : int32 -> float64
val convert_i32_u : int32 -> float64
val convert_i64_s : int64 -> float64
val convert_i64_u : int64 -> float64
val of_bits : int64 -> float64
val to_bits : float64 -> int64
val promote_f32 : float32 -> float64
val reinterpret_i64 : int64 -> float64
diff --git a/api/owi/Owi/Concolic_value/T_pair/argument-2-S/I32/index.html b/api/owi/Owi/Concolic_value/T_pair/argument-2-S/I32/index.html deleted file mode 100644 index b170658d4..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/argument-2-S/I32/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -I32 (owi.Owi.Concolic_value.T_pair.S.I32)

Module S.I32

include Value_intf.Iop - with type num := int32 - and type vbool := vbool - and type const := Int32.t - and type float32 := float32 - and type float64 := float64
val zero : int32
val clz : int32 -> int32
val ctz : int32 -> int32
val popcnt : int32 -> int32
val add : int32 -> int32 -> int32
val sub : int32 -> int32 -> int32
val mul : int32 -> int32 -> int32
val div : int32 -> int32 -> int32
val unsigned_div : int32 -> int32 -> int32
val rem : int32 -> int32 -> int32
val unsigned_rem : int32 -> int32 -> int32
val logand : int32 -> int32 -> int32
val logor : int32 -> int32 -> int32
val logxor : int32 -> int32 -> int32
val shl : int32 -> int32 -> int32
val shr_s : int32 -> int32 -> int32
val shr_u : int32 -> int32 -> int32
val rotl : int32 -> int32 -> int32
val rotr : int32 -> int32 -> int32
val eq_const : int32 -> Int32.t -> vbool
val eq : int32 -> int32 -> vbool
val ne : int32 -> int32 -> vbool
val lt : int32 -> int32 -> vbool
val gt : int32 -> int32 -> vbool
val lt_u : int32 -> int32 -> vbool
val gt_u : int32 -> int32 -> vbool
val le : int32 -> int32 -> vbool
val ge : int32 -> int32 -> vbool
val le_u : int32 -> int32 -> vbool
val ge_u : int32 -> int32 -> vbool
val trunc_f32_s : float32 -> int32
val trunc_f32_u : float32 -> int32
val trunc_f64_s : float64 -> int32
val trunc_f64_u : float64 -> int32
val trunc_sat_f32_s : float32 -> int32
val trunc_sat_f32_u : float32 -> int32
val trunc_sat_f64_s : float64 -> int32
val trunc_sat_f64_u : float64 -> int32
val extend_s : int -> int32 -> int32
val to_bool : int32 -> vbool
val reinterpret_f32 : float32 -> int32
val wrap_i64 : int64 -> int32
diff --git a/api/owi/Owi/Concolic_value/T_pair/argument-2-S/I64/index.html b/api/owi/Owi/Concolic_value/T_pair/argument-2-S/I64/index.html deleted file mode 100644 index f366dceb2..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/argument-2-S/I64/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -I64 (owi.Owi.Concolic_value.T_pair.S.I64)

Module S.I64

include Value_intf.Iop - with type num := int64 - and type vbool := vbool - and type const := Int64.t - and type float32 := float32 - and type float64 := float64
val zero : int64
val clz : int64 -> int64
val ctz : int64 -> int64
val popcnt : int64 -> int64
val add : int64 -> int64 -> int64
val sub : int64 -> int64 -> int64
val mul : int64 -> int64 -> int64
val div : int64 -> int64 -> int64
val unsigned_div : int64 -> int64 -> int64
val rem : int64 -> int64 -> int64
val unsigned_rem : int64 -> int64 -> int64
val logand : int64 -> int64 -> int64
val logor : int64 -> int64 -> int64
val logxor : int64 -> int64 -> int64
val shl : int64 -> int64 -> int64
val shr_s : int64 -> int64 -> int64
val shr_u : int64 -> int64 -> int64
val rotl : int64 -> int64 -> int64
val rotr : int64 -> int64 -> int64
val eq_const : int64 -> Int64.t -> vbool
val eq : int64 -> int64 -> vbool
val ne : int64 -> int64 -> vbool
val lt : int64 -> int64 -> vbool
val gt : int64 -> int64 -> vbool
val lt_u : int64 -> int64 -> vbool
val gt_u : int64 -> int64 -> vbool
val le : int64 -> int64 -> vbool
val ge : int64 -> int64 -> vbool
val le_u : int64 -> int64 -> vbool
val ge_u : int64 -> int64 -> vbool
val trunc_f32_s : float32 -> int64
val trunc_f32_u : float32 -> int64
val trunc_f64_s : float64 -> int64
val trunc_f64_u : float64 -> int64
val trunc_sat_f32_s : float32 -> int64
val trunc_sat_f32_u : float32 -> int64
val trunc_sat_f64_s : float64 -> int64
val trunc_sat_f64_u : float64 -> int64
val extend_s : int -> int64 -> int64
val of_int32 : int32 -> int64
val to_int32 : int64 -> int32
val reinterpret_f64 : float64 -> int64
val extend_i32_s : int32 -> int64
val extend_i32_u : int32 -> int64
diff --git a/api/owi/Owi/Concolic_value/T_pair/argument-2-S/Ref/index.html b/api/owi/Owi/Concolic_value/T_pair/argument-2-S/Ref/index.html deleted file mode 100644 index e41ee686d..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/argument-2-S/Ref/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Ref (owi.Owi.Concolic_value.T_pair.S.Ref)

Module S.Ref

val get_externref : ref_value -> 'a Prelude.Type.Id.t -> 'a Value_intf.get_ref
diff --git a/api/owi/Owi/Concolic_value/T_pair/argument-2-S/index.html b/api/owi/Owi/Concolic_value/T_pair/argument-2-S/index.html deleted file mode 100644 index ae983ed66..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/argument-2-S/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -S (owi.Owi.Concolic_value.T_pair.S)

Parameter T_pair.S

type vbool
type int32
val pp_int32 : Prelude.Fmt.formatter -> int32 -> unit
type int64
val pp_int64 : Prelude.Fmt.formatter -> int64 -> unit
type float32
val pp_float32 : Prelude.Fmt.formatter -> float32 -> unit
type float64
val pp_float64 : Prelude.Fmt.formatter -> float64 -> unit
type ref_value
val pp_ref_value : Prelude.Fmt.formatter -> ref_value -> unit
type t =
  1. | I32 of int32
  2. | I64 of int64
  3. | F32 of float32
  4. | F64 of float64
  5. | Ref of ref_value
val pp : Prelude.Fmt.formatter -> t -> unit
val const_i32 : Int32.t -> int32
val const_i64 : Int64.t -> int64
val const_f32 : Float32.t -> float32
val const_f64 : Float64.t -> float64
val ref_null : Types.binary Types.heap_type -> t
val ref_func : Func_intf.t -> t
val ref_externref : 'a Prelude.Type.Id.t -> 'a -> t
val ref_is_null : ref_value -> vbool
module Ref : sig ... end
module Bool : sig ... end
module F32 : sig ... end
module F64 : sig ... end
module I32 : sig ... end
module I64 : sig ... end
diff --git a/api/owi/Owi/Concolic_value/T_pair/index.html b/api/owi/Owi/Concolic_value/T_pair/index.html deleted file mode 100644 index 0e8c75c25..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/index.html +++ /dev/null @@ -1,48 +0,0 @@ - -T_pair (owi.Owi.Concolic_value.T_pair)

Module Concolic_value.T_pair

Parameters

module C : Value_intf.T
module S : Value_intf.T

Signature

type vbool = (C.vbool, S.vbool) cs
type int32 = (C.int32, S.int32) cs
val pp_int32 : Stdlib.Format.formatter -> (C.int32, S.int32) cs -> unit
type int64 = (C.int64, S.int64) cs
val pp_int64 : Stdlib.Format.formatter -> (C.int64, S.int64) cs -> unit
type float32 = (C.float32, S.float32) cs
val pp_float32 : Stdlib.Format.formatter -> (C.float32, S.float32) cs -> unit
type float64 = (C.float64, S.float64) cs
val pp_float64 : Stdlib.Format.formatter -> (C.float64, S.float64) cs -> unit
type ref_value = (C.ref_value, S.ref_value) cs
val pp_ref_value : - Stdlib.Format.formatter -> - (C.ref_value, S.ref_value) cs -> - unit
type t =
  1. | I32 of int32
  2. | I64 of int64
  3. | F32 of float32
  4. | F64 of float64
  5. | Ref of ref_value
val pair : 'a -> 'b -> ('c, 'd) cs
val value_pair : C.t -> S.t -> t
val concrete_value : t -> C.t
val symbolic_value : t -> S.t
val f_pair_1 : ('a -> 'b) -> ('c -> 'd) -> ('e, 'f) cs -> ('g, 'h) cs
val f_pair_2 : - ('a -> 'b -> 'c) -> - ('d -> 'e -> 'f) -> - ('g, 'h) cs -> - ('i, 'j) cs -> - ('k, 'l) cs
val f_pair_1_cst : ('a -> 'b) -> ('c -> 'd) -> 'e -> ('f, 'g) cs
val f_pair_2_cst : - ('a -> 'b -> 'c) -> - ('d -> 'e -> 'f) -> - 'g -> - 'h -> - ('i, 'j) cs
val f_pair_2_cst' : - ('a -> 'b -> 'c) -> - ('d -> 'e -> 'f) -> - ('g, 'h) cs -> - 'i -> - ('j, 'k) cs
val const_i32 : Int32.t -> (C.int32, S.int32) cs
val const_i64 : Int64.t -> (C.int64, S.int64) cs
val const_f32 : Float32.t -> (C.float32, S.float32) cs
val const_f64 : Float64.t -> (C.float64, S.float64) cs
val assert_ref_c : C.t -> C.ref_value
val assert_ref_s : S.t -> S.ref_value
val ref_pair : C.t -> S.t -> t
val ref_null : Types.binary Types.heap_type -> t
val ref_func : Func_intf.t -> t
val ref_externref : 'a Prelude.Type.Id.t -> 'b -> t
val ref_is_null : (C.ref_value, S.ref_value) cs -> (C.vbool, S.vbool) cs
val mk_pp : - (Stdlib.Format.formatter -> 'a -> unit) -> - (Stdlib.Format.formatter -> 'b -> unit) -> - Stdlib.Format.formatter -> - ('c, 'd) cs -> - unit
val pp : Stdlib.Format.formatter -> t -> unit
module Ref : sig ... end
module Bool : sig ... end
module type CFop = sig ... end
module type SFop = sig ... end
module MK_Fop - (CT : T) - (CIT : T) - (ST : T) - (SIT : T) - (CFop : CFop with type num := CT.t and type same_size_int := CIT.t) - (SFop : SFop with type num := ST.t and type same_size_int := SIT.t) : - Value_intf.Fop - with type num := (CT.t, ST.t) cs - and type vbool := vbool - and type int32 := int32 - and type int64 := int64 - and type same_size_int := (CIT.t, SIT.t) cs
module type CIop = sig ... end
module type SIop = sig ... end
module MK_Iop - (Const : T) - (CT : T) - (ST : T) - (CIop : CIop with type num := CT.t and type const := Const.t) - (SIop : SIop with type num := ST.t and type const := Const.t) : - Value_intf.Iop - with type num := (CT.t, ST.t) cs - and type const := Const.t - and type vbool := vbool - and type float32 := float32 - and type float64 := float64
module F32 : sig ... end
module F64 : sig ... end
module I32 : sig ... end
module I64 : sig ... end
diff --git a/api/owi/Owi/Concolic_value/T_pair/module-type-CFop/index.html b/api/owi/Owi/Concolic_value/T_pair/module-type-CFop/index.html deleted file mode 100644 index e000f8a53..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/module-type-CFop/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -CFop (owi.Owi.Concolic_value.T_pair.CFop)

Module type T_pair.CFop

type num
type same_size_int
include Value_intf.Fop - with type num := num - and type vbool := C.vbool - and type int32 := C.int32 - and type int64 := C.int64 - and type same_size_int := same_size_int
val zero : num
val abs : num -> num
val neg : num -> num
val sqrt : num -> num
val ceil : num -> num
val floor : num -> num
val trunc : num -> num
val nearest : num -> num
val add : num -> num -> num
val sub : num -> num -> num
val mul : num -> num -> num
val div : num -> num -> num
val min : num -> num -> num
val max : num -> num -> num
val copy_sign : num -> num -> num
val eq : num -> num -> C.vbool
val ne : num -> num -> C.vbool
val lt : num -> num -> C.vbool
val gt : num -> num -> C.vbool
val le : num -> num -> C.vbool
val ge : num -> num -> C.vbool
val convert_i32_s : C.int32 -> num
val convert_i32_u : C.int32 -> num
val convert_i64_s : C.int64 -> num
val convert_i64_u : C.int64 -> num
val of_bits : same_size_int -> num
val to_bits : num -> same_size_int
diff --git a/api/owi/Owi/Concolic_value/T_pair/module-type-CIop/index.html b/api/owi/Owi/Concolic_value/T_pair/module-type-CIop/index.html deleted file mode 100644 index 296e7d380..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/module-type-CIop/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -CIop (owi.Owi.Concolic_value.T_pair.CIop)

Module type T_pair.CIop

type num
type const
include Value_intf.Iop - with type num := num - and type const := const - and type vbool := C.vbool - and type float32 := C.float32 - and type float64 := C.float64
val zero : num
val clz : num -> num
val ctz : num -> num
val popcnt : num -> num
val add : num -> num -> num
val sub : num -> num -> num
val mul : num -> num -> num
val div : num -> num -> num
val unsigned_div : num -> num -> num
val rem : num -> num -> num
val unsigned_rem : num -> num -> num
val logand : num -> num -> num
val logor : num -> num -> num
val logxor : num -> num -> num
val shl : num -> num -> num
val shr_s : num -> num -> num
val shr_u : num -> num -> num
val rotl : num -> num -> num
val rotr : num -> num -> num
val eq_const : num -> const -> C.vbool
val eq : num -> num -> C.vbool
val ne : num -> num -> C.vbool
val lt : num -> num -> C.vbool
val gt : num -> num -> C.vbool
val lt_u : num -> num -> C.vbool
val gt_u : num -> num -> C.vbool
val le : num -> num -> C.vbool
val ge : num -> num -> C.vbool
val le_u : num -> num -> C.vbool
val ge_u : num -> num -> C.vbool
val trunc_f32_s : C.float32 -> num
val trunc_f32_u : C.float32 -> num
val trunc_f64_s : C.float64 -> num
val trunc_f64_u : C.float64 -> num
val trunc_sat_f32_s : C.float32 -> num
val trunc_sat_f32_u : C.float32 -> num
val trunc_sat_f64_s : C.float64 -> num
val trunc_sat_f64_u : C.float64 -> num
val extend_s : int -> num -> num
diff --git a/api/owi/Owi/Concolic_value/T_pair/module-type-SFop/index.html b/api/owi/Owi/Concolic_value/T_pair/module-type-SFop/index.html deleted file mode 100644 index 419880a5a..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/module-type-SFop/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -SFop (owi.Owi.Concolic_value.T_pair.SFop)

Module type T_pair.SFop

type num
type same_size_int
include Value_intf.Fop - with type num := num - and type vbool := S.vbool - and type int32 := S.int32 - and type int64 := S.int64 - and type same_size_int := same_size_int
val zero : num
val abs : num -> num
val neg : num -> num
val sqrt : num -> num
val ceil : num -> num
val floor : num -> num
val trunc : num -> num
val nearest : num -> num
val add : num -> num -> num
val sub : num -> num -> num
val mul : num -> num -> num
val div : num -> num -> num
val min : num -> num -> num
val max : num -> num -> num
val copy_sign : num -> num -> num
val eq : num -> num -> S.vbool
val ne : num -> num -> S.vbool
val lt : num -> num -> S.vbool
val gt : num -> num -> S.vbool
val le : num -> num -> S.vbool
val ge : num -> num -> S.vbool
val convert_i32_s : S.int32 -> num
val convert_i32_u : S.int32 -> num
val convert_i64_s : S.int64 -> num
val convert_i64_u : S.int64 -> num
val of_bits : same_size_int -> num
val to_bits : num -> same_size_int
diff --git a/api/owi/Owi/Concolic_value/T_pair/module-type-SIop/index.html b/api/owi/Owi/Concolic_value/T_pair/module-type-SIop/index.html deleted file mode 100644 index af93d7fa3..000000000 --- a/api/owi/Owi/Concolic_value/T_pair/module-type-SIop/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -SIop (owi.Owi.Concolic_value.T_pair.SIop)

Module type T_pair.SIop

type num
type const
include Value_intf.Iop - with type num := num - and type const := const - and type vbool := S.vbool - and type float32 := S.float32 - and type float64 := S.float64
val zero : num
val clz : num -> num
val ctz : num -> num
val popcnt : num -> num
val add : num -> num -> num
val sub : num -> num -> num
val mul : num -> num -> num
val div : num -> num -> num
val unsigned_div : num -> num -> num
val rem : num -> num -> num
val unsigned_rem : num -> num -> num
val logand : num -> num -> num
val logor : num -> num -> num
val logxor : num -> num -> num
val shl : num -> num -> num
val shr_s : num -> num -> num
val shr_u : num -> num -> num
val rotl : num -> num -> num
val rotr : num -> num -> num
val eq_const : num -> const -> S.vbool
val eq : num -> num -> S.vbool
val ne : num -> num -> S.vbool
val lt : num -> num -> S.vbool
val gt : num -> num -> S.vbool
val lt_u : num -> num -> S.vbool
val gt_u : num -> num -> S.vbool
val le : num -> num -> S.vbool
val ge : num -> num -> S.vbool
val le_u : num -> num -> S.vbool
val ge_u : num -> num -> S.vbool
val trunc_f32_s : S.float32 -> num
val trunc_f32_u : S.float32 -> num
val trunc_f64_s : S.float64 -> num
val trunc_f64_u : S.float64 -> num
val trunc_sat_f32_s : S.float32 -> num
val trunc_sat_f32_u : S.float32 -> num
val trunc_sat_f64_s : S.float64 -> num
val trunc_sat_f64_u : S.float64 -> num
val extend_s : int -> num -> num
diff --git a/api/owi/Owi/Concolic_value/V'/Bool/index.html b/api/owi/Owi/Concolic_value/V'/Bool/index.html deleted file mode 100644 index e413d2e0c..000000000 --- a/api/owi/Owi/Concolic_value/V'/Bool/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Bool (owi.Owi.Concolic_value.V'.Bool)

Module V'.Bool

val const : bool -> vbool
val not : vbool -> vbool
val or_ : vbool -> vbool -> vbool
val and_ : vbool -> vbool -> vbool
val int32 : vbool -> int32
val pp : Prelude.Fmt.formatter -> vbool -> unit
diff --git a/api/owi/Owi/Concolic_value/V'/F32/index.html b/api/owi/Owi/Concolic_value/V'/F32/index.html deleted file mode 100644 index 648ab773d..000000000 --- a/api/owi/Owi/Concolic_value/V'/F32/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -F32 (owi.Owi.Concolic_value.V'.F32)

Module V'.F32

include Value_intf.Fop - with type num := float32 - and type vbool := vbool - and type int32 := int32 - and type int64 := int64 - and type same_size_int := int32
val zero : float32
val abs : float32 -> float32
val neg : float32 -> float32
val sqrt : float32 -> float32
val ceil : float32 -> float32
val floor : float32 -> float32
val trunc : float32 -> float32
val nearest : float32 -> float32
val add : float32 -> float32 -> float32
val sub : float32 -> float32 -> float32
val mul : float32 -> float32 -> float32
val div : float32 -> float32 -> float32
val min : float32 -> float32 -> float32
val max : float32 -> float32 -> float32
val copy_sign : float32 -> float32 -> float32
val eq : float32 -> float32 -> vbool
val ne : float32 -> float32 -> vbool
val lt : float32 -> float32 -> vbool
val gt : float32 -> float32 -> vbool
val le : float32 -> float32 -> vbool
val ge : float32 -> float32 -> vbool
val convert_i32_s : int32 -> float32
val convert_i32_u : int32 -> float32
val convert_i64_s : int64 -> float32
val convert_i64_u : int64 -> float32
val of_bits : int32 -> float32
val to_bits : float32 -> int32
val demote_f64 : float64 -> float32
val reinterpret_i32 : int32 -> float32
diff --git a/api/owi/Owi/Concolic_value/V'/F64/index.html b/api/owi/Owi/Concolic_value/V'/F64/index.html deleted file mode 100644 index 87f27c063..000000000 --- a/api/owi/Owi/Concolic_value/V'/F64/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -F64 (owi.Owi.Concolic_value.V'.F64)

Module V'.F64

include Value_intf.Fop - with type num := float64 - and type vbool := vbool - and type int32 := int32 - and type int64 := int64 - and type same_size_int := int64
val zero : float64
val abs : float64 -> float64
val neg : float64 -> float64
val sqrt : float64 -> float64
val ceil : float64 -> float64
val floor : float64 -> float64
val trunc : float64 -> float64
val nearest : float64 -> float64
val add : float64 -> float64 -> float64
val sub : float64 -> float64 -> float64
val mul : float64 -> float64 -> float64
val div : float64 -> float64 -> float64
val min : float64 -> float64 -> float64
val max : float64 -> float64 -> float64
val copy_sign : float64 -> float64 -> float64
val eq : float64 -> float64 -> vbool
val ne : float64 -> float64 -> vbool
val lt : float64 -> float64 -> vbool
val gt : float64 -> float64 -> vbool
val le : float64 -> float64 -> vbool
val ge : float64 -> float64 -> vbool
val convert_i32_s : int32 -> float64
val convert_i32_u : int32 -> float64
val convert_i64_s : int64 -> float64
val convert_i64_u : int64 -> float64
val of_bits : int64 -> float64
val to_bits : float64 -> int64
val promote_f32 : float32 -> float64
val reinterpret_i64 : int64 -> float64
diff --git a/api/owi/Owi/Concolic_value/V'/I32/index.html b/api/owi/Owi/Concolic_value/V'/I32/index.html deleted file mode 100644 index b30821d32..000000000 --- a/api/owi/Owi/Concolic_value/V'/I32/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -I32 (owi.Owi.Concolic_value.V'.I32)

Module V'.I32

include Value_intf.Iop - with type num := int32 - and type vbool := vbool - and type const := Int32.t - and type float32 := float32 - and type float64 := float64
val zero : int32
val clz : int32 -> int32
val ctz : int32 -> int32
val popcnt : int32 -> int32
val add : int32 -> int32 -> int32
val sub : int32 -> int32 -> int32
val mul : int32 -> int32 -> int32
val div : int32 -> int32 -> int32
val unsigned_div : int32 -> int32 -> int32
val rem : int32 -> int32 -> int32
val unsigned_rem : int32 -> int32 -> int32
val logand : int32 -> int32 -> int32
val logor : int32 -> int32 -> int32
val logxor : int32 -> int32 -> int32
val shl : int32 -> int32 -> int32
val shr_s : int32 -> int32 -> int32
val shr_u : int32 -> int32 -> int32
val rotl : int32 -> int32 -> int32
val rotr : int32 -> int32 -> int32
val eq_const : int32 -> Int32.t -> vbool
val eq : int32 -> int32 -> vbool
val ne : int32 -> int32 -> vbool
val lt : int32 -> int32 -> vbool
val gt : int32 -> int32 -> vbool
val lt_u : int32 -> int32 -> vbool
val gt_u : int32 -> int32 -> vbool
val le : int32 -> int32 -> vbool
val ge : int32 -> int32 -> vbool
val le_u : int32 -> int32 -> vbool
val ge_u : int32 -> int32 -> vbool
val trunc_f32_s : float32 -> int32
val trunc_f32_u : float32 -> int32
val trunc_f64_s : float64 -> int32
val trunc_f64_u : float64 -> int32
val trunc_sat_f32_s : float32 -> int32
val trunc_sat_f32_u : float32 -> int32
val trunc_sat_f64_s : float64 -> int32
val trunc_sat_f64_u : float64 -> int32
val extend_s : int -> int32 -> int32
val to_bool : int32 -> vbool
val reinterpret_f32 : float32 -> int32
val wrap_i64 : int64 -> int32
diff --git a/api/owi/Owi/Concolic_value/V'/I64/index.html b/api/owi/Owi/Concolic_value/V'/I64/index.html deleted file mode 100644 index efce101ab..000000000 --- a/api/owi/Owi/Concolic_value/V'/I64/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -I64 (owi.Owi.Concolic_value.V'.I64)

Module V'.I64

include Value_intf.Iop - with type num := int64 - and type vbool := vbool - and type const := Int64.t - and type float32 := float32 - and type float64 := float64
val zero : int64
val clz : int64 -> int64
val ctz : int64 -> int64
val popcnt : int64 -> int64
val add : int64 -> int64 -> int64
val sub : int64 -> int64 -> int64
val mul : int64 -> int64 -> int64
val div : int64 -> int64 -> int64
val unsigned_div : int64 -> int64 -> int64
val rem : int64 -> int64 -> int64
val unsigned_rem : int64 -> int64 -> int64
val logand : int64 -> int64 -> int64
val logor : int64 -> int64 -> int64
val logxor : int64 -> int64 -> int64
val shl : int64 -> int64 -> int64
val shr_s : int64 -> int64 -> int64
val shr_u : int64 -> int64 -> int64
val rotl : int64 -> int64 -> int64
val rotr : int64 -> int64 -> int64
val eq_const : int64 -> Int64.t -> vbool
val eq : int64 -> int64 -> vbool
val ne : int64 -> int64 -> vbool
val lt : int64 -> int64 -> vbool
val gt : int64 -> int64 -> vbool
val lt_u : int64 -> int64 -> vbool
val gt_u : int64 -> int64 -> vbool
val le : int64 -> int64 -> vbool
val ge : int64 -> int64 -> vbool
val le_u : int64 -> int64 -> vbool
val ge_u : int64 -> int64 -> vbool
val trunc_f32_s : float32 -> int64
val trunc_f32_u : float32 -> int64
val trunc_f64_s : float64 -> int64
val trunc_f64_u : float64 -> int64
val trunc_sat_f32_s : float32 -> int64
val trunc_sat_f32_u : float32 -> int64
val trunc_sat_f64_s : float64 -> int64
val trunc_sat_f64_u : float64 -> int64
val extend_s : int -> int64 -> int64
val of_int32 : int32 -> int64
val to_int32 : int64 -> int32
val reinterpret_f64 : float64 -> int64
val extend_i32_s : int32 -> int64
val extend_i32_u : int32 -> int64
diff --git a/api/owi/Owi/Concolic_value/V'/Ref/index.html b/api/owi/Owi/Concolic_value/V'/Ref/index.html deleted file mode 100644 index c83955ae4..000000000 --- a/api/owi/Owi/Concolic_value/V'/Ref/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Ref (owi.Owi.Concolic_value.V'.Ref)

Module V'.Ref

val get_externref : ref_value -> 'a Prelude.Type.Id.t -> 'a Value_intf.get_ref
diff --git a/api/owi/Owi/Concolic_value/V'/index.html b/api/owi/Owi/Concolic_value/V'/index.html deleted file mode 100644 index 3140c7fb7..000000000 --- a/api/owi/Owi/Concolic_value/V'/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -V' (owi.Owi.Concolic_value.V')

Module Concolic_value.V'

val pp_int32 : Prelude.Fmt.formatter -> int32 -> unit
val pp_int64 : Prelude.Fmt.formatter -> int64 -> unit
val pp_float32 : Prelude.Fmt.formatter -> float32 -> unit
val pp_float64 : Prelude.Fmt.formatter -> float64 -> unit
val pp_ref_value : Prelude.Fmt.formatter -> ref_value -> unit
type t =
  1. | I32 of int32
  2. | I64 of int64
  3. | F32 of float32
  4. | F64 of float64
  5. | Ref of ref_value
val pp : Prelude.Fmt.formatter -> t -> unit
val const_i32 : Int32.t -> int32
val const_i64 : Int64.t -> int64
val const_f32 : Float32.t -> float32
val const_f64 : Float64.t -> float64
val ref_null : Types.binary Types.heap_type -> t
val ref_func : Func_intf.t -> t
val ref_externref : 'a Prelude.Type.Id.t -> 'a -> t
val ref_is_null : ref_value -> vbool
module Ref : sig ... end
module Bool : sig ... end
module F32 : sig ... end
module F64 : sig ... end
module I32 : sig ... end
module I64 : sig ... end
diff --git a/api/owi/Owi/Concolic_value/V/Bool/index.html b/api/owi/Owi/Concolic_value/V/Bool/index.html deleted file mode 100644 index 748ae9730..000000000 --- a/api/owi/Owi/Concolic_value/V/Bool/index.html +++ /dev/null @@ -1,15 +0,0 @@ - -Bool (owi.Owi.Concolic_value.V.Bool)

Module V.Bool

val pp : - Stdlib.Format.formatter -> - (Owi.Concrete.Value.vbool, Symbolic_value.vbool) cs -> - unit
diff --git a/api/owi/Owi/Concolic_value/V/F32/index.html b/api/owi/Owi/Concolic_value/V/F32/index.html deleted file mode 100644 index 46c4b2e92..000000000 --- a/api/owi/Owi/Concolic_value/V/F32/index.html +++ /dev/null @@ -1,71 +0,0 @@ - -F32 (owi.Owi.Concolic_value.V.F32)

Module V.F32

diff --git a/api/owi/Owi/Concolic_value/V/F64/index.html b/api/owi/Owi/Concolic_value/V/F64/index.html deleted file mode 100644 index de9e35c81..000000000 --- a/api/owi/Owi/Concolic_value/V/F64/index.html +++ /dev/null @@ -1,71 +0,0 @@ - -F64 (owi.Owi.Concolic_value.V.F64)

Module V.F64

diff --git a/api/owi/Owi/Concolic_value/V/I32/index.html b/api/owi/Owi/Concolic_value/V/I32/index.html deleted file mode 100644 index 31fe61fe8..000000000 --- a/api/owi/Owi/Concolic_value/V/I32/index.html +++ /dev/null @@ -1,111 +0,0 @@ - -I32 (owi.Owi.Concolic_value.V.I32)

Module V.I32

diff --git a/api/owi/Owi/Concolic_value/V/I64/index.html b/api/owi/Owi/Concolic_value/V/I64/index.html deleted file mode 100644 index 9c11dca6e..000000000 --- a/api/owi/Owi/Concolic_value/V/I64/index.html +++ /dev/null @@ -1,115 +0,0 @@ - -I64 (owi.Owi.Concolic_value.V.I64)

Module V.I64

diff --git a/api/owi/Owi/Concolic_value/V/MK_Fop/argument-1-CT/index.html b/api/owi/Owi/Concolic_value/V/MK_Fop/argument-1-CT/index.html deleted file mode 100644 index d02b71353..000000000 --- a/api/owi/Owi/Concolic_value/V/MK_Fop/argument-1-CT/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -CT (owi.Owi.Concolic_value.V.MK_Fop.CT)

Parameter MK_Fop.CT

type t
diff --git a/api/owi/Owi/Concolic_value/V/MK_Fop/argument-2-CIT/index.html b/api/owi/Owi/Concolic_value/V/MK_Fop/argument-2-CIT/index.html deleted file mode 100644 index f8cbef48e..000000000 --- a/api/owi/Owi/Concolic_value/V/MK_Fop/argument-2-CIT/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -CIT (owi.Owi.Concolic_value.V.MK_Fop.CIT)

Parameter MK_Fop.CIT

type t
diff --git a/api/owi/Owi/Concolic_value/V/MK_Fop/argument-3-ST/index.html b/api/owi/Owi/Concolic_value/V/MK_Fop/argument-3-ST/index.html deleted file mode 100644 index b2c63949f..000000000 --- a/api/owi/Owi/Concolic_value/V/MK_Fop/argument-3-ST/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -ST (owi.Owi.Concolic_value.V.MK_Fop.ST)

Parameter MK_Fop.ST

type t
diff --git a/api/owi/Owi/Concolic_value/V/MK_Fop/argument-4-SIT/index.html b/api/owi/Owi/Concolic_value/V/MK_Fop/argument-4-SIT/index.html deleted file mode 100644 index d6a0f0502..000000000 --- a/api/owi/Owi/Concolic_value/V/MK_Fop/argument-4-SIT/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -SIT (owi.Owi.Concolic_value.V.MK_Fop.SIT)

Parameter MK_Fop.SIT

type t
diff --git a/api/owi/Owi/Concolic_value/V/MK_Fop/argument-5-CFop/index.html b/api/owi/Owi/Concolic_value/V/MK_Fop/argument-5-CFop/index.html deleted file mode 100644 index 9abf6ab0d..000000000 --- a/api/owi/Owi/Concolic_value/V/MK_Fop/argument-5-CFop/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -CFop (owi.Owi.Concolic_value.V.MK_Fop.CFop)

Parameter MK_Fop.CFop

val zero : CT.t
val abs : CT.t -> CT.t
val neg : CT.t -> CT.t
val sqrt : CT.t -> CT.t
val ceil : CT.t -> CT.t
val floor : CT.t -> CT.t
val trunc : CT.t -> CT.t
val nearest : CT.t -> CT.t
val add : CT.t -> CT.t -> CT.t
val sub : CT.t -> CT.t -> CT.t
val mul : CT.t -> CT.t -> CT.t
val div : CT.t -> CT.t -> CT.t
val min : CT.t -> CT.t -> CT.t
val max : CT.t -> CT.t -> CT.t
val copy_sign : CT.t -> CT.t -> CT.t
val convert_i32_s : Owi.Concrete.Value.int32 -> CT.t
val convert_i32_u : Owi.Concrete.Value.int32 -> CT.t
val convert_i64_s : Owi.Concrete.Value.int64 -> CT.t
val convert_i64_u : Owi.Concrete.Value.int64 -> CT.t
val of_bits : CIT.t -> CT.t
val to_bits : CT.t -> CIT.t
diff --git a/api/owi/Owi/Concolic_value/V/MK_Fop/argument-6-SFop/index.html b/api/owi/Owi/Concolic_value/V/MK_Fop/argument-6-SFop/index.html deleted file mode 100644 index c7e160ead..000000000 --- a/api/owi/Owi/Concolic_value/V/MK_Fop/argument-6-SFop/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -SFop (owi.Owi.Concolic_value.V.MK_Fop.SFop)

Parameter MK_Fop.SFop

val zero : ST.t
val abs : ST.t -> ST.t
val neg : ST.t -> ST.t
val sqrt : ST.t -> ST.t
val ceil : ST.t -> ST.t
val floor : ST.t -> ST.t
val trunc : ST.t -> ST.t
val nearest : ST.t -> ST.t
val add : ST.t -> ST.t -> ST.t
val sub : ST.t -> ST.t -> ST.t
val mul : ST.t -> ST.t -> ST.t
val div : ST.t -> ST.t -> ST.t
val min : ST.t -> ST.t -> ST.t
val max : ST.t -> ST.t -> ST.t
val copy_sign : ST.t -> ST.t -> ST.t
val convert_i32_s : Symbolic_value.int32 -> ST.t
val convert_i32_u : Symbolic_value.int32 -> ST.t
val convert_i64_s : Symbolic_value.int64 -> ST.t
val convert_i64_u : Symbolic_value.int64 -> ST.t
val of_bits : SIT.t -> ST.t
val to_bits : ST.t -> SIT.t
diff --git a/api/owi/Owi/Concolic_value/V/MK_Fop/index.html b/api/owi/Owi/Concolic_value/V/MK_Fop/index.html deleted file mode 100644 index def7d01fe..000000000 --- a/api/owi/Owi/Concolic_value/V/MK_Fop/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -MK_Fop (owi.Owi.Concolic_value.V.MK_Fop)

Module V.MK_Fop

Parameters

module CT : T
module CIT : T
module ST : T
module SIT : T
module CFop : sig ... end
module SFop : sig ... end

Signature

val zero : (CT.t, ST.t) cs
val abs : (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val neg : (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val sqrt : (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val ceil : (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val floor : (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val trunc : (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val nearest : (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val add : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val sub : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val mul : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val div : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val min : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val max : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val copy_sign : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val eq : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val ne : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val lt : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val gt : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val le : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val ge : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val convert_i32_s : int32 -> (CT.t, ST.t) cs
val convert_i32_u : int32 -> (CT.t, ST.t) cs
val convert_i64_s : int64 -> (CT.t, ST.t) cs
val convert_i64_u : int64 -> (CT.t, ST.t) cs
val of_bits : (CIT.t, SIT.t) cs -> (CT.t, ST.t) cs
val to_bits : (CT.t, ST.t) cs -> (CIT.t, SIT.t) cs
diff --git a/api/owi/Owi/Concolic_value/V/MK_Iop/argument-1-Const/index.html b/api/owi/Owi/Concolic_value/V/MK_Iop/argument-1-Const/index.html deleted file mode 100644 index dad6257c0..000000000 --- a/api/owi/Owi/Concolic_value/V/MK_Iop/argument-1-Const/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Const (owi.Owi.Concolic_value.V.MK_Iop.Const)

Parameter MK_Iop.Const

type t
diff --git a/api/owi/Owi/Concolic_value/V/MK_Iop/argument-2-CT/index.html b/api/owi/Owi/Concolic_value/V/MK_Iop/argument-2-CT/index.html deleted file mode 100644 index 5ea163839..000000000 --- a/api/owi/Owi/Concolic_value/V/MK_Iop/argument-2-CT/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -CT (owi.Owi.Concolic_value.V.MK_Iop.CT)

Parameter MK_Iop.CT

type t
diff --git a/api/owi/Owi/Concolic_value/V/MK_Iop/argument-3-ST/index.html b/api/owi/Owi/Concolic_value/V/MK_Iop/argument-3-ST/index.html deleted file mode 100644 index 49d7a89d4..000000000 --- a/api/owi/Owi/Concolic_value/V/MK_Iop/argument-3-ST/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -ST (owi.Owi.Concolic_value.V.MK_Iop.ST)

Parameter MK_Iop.ST

type t
diff --git a/api/owi/Owi/Concolic_value/V/MK_Iop/argument-4-CIop/index.html b/api/owi/Owi/Concolic_value/V/MK_Iop/argument-4-CIop/index.html deleted file mode 100644 index ec733a98e..000000000 --- a/api/owi/Owi/Concolic_value/V/MK_Iop/argument-4-CIop/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -CIop (owi.Owi.Concolic_value.V.MK_Iop.CIop)

Parameter MK_Iop.CIop

val zero : CT.t
val clz : CT.t -> CT.t
val ctz : CT.t -> CT.t
val popcnt : CT.t -> CT.t
val add : CT.t -> CT.t -> CT.t
val sub : CT.t -> CT.t -> CT.t
val mul : CT.t -> CT.t -> CT.t
val div : CT.t -> CT.t -> CT.t
val unsigned_div : CT.t -> CT.t -> CT.t
val rem : CT.t -> CT.t -> CT.t
val unsigned_rem : CT.t -> CT.t -> CT.t
val logand : CT.t -> CT.t -> CT.t
val logor : CT.t -> CT.t -> CT.t
val logxor : CT.t -> CT.t -> CT.t
val shl : CT.t -> CT.t -> CT.t
val shr_s : CT.t -> CT.t -> CT.t
val shr_u : CT.t -> CT.t -> CT.t
val rotl : CT.t -> CT.t -> CT.t
val rotr : CT.t -> CT.t -> CT.t
val trunc_f32_s : Owi.Concrete.Value.float32 -> CT.t
val trunc_f32_u : Owi.Concrete.Value.float32 -> CT.t
val trunc_f64_s : Owi.Concrete.Value.float64 -> CT.t
val trunc_f64_u : Owi.Concrete.Value.float64 -> CT.t
val trunc_sat_f32_s : Owi.Concrete.Value.float32 -> CT.t
val trunc_sat_f32_u : Owi.Concrete.Value.float32 -> CT.t
val trunc_sat_f64_s : Owi.Concrete.Value.float64 -> CT.t
val trunc_sat_f64_u : Owi.Concrete.Value.float64 -> CT.t
val extend_s : int -> CT.t -> CT.t
diff --git a/api/owi/Owi/Concolic_value/V/MK_Iop/argument-5-SIop/index.html b/api/owi/Owi/Concolic_value/V/MK_Iop/argument-5-SIop/index.html deleted file mode 100644 index cc3807a28..000000000 --- a/api/owi/Owi/Concolic_value/V/MK_Iop/argument-5-SIop/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -SIop (owi.Owi.Concolic_value.V.MK_Iop.SIop)

Parameter MK_Iop.SIop

val zero : ST.t
val clz : ST.t -> ST.t
val ctz : ST.t -> ST.t
val popcnt : ST.t -> ST.t
val add : ST.t -> ST.t -> ST.t
val sub : ST.t -> ST.t -> ST.t
val mul : ST.t -> ST.t -> ST.t
val div : ST.t -> ST.t -> ST.t
val unsigned_div : ST.t -> ST.t -> ST.t
val rem : ST.t -> ST.t -> ST.t
val unsigned_rem : ST.t -> ST.t -> ST.t
val logand : ST.t -> ST.t -> ST.t
val logor : ST.t -> ST.t -> ST.t
val logxor : ST.t -> ST.t -> ST.t
val shl : ST.t -> ST.t -> ST.t
val shr_s : ST.t -> ST.t -> ST.t
val shr_u : ST.t -> ST.t -> ST.t
val rotl : ST.t -> ST.t -> ST.t
val rotr : ST.t -> ST.t -> ST.t
val eq_const : ST.t -> Const.t -> Symbolic_value.vbool
val lt_u : ST.t -> ST.t -> Symbolic_value.vbool
val gt_u : ST.t -> ST.t -> Symbolic_value.vbool
val le_u : ST.t -> ST.t -> Symbolic_value.vbool
val ge_u : ST.t -> ST.t -> Symbolic_value.vbool
val trunc_f32_s : Symbolic_value.float32 -> ST.t
val trunc_f32_u : Symbolic_value.float32 -> ST.t
val trunc_f64_s : Symbolic_value.float64 -> ST.t
val trunc_f64_u : Symbolic_value.float64 -> ST.t
val trunc_sat_f32_s : Symbolic_value.float32 -> ST.t
val trunc_sat_f32_u : Symbolic_value.float32 -> ST.t
val trunc_sat_f64_s : Symbolic_value.float64 -> ST.t
val trunc_sat_f64_u : Symbolic_value.float64 -> ST.t
val extend_s : int -> ST.t -> ST.t
diff --git a/api/owi/Owi/Concolic_value/V/MK_Iop/index.html b/api/owi/Owi/Concolic_value/V/MK_Iop/index.html deleted file mode 100644 index a73a8884a..000000000 --- a/api/owi/Owi/Concolic_value/V/MK_Iop/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -MK_Iop (owi.Owi.Concolic_value.V.MK_Iop)

Module V.MK_Iop

Parameters

module Const : T
module CT : T
module ST : T
module CIop : sig ... end
module SIop : sig ... end

Signature

val zero : (CT.t, ST.t) cs
val clz : (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val ctz : (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val popcnt : (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val add : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val sub : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val mul : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val div : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val unsigned_div : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val rem : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val unsigned_rem : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val logand : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val logor : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val logxor : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val shl : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val shr_s : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val shr_u : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val rotl : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val rotr : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
val eq_const : (CT.t, ST.t) cs -> Const.t -> vbool
val eq : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val ne : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val lt : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val gt : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val lt_u : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val gt_u : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val le : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val ge : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val le_u : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val ge_u : (CT.t, ST.t) cs -> (CT.t, ST.t) cs -> vbool
val trunc_f32_s : float32 -> (CT.t, ST.t) cs
val trunc_f32_u : float32 -> (CT.t, ST.t) cs
val trunc_f64_s : float64 -> (CT.t, ST.t) cs
val trunc_f64_u : float64 -> (CT.t, ST.t) cs
val trunc_sat_f32_s : float32 -> (CT.t, ST.t) cs
val trunc_sat_f32_u : float32 -> (CT.t, ST.t) cs
val trunc_sat_f64_s : float64 -> (CT.t, ST.t) cs
val trunc_sat_f64_u : float64 -> (CT.t, ST.t) cs
val extend_s : int -> (CT.t, ST.t) cs -> (CT.t, ST.t) cs
diff --git a/api/owi/Owi/Concolic_value/V/Ref/index.html b/api/owi/Owi/Concolic_value/V/Ref/index.html deleted file mode 100644 index f226e52d3..000000000 --- a/api/owi/Owi/Concolic_value/V/Ref/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -Ref (owi.Owi.Concolic_value.V.Ref)

Module V.Ref

val equal_func_intf : Func_intf.t -> Func_intf.t -> bool
val get_externref : - (Owi.Concrete.Value.ref_value, Symbolic_value.ref_value) cs -> - 'a Prelude.Type.Id.t -> - 'b Value_intf.get_ref
diff --git a/api/owi/Owi/Concolic_value/V/index.html b/api/owi/Owi/Concolic_value/V/index.html deleted file mode 100644 index e470195d3..000000000 --- a/api/owi/Owi/Concolic_value/V/index.html +++ /dev/null @@ -1,56 +0,0 @@ - -V (owi.Owi.Concolic_value.V)

Module Concolic_value.V

val pp_int32 : - Stdlib.Format.formatter -> - (Owi.Concrete.Value.int32, Symbolic_value.int32) cs -> - unit
val pp_int64 : - Stdlib.Format.formatter -> - (Owi.Concrete.Value.int64, Symbolic_value.int64) cs -> - unit
val pp_float32 : - Stdlib.Format.formatter -> - (Owi.Concrete.Value.float32, Symbolic_value.float32) cs -> - unit
val pp_float64 : - Stdlib.Format.formatter -> - (Owi.Concrete.Value.float64, Symbolic_value.float64) cs -> - unit
val pp_ref_value : - Stdlib.Format.formatter -> - (Owi.Concrete.Value.ref_value, Symbolic_value.ref_value) cs -> - unit
type t = T_pair(Owi.Concrete.Value)(Symbolic_value).t =
  1. | I32 of int32
  2. | I64 of int64
  3. | F32 of float32
  4. | F64 of float64
  5. | Ref of ref_value
val pair : 'a -> 'b -> ('c, 'd) cs
val value_pair : Owi.Concrete.Value.t -> Symbolic_value.t -> t
val concrete_value : t -> Owi.Concrete.Value.t
val symbolic_value : t -> Symbolic_value.t
val f_pair_1 : ('a -> 'b) -> ('c -> 'd) -> ('e, 'f) cs -> ('g, 'h) cs
val f_pair_2 : - ('a -> 'b -> 'c) -> - ('d -> 'e -> 'f) -> - ('g, 'h) cs -> - ('i, 'j) cs -> - ('k, 'l) cs
val f_pair_1_cst : ('a -> 'b) -> ('c -> 'd) -> 'e -> ('f, 'g) cs
val f_pair_2_cst : - ('a -> 'b -> 'c) -> - ('d -> 'e -> 'f) -> - 'g -> - 'h -> - ('i, 'j) cs
val f_pair_2_cst' : - ('a -> 'b -> 'c) -> - ('d -> 'e -> 'f) -> - ('g, 'h) cs -> - 'i -> - ('j, 'k) cs
val ref_null : Types.binary Types.heap_type -> t
val ref_func : Func_intf.t -> t
val ref_externref : 'a Prelude.Type.Id.t -> 'b -> t
val mk_pp : - (Stdlib.Format.formatter -> 'a -> unit) -> - (Stdlib.Format.formatter -> 'b -> unit) -> - Stdlib.Format.formatter -> - ('c, 'd) cs -> - unit
val pp : Stdlib.Format.formatter -> t -> unit
module Ref : sig ... end
module Bool : sig ... end
module type CFop = sig ... end
module type SFop = sig ... end
module MK_Fop - (CT : T) - (CIT : T) - (ST : T) - (SIT : T) - (CFop : sig ... end) - (SFop : sig ... end) : - sig ... end
module type CIop = sig ... end
module type SIop = sig ... end
module MK_Iop - (Const : T) - (CT : T) - (ST : T) - (CIop : sig ... end) - (SIop : sig ... end) : - sig ... end
module F32 : sig ... end
module F64 : sig ... end
module I32 : sig ... end
module I64 : sig ... end
diff --git a/api/owi/Owi/Concolic_value/V/module-type-CFop/index.html b/api/owi/Owi/Concolic_value/V/module-type-CFop/index.html deleted file mode 100644 index 583912060..000000000 --- a/api/owi/Owi/Concolic_value/V/module-type-CFop/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -CFop (owi.Owi.Concolic_value.V.CFop)

Module type V.CFop

type num
type same_size_int
val zero : num
val abs : num -> num
val neg : num -> num
val sqrt : num -> num
val ceil : num -> num
val floor : num -> num
val trunc : num -> num
val nearest : num -> num
val add : num -> num -> num
val sub : num -> num -> num
val mul : num -> num -> num
val div : num -> num -> num
val min : num -> num -> num
val max : num -> num -> num
val copy_sign : num -> num -> num
val convert_i32_s : Owi.Concrete.Value.int32 -> num
val convert_i32_u : Owi.Concrete.Value.int32 -> num
val convert_i64_s : Owi.Concrete.Value.int64 -> num
val convert_i64_u : Owi.Concrete.Value.int64 -> num
val of_bits : same_size_int -> num
val to_bits : num -> same_size_int
diff --git a/api/owi/Owi/Concolic_value/V/module-type-CIop/index.html b/api/owi/Owi/Concolic_value/V/module-type-CIop/index.html deleted file mode 100644 index f60b1ed81..000000000 --- a/api/owi/Owi/Concolic_value/V/module-type-CIop/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -CIop (owi.Owi.Concolic_value.V.CIop)

Module type V.CIop

type num
type const
val zero : num
val clz : num -> num
val ctz : num -> num
val popcnt : num -> num
val add : num -> num -> num
val sub : num -> num -> num
val mul : num -> num -> num
val div : num -> num -> num
val unsigned_div : num -> num -> num
val rem : num -> num -> num
val unsigned_rem : num -> num -> num
val logand : num -> num -> num
val logor : num -> num -> num
val logxor : num -> num -> num
val shl : num -> num -> num
val shr_s : num -> num -> num
val shr_u : num -> num -> num
val rotl : num -> num -> num
val rotr : num -> num -> num
val eq_const : num -> const -> Owi.Concrete.Value.vbool
val trunc_f32_s : Owi.Concrete.Value.float32 -> num
val trunc_f32_u : Owi.Concrete.Value.float32 -> num
val trunc_f64_s : Owi.Concrete.Value.float64 -> num
val trunc_f64_u : Owi.Concrete.Value.float64 -> num
val trunc_sat_f32_s : Owi.Concrete.Value.float32 -> num
val trunc_sat_f32_u : Owi.Concrete.Value.float32 -> num
val trunc_sat_f64_s : Owi.Concrete.Value.float64 -> num
val trunc_sat_f64_u : Owi.Concrete.Value.float64 -> num
val extend_s : int -> num -> num
diff --git a/api/owi/Owi/Concolic_value/V/module-type-SFop/index.html b/api/owi/Owi/Concolic_value/V/module-type-SFop/index.html deleted file mode 100644 index 60b72640b..000000000 --- a/api/owi/Owi/Concolic_value/V/module-type-SFop/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -SFop (owi.Owi.Concolic_value.V.SFop)

Module type V.SFop

type num
type same_size_int
val zero : num
val abs : num -> num
val neg : num -> num
val sqrt : num -> num
val ceil : num -> num
val floor : num -> num
val trunc : num -> num
val nearest : num -> num
val add : num -> num -> num
val sub : num -> num -> num
val mul : num -> num -> num
val div : num -> num -> num
val min : num -> num -> num
val max : num -> num -> num
val copy_sign : num -> num -> num
val convert_i32_s : Symbolic_value.int32 -> num
val convert_i32_u : Symbolic_value.int32 -> num
val convert_i64_s : Symbolic_value.int64 -> num
val convert_i64_u : Symbolic_value.int64 -> num
val of_bits : same_size_int -> num
val to_bits : num -> same_size_int
diff --git a/api/owi/Owi/Concolic_value/V/module-type-SIop/index.html b/api/owi/Owi/Concolic_value/V/module-type-SIop/index.html deleted file mode 100644 index eae7f27e0..000000000 --- a/api/owi/Owi/Concolic_value/V/module-type-SIop/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -SIop (owi.Owi.Concolic_value.V.SIop)

Module type V.SIop

type num
type const
val zero : num
val clz : num -> num
val ctz : num -> num
val popcnt : num -> num
val add : num -> num -> num
val sub : num -> num -> num
val mul : num -> num -> num
val div : num -> num -> num
val unsigned_div : num -> num -> num
val rem : num -> num -> num
val unsigned_rem : num -> num -> num
val logand : num -> num -> num
val logor : num -> num -> num
val logxor : num -> num -> num
val shl : num -> num -> num
val shr_s : num -> num -> num
val shr_u : num -> num -> num
val rotl : num -> num -> num
val rotr : num -> num -> num
val eq_const : num -> const -> Symbolic_value.vbool
val lt_u : num -> num -> Symbolic_value.vbool
val gt_u : num -> num -> Symbolic_value.vbool
val le_u : num -> num -> Symbolic_value.vbool
val ge_u : num -> num -> Symbolic_value.vbool
val trunc_f32_s : Symbolic_value.float32 -> num
val trunc_f32_u : Symbolic_value.float32 -> num
val trunc_f64_s : Symbolic_value.float64 -> num
val trunc_f64_u : Symbolic_value.float64 -> num
val trunc_sat_f32_s : Symbolic_value.float32 -> num
val trunc_sat_f32_u : Symbolic_value.float32 -> num
val trunc_sat_f64_s : Symbolic_value.float64 -> num
val trunc_sat_f64_u : Symbolic_value.float64 -> num
val extend_s : int -> num -> num
diff --git a/api/owi/Owi/Concolic_value/index.html b/api/owi/Owi/Concolic_value/index.html deleted file mode 100644 index 71da652a2..000000000 --- a/api/owi/Owi/Concolic_value/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Concolic_value (owi.Owi.Concolic_value)

Module Owi.Concolic_value

module type T = sig ... end
type ('c, 's) cs = {
  1. concrete : 'c;
  2. symbolic : 's;
}
module T_pair (C : Value_intf.T) (S : Value_intf.T) : sig ... end
module V : sig ... end
diff --git a/api/owi/Owi/Concolic_value/module-type-T/index.html b/api/owi/Owi/Concolic_value/module-type-T/index.html deleted file mode 100644 index 262cee45b..000000000 --- a/api/owi/Owi/Concolic_value/module-type-T/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -T (owi.Owi.Concolic_value.T)

Module type Concolic_value.T

type t
diff --git a/api/owi/Owi/Concolic_wasm_ffi/index.html b/api/owi/Owi/Concolic_wasm_ffi/index.html deleted file mode 100644 index dea93e8d0..000000000 --- a/api/owi/Owi/Concolic_wasm_ffi/index.html +++ /dev/null @@ -1,3 +0,0 @@ - -Concolic_wasm_ffi (owi.Owi.Concolic_wasm_ffi)

Module Owi.Concolic_wasm_ffi

include Wasm_ffi_intf.S - with type extern_func = Concolic.P.Extern_func.extern_func
val symbolic_extern_module : extern_func Link.extern_module
val summaries_extern_module : extern_func Link.extern_module
diff --git a/api/owi/Owi/Concrete/Choice/index.html b/api/owi/Owi/Concrete/Choice/index.html deleted file mode 100644 index 54942ee67..000000000 --- a/api/owi/Owi/Concrete/Choice/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Choice (owi.Owi.Concrete.Choice)

Module Concrete.Choice

type 'a t = 'a
val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
val map : 'a t -> ('a -> 'b) -> 'b t
val select : Value.vbool -> bool t
val select_i32 : Value.int32 -> Int32.t t
val trap : Trap.t -> 'a t
val let* : 'a t -> ('a -> 'b t) -> 'b t
val let+ : 'a t -> ('a -> 'b) -> 'b t
diff --git a/api/owi/Owi/Concrete/Data/index.html b/api/owi/Owi/Concrete/Data/index.html deleted file mode 100644 index bac2d5f9c..000000000 --- a/api/owi/Owi/Concrete/Data/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Data (owi.Owi.Concrete.Data)

Module Concrete.Data

type t
val value : t -> string
diff --git a/api/owi/Owi/Concrete/Elem/index.html b/api/owi/Owi/Concrete/Elem/index.html deleted file mode 100644 index ce2b4dce5..000000000 --- a/api/owi/Owi/Concrete/Elem/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Elem (owi.Owi.Concrete.Elem)

Module Concrete.Elem

type t
val get : t -> int -> Value.ref_value
val size : t -> int
diff --git a/api/owi/Owi/Concrete/Env/index.html b/api/owi/Owi/Concrete/Env/index.html deleted file mode 100644 index e87e30152..000000000 --- a/api/owi/Owi/Concrete/Env/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Env (owi.Owi.Concrete.Env)

Module Concrete.Env

val get_memory : t -> int -> Memory.t Choice.t
val get_func : t -> int -> Func_intf.t
val get_table : t -> int -> Table.t Choice.t
val get_elem : t -> int -> Elem.t
val get_data : t -> int -> Data.t Choice.t
val get_global : t -> int -> Global.t Choice.t
val get_extern_func : t -> Func_id.t -> Extern_func.extern_func
val drop_elem : Elem.t -> unit
val drop_data : Data.t -> unit
diff --git a/api/owi/Owi/Concrete/Extern_func/index.html b/api/owi/Owi/Concrete/Extern_func/index.html deleted file mode 100644 index fa65146cd..000000000 --- a/api/owi/Owi/Concrete/Extern_func/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Extern_func (owi.Owi.Concrete.Extern_func)

Module Concrete.Extern_func

type _ telt =
  1. | I32 : Value.int32 telt
  2. | I64 : Value.int64 telt
  3. | F32 : Value.float32 telt
  4. | F64 : Value.float64 telt
  5. | Externref : 'a Prelude.Type.Id.t -> 'a telt
type _ rtype =
  1. | R0 : unit rtype
  2. | R1 : 'a telt -> 'a rtype
  3. | R2 : 'a telt * 'b telt -> ('a * 'b) rtype
  4. | R3 : 'a telt * 'b telt * 'c telt -> ('a * 'b * 'c) rtype
  5. | R4 : 'a telt * 'b telt * 'c telt * 'd telt -> ('a * 'b * 'c * 'd) rtype
type (_, _) atype =
  1. | Mem : ('b, 'r) atype -> (Memory.t -> 'b, 'r) atype
  2. | UArg : ('b, 'r) atype -> (unit -> 'b, 'r) atype
  3. | Arg : 'a telt * ('b, 'r) atype -> ('a -> 'b, 'r) atype
  4. | NArg : string * 'a telt * ('b, 'r) atype -> ('a -> 'b, 'r) atype
  5. | Res : ('r, 'r) atype
type _ func_type =
  1. | Func : ('f, 'r Choice.t) atype * 'r rtype -> 'f func_type
type extern_func =
  1. | Extern_func : 'a func_type * 'a -> extern_func
diff --git a/api/owi/Owi/Concrete/Global/index.html b/api/owi/Owi/Concrete/Global/index.html deleted file mode 100644 index 765a26029..000000000 --- a/api/owi/Owi/Concrete/Global/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Global (owi.Owi.Concrete.Global)

Module Concrete.Global

type t
val value : t -> Value.t
val set_value : t -> Value.t -> unit
val mut : t -> Types.mut
diff --git a/api/owi/Owi/Concrete/Memory/index.html b/api/owi/Owi/Concrete/Memory/index.html deleted file mode 100644 index a51b4c853..000000000 --- a/api/owi/Owi/Concrete/Memory/index.html +++ /dev/null @@ -1,13 +0,0 @@ - -Memory (owi.Owi.Concrete.Memory)

Module Concrete.Memory

type t
val load_8_s : t -> Value.int32 -> Value.int32 Choice.t
val load_8_u : t -> Value.int32 -> Value.int32 Choice.t
val load_16_s : t -> Value.int32 -> Value.int32 Choice.t
val load_16_u : t -> Value.int32 -> Value.int32 Choice.t
val load_32 : t -> Value.int32 -> Value.int32 Choice.t
val load_64 : t -> Value.int32 -> Value.int64 Choice.t
val store_8 : t -> addr:Value.int32 -> Value.int32 -> unit Choice.t
val store_16 : t -> addr:Value.int32 -> Value.int32 -> unit Choice.t
val store_32 : t -> addr:Value.int32 -> Value.int32 -> unit Choice.t
val store_64 : t -> addr:Value.int32 -> Value.int64 -> unit Choice.t
val grow : t -> Value.int32 -> unit
val fill : t -> pos:Value.int32 -> len:Value.int32 -> char -> Value.vbool
val blit : - t -> - src:Value.int32 -> - dst:Value.int32 -> - len:Value.int32 -> - Value.vbool
val blit_string : - t -> - string -> - src:Value.int32 -> - dst:Value.int32 -> - len:Value.int32 -> - Value.vbool
val size : t -> Value.int32
val size_in_pages : t -> Value.int32
val get_limit_max : t -> Value.int64 option
diff --git a/api/owi/Owi/Concrete/Module_to_run/index.html b/api/owi/Owi/Concrete/Module_to_run/index.html deleted file mode 100644 index 2932981e1..000000000 --- a/api/owi/Owi/Concrete/Module_to_run/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Module_to_run (owi.Owi.Concrete.Module_to_run)

Module Concrete.Module_to_run

runnable module

val env : t -> Env.t
val to_run : t -> Types.binary Types.expr list
val modul : t -> Binary.modul
diff --git a/api/owi/Owi/Concrete/Table/index.html b/api/owi/Owi/Concrete/Table/index.html deleted file mode 100644 index bfcf470c7..000000000 --- a/api/owi/Owi/Concrete/Table/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Table (owi.Owi.Concrete.Table)

Module Concrete.Table

type t
val get : t -> int -> Value.ref_value
val set : t -> int -> Value.ref_value -> unit
val size : t -> int
val max_size : t -> int option
val grow : t -> int32 -> Value.ref_value -> unit
val fill : t -> int32 -> int32 -> Value.ref_value -> unit
val copy : t_src:t -> t_dst:t -> src:int32 -> dst:int32 -> len:int32 -> unit
diff --git a/api/owi/Owi/Concrete/index.html b/api/owi/Owi/Concrete/index.html deleted file mode 100644 index a172b022c..000000000 --- a/api/owi/Owi/Concrete/index.html +++ /dev/null @@ -1,18 +0,0 @@ - -Concrete (owi.Owi.Concrete)

Module Owi.Concrete

include Interpret_intf.P - with type Env.t = Concrete_value.Func.extern_func Link_env.t - and type Module_to_run.t = - Concrete_value.Func.extern_func Link.module_to_run - and type 'a Choice.t = 'a - and module Value = V
type thread
module Value = V
module Choice : Choice_intf.Base with module V := Value with type 'a t = 'a
val select : - Value.vbool -> - if_true:Value.t -> - if_false:Value.t -> - Value.t Choice.t
module Global : sig ... end
module Table : sig ... end
module Memory : sig ... end
module Extern_func : - Func_intf.T_Extern_func - with type int32 := Value.int32 - and type int64 := Value.int64 - and type float32 := Value.float32 - and type float64 := Value.float64 - and type 'a m := 'a Choice.t - and type memory := Memory.t
module Data : sig ... end
module Elem : sig ... end
module Env : sig ... end
module Module_to_run : sig ... end
diff --git a/api/owi/Owi/Concrete_choice/index.html b/api/owi/Owi/Concrete_choice/index.html deleted file mode 100644 index 70a8f4deb..000000000 --- a/api/owi/Owi/Concrete_choice/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Concrete_choice (owi.Owi.Concrete_choice)

Module Owi.Concrete_choice

include Choice_intf.Base with type 'a t = 'a and module V := V
type 'a t = 'a
val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
val map : 'a t -> ('a -> 'b) -> 'b t
val select : Owi.V.vbool -> bool t
val select_i32 : Owi.V.int32 -> Int32.t t
val trap : Trap.t -> 'a t
val let* : 'a t -> ('a -> 'b t) -> 'b t
val let+ : 'a t -> ('a -> 'b) -> 'b t
val run : 'a t -> 'a
diff --git a/api/owi/Owi/Concrete_global/index.html b/api/owi/Owi/Concrete_global/index.html deleted file mode 100644 index 030117816..000000000 --- a/api/owi/Owi/Concrete_global/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Concrete_global (owi.Owi.Concrete_global)

Module Owi.Concrete_global

runtime global

type t = {
  1. mutable value : Concrete_value.t;
  2. label : string option;
  3. mut : Types.mut;
  4. typ : Types.binary Types.val_type;
}
val value : t -> Concrete_value.t
val set_value : t -> Concrete_value.t -> unit
val mut : t -> Types.mut
val backup : t -> t
val recover : from_:t -> to_:t -> unit
diff --git a/api/owi/Owi/Concrete_memory/index.html b/api/owi/Owi/Concrete_memory/index.html deleted file mode 100644 index 7592aefa1..000000000 --- a/api/owi/Owi/Concrete_memory/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Concrete_memory (owi.Owi.Concrete_memory)

Module Owi.Concrete_memory

type t

runtime memory

val backup : t -> t
val recover : from_:t -> to_:t -> unit
val get_limit_max : t -> int64 option
val get_limits : t -> Types.limits
val init : Types.limits -> t
val update_memory : t -> bytes -> unit
val load_8_s : t -> int32 -> int32
val load_8_u : t -> int32 -> int32
val load_16_s : t -> int32 -> int32
val load_16_u : t -> int32 -> int32
val load_32 : t -> int32 -> int32
val load_64 : t -> int32 -> int64
val store_8 : t -> addr:int32 -> int32 -> unit
val store_16 : t -> addr:int32 -> int32 -> unit
val store_32 : t -> addr:int32 -> int32 -> unit
val store_64 : t -> addr:int32 -> int64 -> unit
val grow : t -> int32 -> unit
val fill : t -> pos:int32 -> len:int32 -> char -> bool
val blit : t -> src:int32 -> dst:int32 -> len:int32 -> bool
val blit_string : t -> string -> src:int32 -> dst:int32 -> len:int32 -> bool
val size_in_pages : t -> int32
val size : t -> int32
diff --git a/api/owi/Owi/Concrete_table/index.html b/api/owi/Owi/Concrete_table/index.html deleted file mode 100644 index f91112c80..000000000 --- a/api/owi/Owi/Concrete_table/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Concrete_table (owi.Owi.Concrete_table)

Module Owi.Concrete_table

runtime table

type table = Concrete_value.ref_value array
type t = {
  1. id : int;
  2. label : string option;
  3. limits : Types.limits;
  4. typ : Types.binary Types.ref_type;
  5. mutable data : table;
}
val backup : t -> t
val recover : from_:t -> to_:t -> unit
val get : t -> int -> Concrete_value.ref_value
val set : t -> int -> Concrete_value.ref_value -> unit
val size : t -> int
val update : t -> table -> unit
val init : ?label:string -> Types.binary Types.table_type -> t
val max_size : t -> int option
val grow : t -> int32 -> Concrete_value.ref_value -> unit
val fill : t -> int32 -> int32 -> Concrete_value.ref_value -> unit
val copy : t_src:t -> t_dst:t -> src:int32 -> dst:int32 -> len:int32 -> unit
diff --git a/api/owi/Owi/Concrete_value/Func/index.html b/api/owi/Owi/Concrete_value/Func/index.html deleted file mode 100644 index 822762df2..000000000 --- a/api/owi/Owi/Concrete_value/Func/index.html +++ /dev/null @@ -1,8 +0,0 @@ - -Func (owi.Owi.Concrete_value.Func)

Module Concrete_value.Func

include Func_intf.T_Extern_func - with type int32 := Int32.t - with type int64 := Int64.t - with type float32 := Float32.t - with type float64 := Float64.t - with type 'a m := 'a - with type memory := Concrete_memory.t
type _ telt =
  1. | I32 : Int32.t telt
  2. | I64 : Int64.t telt
  3. | F32 : Float32.t telt
  4. | F64 : Float64.t telt
  5. | Externref : 'a Prelude.Type.Id.t -> 'a telt
type _ rtype =
  1. | R0 : unit rtype
  2. | R1 : 'a telt -> 'a rtype
  3. | R2 : 'a telt * 'b telt -> ('a * 'b) rtype
  4. | R3 : 'a telt * 'b telt * 'c telt -> ('a * 'b * 'c) rtype
  5. | R4 : 'a telt * 'b telt * 'c telt * 'd telt -> ('a * 'b * 'c * 'd) rtype
type (_, _) atype =
  1. | Mem : ('b, 'r) atype -> (Concrete_memory.t -> 'b, 'r) atype
  2. | UArg : ('b, 'r) atype -> (unit -> 'b, 'r) atype
  3. | Arg : 'a telt * ('b, 'r) atype -> ('a -> 'b, 'r) atype
  4. | NArg : string * 'a telt * ('b, 'r) atype -> ('a -> 'b, 'r) atype
  5. | Res : ('r, 'r) atype
type _ func_type =
  1. | Func : ('f, 'r) atype * 'r rtype -> 'f func_type
type extern_func =
  1. | Extern_func : 'a func_type * 'a -> extern_func
type nonrec t = Func_intf.t
diff --git a/api/owi/Owi/Concrete_value/Make_extern_func/argument-1-V/index.html b/api/owi/Owi/Concrete_value/Make_extern_func/argument-1-V/index.html deleted file mode 100644 index bcc551211..000000000 --- a/api/owi/Owi/Concrete_value/Make_extern_func/argument-1-V/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -V (owi.Owi.Concrete_value.Make_extern_func.V)

Parameter Make_extern_func.V

type int32
type int64
type float32
type float64
type vbool
diff --git a/api/owi/Owi/Concrete_value/Make_extern_func/argument-2-M/index.html b/api/owi/Owi/Concrete_value/Make_extern_func/argument-2-M/index.html deleted file mode 100644 index 55d6ddda1..000000000 --- a/api/owi/Owi/Concrete_value/Make_extern_func/argument-2-M/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -M (owi.Owi.Concrete_value.Make_extern_func.M)

Parameter Make_extern_func.M

type 'a t
diff --git a/api/owi/Owi/Concrete_value/Make_extern_func/argument-3-Memory/index.html b/api/owi/Owi/Concrete_value/Make_extern_func/argument-3-Memory/index.html deleted file mode 100644 index 6990c747a..000000000 --- a/api/owi/Owi/Concrete_value/Make_extern_func/argument-3-Memory/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Memory (owi.Owi.Concrete_value.Make_extern_func.Memory)

Parameter Make_extern_func.Memory

type t
diff --git a/api/owi/Owi/Concrete_value/Make_extern_func/index.html b/api/owi/Owi/Concrete_value/Make_extern_func/index.html deleted file mode 100644 index 7cce999cc..000000000 --- a/api/owi/Owi/Concrete_value/Make_extern_func/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Make_extern_func (owi.Owi.Concrete_value.Make_extern_func)

Module Concrete_value.Make_extern_func

Parameters

Signature

type _ telt =
  1. | I32 : V.int32 telt
  2. | I64 : V.int64 telt
  3. | F32 : V.float32 telt
  4. | F64 : V.float64 telt
  5. | Externref : 'a Prelude.Type.Id.t -> 'a telt
type _ rtype =
  1. | R0 : unit rtype
  2. | R1 : 'a telt -> 'a rtype
  3. | R2 : 'a telt * 'b telt -> ('a * 'b) rtype
  4. | R3 : 'a telt * 'b telt * 'c telt -> ('a * 'b * 'c) rtype
  5. | R4 : 'a telt * 'b telt * 'c telt * 'd telt -> ('a * 'b * 'c * 'd) rtype
type (_, _) atype =
  1. | Mem : ('b, 'r) atype -> (Memory.t -> 'b, 'r) atype
  2. | UArg : ('b, 'r) atype -> (unit -> 'b, 'r) atype
  3. | Arg : 'a telt * ('b, 'r) atype -> ('a -> 'b, 'r) atype
  4. | NArg : string * 'a telt * ('b, 'r) atype -> ('a -> 'b, 'r) atype
  5. | Res : ('r, 'r) atype
type _ func_type =
  1. | Func : ('f, 'r M.t) atype * 'r rtype -> 'f func_type
type extern_func =
  1. | Extern_func : 'a func_type * 'a -> extern_func
diff --git a/api/owi/Owi/Concrete_value/index.html b/api/owi/Owi/Concrete_value/index.html deleted file mode 100644 index cbbb9c76a..000000000 --- a/api/owi/Owi/Concrete_value/index.html +++ /dev/null @@ -1,19 +0,0 @@ - -Concrete_value (owi.Owi.Concrete_value)

Module Owi.Concrete_value

Module to define externref values in OCaml. You should look in the `example` directory to understand how to use this before reading the code...

type externref =
  1. | E : 'a Prelude.Type.Id.t * 'a -> externref
module Make_extern_func - (V : Func_intf.Value_types) - (M : Func_intf.Monad_type) - (Memory : Func_intf.Memory_type) : - Func_intf.T_Extern_func - with type int32 := V.int32 - and type int64 := V.int64 - and type float32 := V.float32 - and type float64 := V.float64 - and type 'a m := 'a M.t - and type memory := Memory.t
module Func : - Func_intf.T - with type int32 := Int32.t - and type int64 := Int64.t - and type float32 := Float32.t - and type float64 := Float64.t - and type 'a m := 'a - and type memory := Concrete_memory.t
type ref_value =
  1. | Externref of externref option
  2. | Funcref of Func_intf.t option
  3. | Arrayref of unit array option
val pp_ref_value : Prelude.Fmt.formatter -> ref_value -> unit
type t =
  1. | I32 of Int32.t
  2. | I64 of Int64.t
  3. | F32 of Float32.t
  4. | F64 of Float64.t
  5. | Ref of ref_value
val cast_ref : externref -> 'a Prelude.Type.Id.t -> 'a option
val of_instr : Types.binary Types.instr -> t
val to_instr : t -> Types.binary Types.instr
val ref_null : Types.binary Types.heap_type -> t
val ref_func : Func.t -> t
val ref_externref : 'a Prelude.Type.Id.t -> 'a -> t
val ref_is_null : ref_value -> bool
val pp : Prelude.Fmt.formatter -> t -> unit
diff --git a/api/owi/Owi/Convert/Float32/index.html b/api/owi/Owi/Convert/Float32/index.html deleted file mode 100644 index 78fc5c0af..000000000 --- a/api/owi/Owi/Convert/Float32/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Float32 (owi.Owi.Convert.Float32)

Module Convert.Float32

type t = Float32.t
val demote_f64 : Float64.t -> t
val convert_i32_s : Int32.t -> t
val convert_i32_u : Int32.t -> t
val convert_i64_s : Int64.t -> t
val convert_i64_u : Int64.t -> t
val reinterpret_i32 : Int32.t -> t
diff --git a/api/owi/Owi/Convert/Float64/index.html b/api/owi/Owi/Convert/Float64/index.html deleted file mode 100644 index 6ffdd0070..000000000 --- a/api/owi/Owi/Convert/Float64/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Float64 (owi.Owi.Convert.Float64)

Module Convert.Float64

type t = Float64.t
val promote_f32 : Float32.t -> t
val convert_i32_s : Int32.t -> t
val convert_i32_u : Int32.t -> t
val convert_i64_s : Int64.t -> t
val convert_i64_u : Int64.t -> t
val reinterpret_i64 : Int64.t -> t
diff --git a/api/owi/Owi/Convert/Int32/index.html b/api/owi/Owi/Convert/Int32/index.html deleted file mode 100644 index a9e0b4555..000000000 --- a/api/owi/Owi/Convert/Int32/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Int32 (owi.Owi.Convert.Int32)

Module Convert.Int32

type t = int32
val wrap_i64 : int64 -> t
val trunc_f32_s : Float32.t -> t
val trunc_f32_u : Float32.t -> t
val trunc_f64_s : Float64.t -> t
val trunc_f64_u : Float64.t -> t
val trunc_sat_f32_s : Float32.t -> t
val trunc_sat_f32_u : Float32.t -> t
val trunc_sat_f64_s : Float64.t -> t
val trunc_sat_f64_u : Float64.t -> t
val reinterpret_f32 : Float32.t -> t
diff --git a/api/owi/Owi/Convert/Int64/index.html b/api/owi/Owi/Convert/Int64/index.html deleted file mode 100644 index 5126b4115..000000000 --- a/api/owi/Owi/Convert/Int64/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Int64 (owi.Owi.Convert.Int64)

Module Convert.Int64

type t = int64
val extend_i32_s : int32 -> t
val extend_i32_u : int32 -> t
val trunc_f32_s : Float32.t -> t
val trunc_f32_u : Float32.t -> t
val trunc_f64_s : Float64.t -> t
val trunc_f64_u : Float64.t -> t
val trunc_sat_f32_s : Float32.t -> t
val trunc_sat_f32_u : Float32.t -> t
val trunc_sat_f64_s : Float64.t -> t
val trunc_sat_f64_u : Float64.t -> t
val reinterpret_f64 : Float64.t -> t
diff --git a/api/owi/Owi/Convert/index.html b/api/owi/Owi/Convert/index.html deleted file mode 100644 index a111c509b..000000000 --- a/api/owi/Owi/Convert/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Convert (owi.Owi.Convert)

Module Owi.Convert

Various conversion functions between i32, i64, f32 and f64.

module Int32 : sig ... end
module Int64 : sig ... end
module Float32 : sig ... end
module Float64 : sig ... end
diff --git a/api/owi/Owi/Env_id/index.html b/api/owi/Owi/Env_id/index.html deleted file mode 100644 index 2d7fdee5a..000000000 --- a/api/owi/Owi/Env_id/index.html +++ /dev/null @@ -1,5 +0,0 @@ - -Env_id (owi.Owi.Env_id)

Module Owi.Env_id

type t
type 'a collection
val empty : 'a collection
val with_fresh_id : - (t -> ('a * 'b) Result.t) -> - 'a collection -> - ('a collection * 'b) Result.t
val get : t -> 'a collection -> 'a
val map : ('a -> 'b) -> 'a collection -> 'b collection
module Map : Prelude.Map.S with type key = t
module Tbl : Prelude.Hashtbl.S with type key = t
diff --git a/api/owi/Owi/Float32/index.html b/api/owi/Owi/Float32/index.html deleted file mode 100644 index 28cdf12dd..000000000 --- a/api/owi/Owi/Float32/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Float32 (owi.Owi.Float32)

Module Owi.Float32

Custom Float32 module for Wasm.

type t
val neg_nan : t
val pos_nan : t
val is_neg_nan : t -> bool
val is_pos_nan : t -> bool
val of_bits : Int32.t -> t
val to_bits : t -> Int32.t
val zero : t
val add : t -> t -> t
val sub : t -> t -> t
val mul : t -> t -> t
val div : t -> t -> t
val neg : t -> t
val abs : t -> t
val sqrt : t -> t
val ceil : t -> t
val floor : t -> t
val trunc : t -> t
val nearest : t -> t
val min : t -> t -> t
val max : t -> t -> t
val copy_sign : t -> t -> t
val eq : t -> t -> bool
val ne : t -> t -> bool
val lt : t -> t -> bool
val gt : t -> t -> bool
val le : t -> t -> bool
val ge : t -> t -> bool
val of_string : string -> t
val to_hex_string : t -> string
val to_string : t -> string
val to_float : t -> Prelude.Float.t
val of_float : Prelude.Float.t -> t
val pp : Prelude.Fmt.formatter -> t -> unit
diff --git a/api/owi/Owi/Float64/index.html b/api/owi/Owi/Float64/index.html deleted file mode 100644 index ba2a383f1..000000000 --- a/api/owi/Owi/Float64/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Float64 (owi.Owi.Float64)

Module Owi.Float64

Custom Float64 module for Wasm.

type t
val neg_nan : t
val pos_nan : t
val is_neg_nan : t -> bool
val is_pos_nan : t -> bool
val of_bits : Int64.t -> t
val to_bits : t -> Int64.t
val zero : t
val add : t -> t -> t
val sub : t -> t -> t
val mul : t -> t -> t
val div : t -> t -> t
val neg : t -> t
val abs : t -> t
val sqrt : t -> t
val ceil : t -> t
val floor : t -> t
val trunc : t -> t
val nearest : t -> t
val min : t -> t -> t
val max : t -> t -> t
val copy_sign : t -> t -> t
val eq : t -> t -> bool
val ne : t -> t -> bool
val lt : t -> t -> bool
val gt : t -> t -> bool
val le : t -> t -> bool
val ge : t -> t -> bool
val of_string : string -> t
val to_hex_string : t -> string
val to_string : t -> string
val to_float : t -> Prelude.Float.t
val of_float : Prelude.Float.t -> t
val pp : Prelude.Fmt.formatter -> t -> unit
diff --git a/api/owi/Owi/Func_id/index.html b/api/owi/Owi/Func_id/index.html deleted file mode 100644 index 599ba75b2..000000000 --- a/api/owi/Owi/Func_id/index.html +++ /dev/null @@ -1,6 +0,0 @@ - -Func_id (owi.Owi.Func_id)

Module Owi.Func_id

type t
type 'a collection
val empty : 'a collection
val add : - 'a -> - Types.binary Types.func_type -> - 'a collection -> - t * 'a collection
val get : t -> 'a collection -> 'a
val get_typ : t -> 'a collection -> Types.binary Types.func_type
diff --git a/api/owi/Owi/Func_intf/index.html b/api/owi/Owi/Func_intf/index.html deleted file mode 100644 index c6c647b8b..000000000 --- a/api/owi/Owi/Func_intf/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Func_intf (owi.Owi.Func_intf)

Module Owi.Func_intf

module type Value_types = sig ... end
module type Monad_type = sig ... end
module type Memory_type = sig ... end
module type T_Extern_func = sig ... end
type t =
  1. | WASM of int * Types.binary Types.func * Env_id.t
  2. | Extern of Func_id.t
module type T = sig ... end
diff --git a/api/owi/Owi/Func_intf/module-type-Memory_type/index.html b/api/owi/Owi/Func_intf/module-type-Memory_type/index.html deleted file mode 100644 index c8a2ad053..000000000 --- a/api/owi/Owi/Func_intf/module-type-Memory_type/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Memory_type (owi.Owi.Func_intf.Memory_type)

Module type Func_intf.Memory_type

type t
diff --git a/api/owi/Owi/Func_intf/module-type-Monad_type/index.html b/api/owi/Owi/Func_intf/module-type-Monad_type/index.html deleted file mode 100644 index 9fc538bb7..000000000 --- a/api/owi/Owi/Func_intf/module-type-Monad_type/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Monad_type (owi.Owi.Func_intf.Monad_type)

Module type Func_intf.Monad_type

type 'a t
diff --git a/api/owi/Owi/Func_intf/module-type-T/index.html b/api/owi/Owi/Func_intf/module-type-T/index.html deleted file mode 100644 index 5d5d42e7c..000000000 --- a/api/owi/Owi/Func_intf/module-type-T/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -T (owi.Owi.Func_intf.T)

Module type Func_intf.T

include T_Extern_func
type int32
type int64
type float32
type float64
type 'a m
type memory
type _ telt =
  1. | I32 : int32 telt
  2. | I64 : int64 telt
  3. | F32 : float32 telt
  4. | F64 : float64 telt
  5. | Externref : 'a Prelude.Type.Id.t -> 'a telt
type _ rtype =
  1. | R0 : unit rtype
  2. | R1 : 'a telt -> 'a rtype
  3. | R2 : 'a telt * 'b telt -> ('a * 'b) rtype
  4. | R3 : 'a telt * 'b telt * 'c telt -> ('a * 'b * 'c) rtype
  5. | R4 : 'a telt * 'b telt * 'c telt * 'd telt -> ('a * 'b * 'c * 'd) rtype
type (_, _) atype =
  1. | Mem : ('b, 'r) atype -> (memory -> 'b, 'r) atype
  2. | UArg : ('b, 'r) atype -> (unit -> 'b, 'r) atype
  3. | Arg : 'a telt * ('b, 'r) atype -> ('a -> 'b, 'r) atype
  4. | NArg : string * 'a telt * ('b, 'r) atype -> ('a -> 'b, 'r) atype
  5. | Res : ('r, 'r) atype
type _ func_type =
  1. | Func : ('f, 'r m) atype * 'r rtype -> 'f func_type
type extern_func =
  1. | Extern_func : 'a func_type * 'a -> extern_func
type nonrec t = t
diff --git a/api/owi/Owi/Func_intf/module-type-T_Extern_func/index.html b/api/owi/Owi/Func_intf/module-type-T_Extern_func/index.html deleted file mode 100644 index 70fb2313c..000000000 --- a/api/owi/Owi/Func_intf/module-type-T_Extern_func/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -T_Extern_func (owi.Owi.Func_intf.T_Extern_func)

Module type Func_intf.T_Extern_func

type int32
type int64
type float32
type float64
type 'a m
type memory
type _ telt =
  1. | I32 : int32 telt
  2. | I64 : int64 telt
  3. | F32 : float32 telt
  4. | F64 : float64 telt
  5. | Externref : 'a Prelude.Type.Id.t -> 'a telt
type _ rtype =
  1. | R0 : unit rtype
  2. | R1 : 'a telt -> 'a rtype
  3. | R2 : 'a telt * 'b telt -> ('a * 'b) rtype
  4. | R3 : 'a telt * 'b telt * 'c telt -> ('a * 'b * 'c) rtype
  5. | R4 : 'a telt * 'b telt * 'c telt * 'd telt -> ('a * 'b * 'c * 'd) rtype
type (_, _) atype =
  1. | Mem : ('b, 'r) atype -> (memory -> 'b, 'r) atype
  2. | UArg : ('b, 'r) atype -> (unit -> 'b, 'r) atype
  3. | Arg : 'a telt * ('b, 'r) atype -> ('a -> 'b, 'r) atype
  4. | NArg : string * 'a telt * ('b, 'r) atype -> ('a -> 'b, 'r) atype
  5. | Res : ('r, 'r) atype
type _ func_type =
  1. | Func : ('f, 'r m) atype * 'r rtype -> 'f func_type
type extern_func =
  1. | Extern_func : 'a func_type * 'a -> extern_func
diff --git a/api/owi/Owi/Func_intf/module-type-Value_types/index.html b/api/owi/Owi/Func_intf/module-type-Value_types/index.html deleted file mode 100644 index 2d2ab3ec1..000000000 --- a/api/owi/Owi/Func_intf/module-type-Value_types/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Value_types (owi.Owi.Func_intf.Value_types)

Module type Func_intf.Value_types

type int32
type int64
type float32
type float64
type vbool
diff --git a/api/owi/Owi/Grouped/index.html b/api/owi/Owi/Grouped/index.html deleted file mode 100644 index 9b2aee66b..000000000 --- a/api/owi/Owi/Grouped/index.html +++ /dev/null @@ -1,5 +0,0 @@ - -Grouped (owi.Owi.Grouped)

Module Owi.Grouped

type opt_export = {
  1. name : string;
  2. id : Types.text Types.indice;
}
type opt_exports = {
  1. global : opt_export list;
  2. mem : opt_export list;
  3. table : opt_export list;
  4. func : opt_export list;
}
val of_symbolic : Text.modul -> t Result.t
diff --git a/api/owi/Owi/Imported/index.html b/api/owi/Owi/Imported/index.html deleted file mode 100644 index 116a43285..000000000 --- a/api/owi/Owi/Imported/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Imported (owi.Owi.Imported)

Module Owi.Imported

type 'a t = {
  1. modul : string;
  2. name : string;
  3. assigned_name : string option;
  4. desc : 'a;
}

the types of imported values

diff --git a/api/owi/Owi/Indexed/index.html b/api/owi/Owi/Indexed/index.html deleted file mode 100644 index 14e593f2a..000000000 --- a/api/owi/Owi/Indexed/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Indexed (owi.Owi.Indexed)

Module Owi.Indexed

type 'a t
val get : 'a t -> 'a
val get_index : 'a t -> int
val map : ('a -> 'b) -> 'a t -> 'b t
val return : int -> 'a -> 'a t
val get_at : int -> 'a t list -> 'a option
val has_index : int -> 'a t -> bool
diff --git a/api/owi/Owi/Int32/index.html b/api/owi/Owi/Int32/index.html deleted file mode 100644 index 761babda4..000000000 --- a/api/owi/Owi/Int32/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Int32 (owi.Owi.Int32)

Module Owi.Int32

Custom Int32 module for Wasm.

type t = int32
val min_int : t
val max_int : t
val zero : t

conversion

val bits_of_float : float -> t
val float_of_bits : t -> float
val of_float : float -> t
val to_float : t -> float
val of_string : string -> t
val of_int : int -> t
val to_int : t -> int
val of_int64 : int64 -> t
val to_int64 : t -> int64
val extend_s : int -> t -> t
val unsigned_to_int : t -> int option

unary operators

val clz : t -> t
val ctz : t -> t
val popcnt : t -> t
val lognot : t -> t

comparison operators

val eq : t -> t -> bool
val ne : t -> t -> bool
val lt : t -> t -> bool
val gt : t -> t -> bool
val lt_u : t -> t -> bool
val gt_u : t -> t -> bool
val le : t -> t -> bool
val ge : t -> t -> bool
val le_u : t -> t -> bool
val ge_u : t -> t -> bool

binary operators

val logor : t -> t -> t
val logand : t -> t -> t
val logxor : t -> t -> t
val rotl : t -> t -> t
val rotr : t -> t -> t
val shl : t -> t -> t
val shr_s : t -> t -> t
val shr_u : t -> t -> t
val shift_right_logical : t -> int -> t
val add : t -> t -> t
val sub : t -> t -> t
val mul : t -> t -> t
val div : t -> t -> t
val unsigned_div : t -> t -> t
val rem : t -> t -> t
val unsigned_rem : t -> t -> t
diff --git a/api/owi/Owi/Int64/index.html b/api/owi/Owi/Int64/index.html deleted file mode 100644 index 53c749137..000000000 --- a/api/owi/Owi/Int64/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Int64 (owi.Owi.Int64)

Module Owi.Int64

Custom Int64 module for Wasm.

type t = int64
val min_int : t
val max_int : t
val zero : t

conversion

val bits_of_float : float -> t
val float_of_bits : t -> float
val of_float : float -> t
val to_float : t -> float
val of_string : string -> t
val of_int : int -> t
val to_int : t -> int
val of_int32 : int32 -> t
val to_int32 : t -> int32
val extend_s : int -> t -> t

unary operators

val abs : t -> t
val clz : t -> t
val ctz : t -> t
val popcnt : t -> t
val lognot : t -> t

comparison operators

val eq : t -> t -> bool
val ne : t -> t -> bool
val lt : t -> t -> bool
val gt : t -> t -> bool
val lt_u : t -> t -> bool
val gt_u : t -> t -> bool
val le : t -> t -> bool
val ge : t -> t -> bool
val le_u : t -> t -> bool
val ge_u : t -> t -> bool

binary operators

val logor : t -> t -> t
val logand : t -> t -> t
val logxor : t -> t -> t
val rotl : t -> t -> t
val rotr : t -> t -> t
val shift_left : t -> int -> t
val shl : t -> t -> t
val shift_right : t -> int -> t
val shr_s : t -> t -> t
val shr_u : t -> t -> t
val shift_right_logical : t -> int -> t
val add : t -> t -> t
val sub : t -> t -> t
val mul : t -> t -> t
val div : t -> t -> t
val unsigned_div : t -> t -> t
val rem : t -> t -> t
val unsigned_rem : t -> t -> t
diff --git a/api/owi/Owi/Interpret/Concolic/index.html b/api/owi/Owi/Interpret/Concolic/index.html deleted file mode 100644 index 6316286e7..000000000 --- a/api/owi/Owi/Interpret/Concolic/index.html +++ /dev/null @@ -1,5 +0,0 @@ - -Concolic (owi.Owi.Interpret.Concolic)

Module Interpret.Concolic

diff --git a/api/owi/Owi/Interpret/Concrete/index.html b/api/owi/Owi/Interpret/Concrete/index.html deleted file mode 100644 index 17dc0cf89..000000000 --- a/api/owi/Owi/Interpret/Concrete/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Concrete (owi.Owi.Interpret.Concrete)

Module Interpret.Concrete

val exec_vfunc_from_outside : - locals:V.t list -> - env:Link_env.t' -> - envs:Concrete.Env.t Env_id.collection -> - Func_intf.t -> - V.t list Result.t
val exec_ibinop : V.t list -> Types.nn -> Types.ibinop -> V.t list
val exec_iunop : V.t list -> Types.nn -> Types.iunop -> V.t list
val exec_itestop : V.t list -> Types.nn -> Types.itestop -> V.t list
val exec_irelop : V.t list -> Types.nn -> Types.irelop -> V.t list
val exec_itruncf : V.t list -> Types.nn -> Types.nn -> Types.sx -> V.t list
val exec_itruncsatf : V.t list -> Types.nn -> Types.nn -> Types.sx -> V.t list
val exec_ireinterpretf : V.t list -> Types.nn -> Types.nn -> V.t list
val exec_fbinop : V.t list -> Types.nn -> Types.fbinop -> V.t list
val exec_funop : V.t list -> Types.nn -> Types.funop -> V.t list
val exec_frelop : V.t list -> Types.nn -> Types.frelop -> V.t list
val exec_fconverti : V.t list -> Types.nn -> Types.nn -> Types.sx -> V.t list
val exec_freinterpreti : V.t list -> Types.nn -> Types.nn -> V.t list
diff --git a/api/owi/Owi/Interpret/SymbolicM/index.html b/api/owi/Owi/Interpret/SymbolicM/index.html deleted file mode 100644 index 568397a85..000000000 --- a/api/owi/Owi/Interpret/SymbolicM/index.html +++ /dev/null @@ -1,5 +0,0 @@ - -SymbolicM (owi.Owi.Interpret.SymbolicM)

Module Interpret.SymbolicM

diff --git a/api/owi/Owi/Interpret/SymbolicP/index.html b/api/owi/Owi/Interpret/SymbolicP/index.html deleted file mode 100644 index 7d388c351..000000000 --- a/api/owi/Owi/Interpret/SymbolicP/index.html +++ /dev/null @@ -1,5 +0,0 @@ - -SymbolicP (owi.Owi.Interpret.SymbolicP)

Module Interpret.SymbolicP

diff --git a/api/owi/Owi/Interpret/index.html b/api/owi/Owi/Interpret/index.html deleted file mode 100644 index 839834748..000000000 --- a/api/owi/Owi/Interpret/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Interpret (owi.Owi.Interpret)

Module Owi.Interpret

module Concrete : sig ... end
module SymbolicP : sig ... end
module SymbolicM : sig ... end
module Concolic : sig ... end
diff --git a/api/owi/Owi/Interpret_intf/index.html b/api/owi/Owi/Interpret_intf/index.html deleted file mode 100644 index 4b1cf88bf..000000000 --- a/api/owi/Owi/Interpret_intf/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Interpret_intf (owi.Owi.Interpret_intf)

Module Owi.Interpret_intf

module type P = sig ... end
module type S = sig ... end
diff --git a/api/owi/Owi/Interpret_intf/module-type-P/Choice/index.html b/api/owi/Owi/Interpret_intf/module-type-P/Choice/index.html deleted file mode 100644 index 1c25f9b4c..000000000 --- a/api/owi/Owi/Interpret_intf/module-type-P/Choice/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Choice (owi.Owi.Interpret_intf.P.Choice)

Module P.Choice

type 'a t
val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
val map : 'a t -> ('a -> 'b) -> 'b t
val select : Value.vbool -> bool t
val select_i32 : Value.int32 -> Int32.t t
val trap : Trap.t -> 'a t
val let* : 'a t -> ('a -> 'b t) -> 'b t
val let+ : 'a t -> ('a -> 'b) -> 'b t
diff --git a/api/owi/Owi/Interpret_intf/module-type-P/Data/index.html b/api/owi/Owi/Interpret_intf/module-type-P/Data/index.html deleted file mode 100644 index e61a103a6..000000000 --- a/api/owi/Owi/Interpret_intf/module-type-P/Data/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Data (owi.Owi.Interpret_intf.P.Data)

Module P.Data

type t
val value : t -> string
diff --git a/api/owi/Owi/Interpret_intf/module-type-P/Elem/index.html b/api/owi/Owi/Interpret_intf/module-type-P/Elem/index.html deleted file mode 100644 index c11d1951b..000000000 --- a/api/owi/Owi/Interpret_intf/module-type-P/Elem/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Elem (owi.Owi.Interpret_intf.P.Elem)

Module P.Elem

type t
val get : t -> int -> Value.ref_value
val size : t -> int
diff --git a/api/owi/Owi/Interpret_intf/module-type-P/Env/index.html b/api/owi/Owi/Interpret_intf/module-type-P/Env/index.html deleted file mode 100644 index 576d5a2a4..000000000 --- a/api/owi/Owi/Interpret_intf/module-type-P/Env/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Env (owi.Owi.Interpret_intf.P.Env)

Module P.Env

type t
val get_memory : t -> int -> Memory.t Choice.t
val get_func : t -> int -> Func_intf.t
val get_table : t -> int -> Table.t Choice.t
val get_elem : t -> int -> Elem.t
val get_data : t -> int -> Data.t Choice.t
val get_global : t -> int -> Global.t Choice.t
val get_extern_func : t -> Func_id.t -> Extern_func.extern_func
val drop_elem : Elem.t -> unit
val drop_data : Data.t -> unit
diff --git a/api/owi/Owi/Interpret_intf/module-type-P/Extern_func/index.html b/api/owi/Owi/Interpret_intf/module-type-P/Extern_func/index.html deleted file mode 100644 index e9df3d903..000000000 --- a/api/owi/Owi/Interpret_intf/module-type-P/Extern_func/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Extern_func (owi.Owi.Interpret_intf.P.Extern_func)

Module P.Extern_func

type _ telt =
  1. | I32 : Value.int32 telt
  2. | I64 : Value.int64 telt
  3. | F32 : Value.float32 telt
  4. | F64 : Value.float64 telt
  5. | Externref : 'a Prelude.Type.Id.t -> 'a telt
type _ rtype =
  1. | R0 : unit rtype
  2. | R1 : 'a telt -> 'a rtype
  3. | R2 : 'a telt * 'b telt -> ('a * 'b) rtype
  4. | R3 : 'a telt * 'b telt * 'c telt -> ('a * 'b * 'c) rtype
  5. | R4 : 'a telt * 'b telt * 'c telt * 'd telt -> ('a * 'b * 'c * 'd) rtype
type (_, _) atype =
  1. | Mem : ('b, 'r) atype -> (Memory.t -> 'b, 'r) atype
  2. | UArg : ('b, 'r) atype -> (unit -> 'b, 'r) atype
  3. | Arg : 'a telt * ('b, 'r) atype -> ('a -> 'b, 'r) atype
  4. | NArg : string * 'a telt * ('b, 'r) atype -> ('a -> 'b, 'r) atype
  5. | Res : ('r, 'r) atype
type _ func_type =
  1. | Func : ('f, 'r Choice.t) atype * 'r rtype -> 'f func_type
type extern_func =
  1. | Extern_func : 'a func_type * 'a -> extern_func
diff --git a/api/owi/Owi/Interpret_intf/module-type-P/Global/index.html b/api/owi/Owi/Interpret_intf/module-type-P/Global/index.html deleted file mode 100644 index f6e5f3bed..000000000 --- a/api/owi/Owi/Interpret_intf/module-type-P/Global/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Global (owi.Owi.Interpret_intf.P.Global)

Module P.Global

type t
val value : t -> Value.t
val set_value : t -> Value.t -> unit
val mut : t -> Types.mut
diff --git a/api/owi/Owi/Interpret_intf/module-type-P/Memory/index.html b/api/owi/Owi/Interpret_intf/module-type-P/Memory/index.html deleted file mode 100644 index 94fbf8cd7..000000000 --- a/api/owi/Owi/Interpret_intf/module-type-P/Memory/index.html +++ /dev/null @@ -1,13 +0,0 @@ - -Memory (owi.Owi.Interpret_intf.P.Memory)

Module P.Memory

type t
val load_8_s : t -> Value.int32 -> Value.int32 Choice.t
val load_8_u : t -> Value.int32 -> Value.int32 Choice.t
val load_16_s : t -> Value.int32 -> Value.int32 Choice.t
val load_16_u : t -> Value.int32 -> Value.int32 Choice.t
val load_32 : t -> Value.int32 -> Value.int32 Choice.t
val load_64 : t -> Value.int32 -> Value.int64 Choice.t
val store_8 : t -> addr:Value.int32 -> Value.int32 -> unit Choice.t
val store_16 : t -> addr:Value.int32 -> Value.int32 -> unit Choice.t
val store_32 : t -> addr:Value.int32 -> Value.int32 -> unit Choice.t
val store_64 : t -> addr:Value.int32 -> Value.int64 -> unit Choice.t
val grow : t -> Value.int32 -> unit
val fill : t -> pos:Value.int32 -> len:Value.int32 -> char -> Value.vbool
val blit : - t -> - src:Value.int32 -> - dst:Value.int32 -> - len:Value.int32 -> - Value.vbool
val blit_string : - t -> - string -> - src:Value.int32 -> - dst:Value.int32 -> - len:Value.int32 -> - Value.vbool
val size : t -> Value.int32
val size_in_pages : t -> Value.int32
val get_limit_max : t -> Value.int64 option
diff --git a/api/owi/Owi/Interpret_intf/module-type-P/Module_to_run/index.html b/api/owi/Owi/Interpret_intf/module-type-P/Module_to_run/index.html deleted file mode 100644 index d99a69972..000000000 --- a/api/owi/Owi/Interpret_intf/module-type-P/Module_to_run/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Module_to_run (owi.Owi.Interpret_intf.P.Module_to_run)

Module P.Module_to_run

type t

runnable module

val env : t -> Env.t
val to_run : t -> Types.binary Types.expr list
val modul : t -> Binary.modul
diff --git a/api/owi/Owi/Interpret_intf/module-type-P/Table/index.html b/api/owi/Owi/Interpret_intf/module-type-P/Table/index.html deleted file mode 100644 index 8e069bf70..000000000 --- a/api/owi/Owi/Interpret_intf/module-type-P/Table/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Table (owi.Owi.Interpret_intf.P.Table)

Module P.Table

type t
val get : t -> int -> Value.ref_value
val set : t -> int -> Value.ref_value -> unit
val size : t -> int
val max_size : t -> int option
val grow : t -> int32 -> Value.ref_value -> unit
val fill : t -> int32 -> int32 -> Value.ref_value -> unit
val copy : t_src:t -> t_dst:t -> src:int32 -> dst:int32 -> len:int32 -> unit
diff --git a/api/owi/Owi/Interpret_intf/module-type-P/Value/Bool/index.html b/api/owi/Owi/Interpret_intf/module-type-P/Value/Bool/index.html deleted file mode 100644 index 2c7e9c0ee..000000000 --- a/api/owi/Owi/Interpret_intf/module-type-P/Value/Bool/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Bool (owi.Owi.Interpret_intf.P.Value.Bool)

Module Value.Bool

val const : bool -> vbool
val not : vbool -> vbool
val or_ : vbool -> vbool -> vbool
val and_ : vbool -> vbool -> vbool
val int32 : vbool -> int32
val pp : Prelude.Fmt.formatter -> vbool -> unit
diff --git a/api/owi/Owi/Interpret_intf/module-type-P/Value/F32/index.html b/api/owi/Owi/Interpret_intf/module-type-P/Value/F32/index.html deleted file mode 100644 index e7d074d06..000000000 --- a/api/owi/Owi/Interpret_intf/module-type-P/Value/F32/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -F32 (owi.Owi.Interpret_intf.P.Value.F32)

Module Value.F32

include Value_intf.Fop - with type num := float32 - and type vbool := vbool - and type int32 := int32 - and type int64 := int64 - and type same_size_int := int32
val zero : float32
val abs : float32 -> float32
val neg : float32 -> float32
val sqrt : float32 -> float32
val ceil : float32 -> float32
val floor : float32 -> float32
val trunc : float32 -> float32
val nearest : float32 -> float32
val add : float32 -> float32 -> float32
val sub : float32 -> float32 -> float32
val mul : float32 -> float32 -> float32
val div : float32 -> float32 -> float32
val min : float32 -> float32 -> float32
val max : float32 -> float32 -> float32
val copy_sign : float32 -> float32 -> float32
val eq : float32 -> float32 -> vbool
val ne : float32 -> float32 -> vbool
val lt : float32 -> float32 -> vbool
val gt : float32 -> float32 -> vbool
val le : float32 -> float32 -> vbool
val ge : float32 -> float32 -> vbool
val convert_i32_s : int32 -> float32
val convert_i32_u : int32 -> float32
val convert_i64_s : int64 -> float32
val convert_i64_u : int64 -> float32
val of_bits : int32 -> float32
val to_bits : float32 -> int32
val demote_f64 : float64 -> float32
val reinterpret_i32 : int32 -> float32
diff --git a/api/owi/Owi/Interpret_intf/module-type-P/Value/F64/index.html b/api/owi/Owi/Interpret_intf/module-type-P/Value/F64/index.html deleted file mode 100644 index c02b8fbb3..000000000 --- a/api/owi/Owi/Interpret_intf/module-type-P/Value/F64/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -F64 (owi.Owi.Interpret_intf.P.Value.F64)

Module Value.F64

include Value_intf.Fop - with type num := float64 - and type vbool := vbool - and type int32 := int32 - and type int64 := int64 - and type same_size_int := int64
val zero : float64
val abs : float64 -> float64
val neg : float64 -> float64
val sqrt : float64 -> float64
val ceil : float64 -> float64
val floor : float64 -> float64
val trunc : float64 -> float64
val nearest : float64 -> float64
val add : float64 -> float64 -> float64
val sub : float64 -> float64 -> float64
val mul : float64 -> float64 -> float64
val div : float64 -> float64 -> float64
val min : float64 -> float64 -> float64
val max : float64 -> float64 -> float64
val copy_sign : float64 -> float64 -> float64
val eq : float64 -> float64 -> vbool
val ne : float64 -> float64 -> vbool
val lt : float64 -> float64 -> vbool
val gt : float64 -> float64 -> vbool
val le : float64 -> float64 -> vbool
val ge : float64 -> float64 -> vbool
val convert_i32_s : int32 -> float64
val convert_i32_u : int32 -> float64
val convert_i64_s : int64 -> float64
val convert_i64_u : int64 -> float64
val of_bits : int64 -> float64
val to_bits : float64 -> int64
val promote_f32 : float32 -> float64
val reinterpret_i64 : int64 -> float64
diff --git a/api/owi/Owi/Interpret_intf/module-type-P/Value/I32/index.html b/api/owi/Owi/Interpret_intf/module-type-P/Value/I32/index.html deleted file mode 100644 index c3b068931..000000000 --- a/api/owi/Owi/Interpret_intf/module-type-P/Value/I32/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -I32 (owi.Owi.Interpret_intf.P.Value.I32)

Module Value.I32

include Value_intf.Iop - with type num := int32 - and type vbool := vbool - and type const := Int32.t - and type float32 := float32 - and type float64 := float64
val zero : int32
val clz : int32 -> int32
val ctz : int32 -> int32
val popcnt : int32 -> int32
val add : int32 -> int32 -> int32
val sub : int32 -> int32 -> int32
val mul : int32 -> int32 -> int32
val div : int32 -> int32 -> int32
val unsigned_div : int32 -> int32 -> int32
val rem : int32 -> int32 -> int32
val unsigned_rem : int32 -> int32 -> int32
val logand : int32 -> int32 -> int32
val logor : int32 -> int32 -> int32
val logxor : int32 -> int32 -> int32
val shl : int32 -> int32 -> int32
val shr_s : int32 -> int32 -> int32
val shr_u : int32 -> int32 -> int32
val rotl : int32 -> int32 -> int32
val rotr : int32 -> int32 -> int32
val eq_const : int32 -> Int32.t -> vbool
val eq : int32 -> int32 -> vbool
val ne : int32 -> int32 -> vbool
val lt : int32 -> int32 -> vbool
val gt : int32 -> int32 -> vbool
val lt_u : int32 -> int32 -> vbool
val gt_u : int32 -> int32 -> vbool
val le : int32 -> int32 -> vbool
val ge : int32 -> int32 -> vbool
val le_u : int32 -> int32 -> vbool
val ge_u : int32 -> int32 -> vbool
val trunc_f32_s : float32 -> int32
val trunc_f32_u : float32 -> int32
val trunc_f64_s : float64 -> int32
val trunc_f64_u : float64 -> int32
val trunc_sat_f32_s : float32 -> int32
val trunc_sat_f32_u : float32 -> int32
val trunc_sat_f64_s : float64 -> int32
val trunc_sat_f64_u : float64 -> int32
val extend_s : int -> int32 -> int32
val to_bool : int32 -> vbool
val reinterpret_f32 : float32 -> int32
val wrap_i64 : int64 -> int32
diff --git a/api/owi/Owi/Interpret_intf/module-type-P/Value/I64/index.html b/api/owi/Owi/Interpret_intf/module-type-P/Value/I64/index.html deleted file mode 100644 index e300b0bf4..000000000 --- a/api/owi/Owi/Interpret_intf/module-type-P/Value/I64/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -I64 (owi.Owi.Interpret_intf.P.Value.I64)

Module Value.I64

include Value_intf.Iop - with type num := int64 - and type vbool := vbool - and type const := Int64.t - and type float32 := float32 - and type float64 := float64
val zero : int64
val clz : int64 -> int64
val ctz : int64 -> int64
val popcnt : int64 -> int64
val add : int64 -> int64 -> int64
val sub : int64 -> int64 -> int64
val mul : int64 -> int64 -> int64
val div : int64 -> int64 -> int64
val unsigned_div : int64 -> int64 -> int64
val rem : int64 -> int64 -> int64
val unsigned_rem : int64 -> int64 -> int64
val logand : int64 -> int64 -> int64
val logor : int64 -> int64 -> int64
val logxor : int64 -> int64 -> int64
val shl : int64 -> int64 -> int64
val shr_s : int64 -> int64 -> int64
val shr_u : int64 -> int64 -> int64
val rotl : int64 -> int64 -> int64
val rotr : int64 -> int64 -> int64
val eq_const : int64 -> Int64.t -> vbool
val eq : int64 -> int64 -> vbool
val ne : int64 -> int64 -> vbool
val lt : int64 -> int64 -> vbool
val gt : int64 -> int64 -> vbool
val lt_u : int64 -> int64 -> vbool
val gt_u : int64 -> int64 -> vbool
val le : int64 -> int64 -> vbool
val ge : int64 -> int64 -> vbool
val le_u : int64 -> int64 -> vbool
val ge_u : int64 -> int64 -> vbool
val trunc_f32_s : float32 -> int64
val trunc_f32_u : float32 -> int64
val trunc_f64_s : float64 -> int64
val trunc_f64_u : float64 -> int64
val trunc_sat_f32_s : float32 -> int64
val trunc_sat_f32_u : float32 -> int64
val trunc_sat_f64_s : float64 -> int64
val trunc_sat_f64_u : float64 -> int64
val extend_s : int -> int64 -> int64
val of_int32 : int32 -> int64
val to_int32 : int64 -> int32
val reinterpret_f64 : float64 -> int64
val extend_i32_s : int32 -> int64
val extend_i32_u : int32 -> int64
diff --git a/api/owi/Owi/Interpret_intf/module-type-P/Value/Ref/index.html b/api/owi/Owi/Interpret_intf/module-type-P/Value/Ref/index.html deleted file mode 100644 index ad9448784..000000000 --- a/api/owi/Owi/Interpret_intf/module-type-P/Value/Ref/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Ref (owi.Owi.Interpret_intf.P.Value.Ref)

Module Value.Ref

val get_externref : ref_value -> 'a Prelude.Type.Id.t -> 'a Value_intf.get_ref
diff --git a/api/owi/Owi/Interpret_intf/module-type-P/Value/index.html b/api/owi/Owi/Interpret_intf/module-type-P/Value/index.html deleted file mode 100644 index f47cb4ab8..000000000 --- a/api/owi/Owi/Interpret_intf/module-type-P/Value/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Value (owi.Owi.Interpret_intf.P.Value)

Module P.Value

type vbool
type int32
val pp_int32 : Prelude.Fmt.formatter -> int32 -> unit
type int64
val pp_int64 : Prelude.Fmt.formatter -> int64 -> unit
type float32
val pp_float32 : Prelude.Fmt.formatter -> float32 -> unit
type float64
val pp_float64 : Prelude.Fmt.formatter -> float64 -> unit
type ref_value
val pp_ref_value : Prelude.Fmt.formatter -> ref_value -> unit
type t =
  1. | I32 of int32
  2. | I64 of int64
  3. | F32 of float32
  4. | F64 of float64
  5. | Ref of ref_value
val pp : Prelude.Fmt.formatter -> t -> unit
val const_i32 : Int32.t -> int32
val const_i64 : Int64.t -> int64
val const_f32 : Float32.t -> float32
val const_f64 : Float64.t -> float64
val ref_null : Types.binary Types.heap_type -> t
val ref_func : Func_intf.t -> t
val ref_externref : 'a Prelude.Type.Id.t -> 'a -> t
val ref_is_null : ref_value -> vbool
module Ref : sig ... end
module Bool : sig ... end
module F32 : sig ... end
module F64 : sig ... end
module I32 : sig ... end
module I64 : sig ... end
diff --git a/api/owi/Owi/Interpret_intf/module-type-P/index.html b/api/owi/Owi/Interpret_intf/module-type-P/index.html deleted file mode 100644 index da17026dd..000000000 --- a/api/owi/Owi/Interpret_intf/module-type-P/index.html +++ /dev/null @@ -1,13 +0,0 @@ - -P (owi.Owi.Interpret_intf.P)

Module type Interpret_intf.P

type thread
module Choice : Choice_intf.Base with module V := Value
val select : - Value.vbool -> - if_true:Value.t -> - if_false:Value.t -> - Value.t Choice.t
module Global : sig ... end
module Table : sig ... end
module Memory : sig ... end
module Extern_func : - Func_intf.T_Extern_func - with type int32 := Value.int32 - and type int64 := Value.int64 - and type float32 := Value.float32 - and type float64 := Value.float64 - and type 'a m := 'a Choice.t - and type memory := Memory.t
module Data : sig ... end
module Elem : sig ... end
module Env : sig ... end
module Module_to_run : sig ... end
diff --git a/api/owi/Owi/Interpret_intf/module-type-S/State/index.html b/api/owi/Owi/Interpret_intf/module-type-S/State/index.html deleted file mode 100644 index c0a228c7a..000000000 --- a/api/owi/Owi/Interpret_intf/module-type-S/State/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -State (owi.Owi.Interpret_intf.S.State)

Module S.State

type stack
diff --git a/api/owi/Owi/Interpret_intf/module-type-S/index.html b/api/owi/Owi/Interpret_intf/module-type-S/index.html deleted file mode 100644 index 690111786..000000000 --- a/api/owi/Owi/Interpret_intf/module-type-S/index.html +++ /dev/null @@ -1,22 +0,0 @@ - -S (owi.Owi.Interpret_intf.S)

Module type Interpret_intf.S

type thread

Module to interpret a linked module.

type env
type 'a choice
type module_to_run

interpret a module

type value
module State : sig ... end
val exec_vfunc_from_outside : - locals:value list -> - env:Env_id.t -> - envs:env Env_id.collection -> - Func_intf.t -> - value list Result.t choice

interpret a function with a given input stack and produce a new stack

val exec_iunop : State.stack -> Types.nn -> Types.iunop -> State.stack
val exec_funop : State.stack -> Types.nn -> Types.funop -> State.stack
val exec_fbinop : State.stack -> Types.nn -> Types.fbinop -> State.stack
val exec_itestop : State.stack -> Types.nn -> Types.itestop -> State.stack
val exec_irelop : State.stack -> Types.nn -> Types.irelop -> State.stack
val exec_frelop : State.stack -> Types.nn -> Types.frelop -> State.stack
val exec_itruncf : - State.stack -> - Types.nn -> - Types.nn -> - Types.sx -> - State.stack
val exec_itruncsatf : - State.stack -> - Types.nn -> - Types.nn -> - Types.sx -> - State.stack
val exec_fconverti : - State.stack -> - Types.nn -> - Types.nn -> - Types.sx -> - State.stack
val exec_ireinterpretf : State.stack -> Types.nn -> Types.nn -> State.stack
val exec_freinterpreti : State.stack -> Types.nn -> Types.nn -> State.stack
diff --git a/api/owi/Owi/Kind/index.html b/api/owi/Owi/Kind/index.html deleted file mode 100644 index a8c6b2861..000000000 --- a/api/owi/Owi/Kind/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Kind (owi.Owi.Kind)

Module Owi.Kind

type 'extern_func t =
  1. | Wat of Text.modul
  2. | Wast of Text.script
  3. | Wasm of Binary.modul
  4. | Ocaml of 'extern_func Link.extern_module
diff --git a/api/owi/Owi/Link/index.html b/api/owi/Owi/Link/index.html deleted file mode 100644 index 6160610e8..000000000 --- a/api/owi/Owi/Link/index.html +++ /dev/null @@ -1,19 +0,0 @@ - -Link (owi.Owi.Link)

Module Owi.Link

Module to link a binary/extern module and producing a runnable module along with a link state.

runtime env

type 'f module_to_run = {
  1. modul : Binary.modul;
  2. env : 'f Link_env.t;
  3. to_run : Types.binary Types.expr list;
}

runnable module

module StringMap : Prelude.Map.S with type key = string
module StringSet : Prelude.Set.S
type func := Func_intf.t
type exports = {
  1. globals : Concrete_global.t StringMap.t;
  2. memories : Concrete_memory.t StringMap.t;
  3. tables : Concrete_table.t StringMap.t;
  4. functions : func StringMap.t;
  5. defined_names : StringSet.t;
}

runtime exported items

type 'ext envs = 'ext Link_env.t Env_id.collection
type 'f state = {
  1. by_name : exports StringMap.t;
  2. by_id : (exports * Env_id.t) StringMap.t;
  3. last : (exports * Env_id.t) option;
  4. collection : 'f Func_id.collection;
  5. envs : 'f envs;
}

link state

val empty_state : 'f state

the empty link state

val modul : - 'f state -> - name:string option -> - Binary.modul -> - ('f module_to_run * 'f state) Result.t

link a module with a given link state, producing a runnable module and a new link state

val register_module : - 'f state -> - name:string -> - id:string option -> - 'f state Result.t

register a module inside a link state, producing a new link state

type 'extern_func extern_module = {
  1. functions : (string * 'extern_func) list;
}

extern modules

val extern_module' : - 'f state -> - name:string -> - func_typ:('f -> Types.binary Types.func_type) -> - 'f extern_module -> - 'f state

register an extern module with a given link state, producing a new link state

diff --git a/api/owi/Owi/Link_env/Build/index.html b/api/owi/Owi/Link_env/Build/index.html deleted file mode 100644 index 370bd0e0c..000000000 --- a/api/owi/Owi/Link_env/Build/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Build (owi.Owi.Link_env.Build)

Module Link_env.Build

type t
val empty : t
val add_global : int -> Concrete_global.t -> t -> t
val add_memory : int -> Concrete_memory.t -> t -> t
val add_table : int -> Concrete_table.t -> t -> t
val add_func : int -> func -> t -> t
val add_data : int -> data -> t -> t
val add_elem : int -> elem -> t -> t
val get_const_global : t -> int -> Concrete_value.t Result.t
val get_func : t -> int -> func Result.t
diff --git a/api/owi/Owi/Link_env/index.html b/api/owi/Owi/Link_env/index.html deleted file mode 100644 index 93b9c4cf3..000000000 --- a/api/owi/Owi/Link_env/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Link_env (owi.Owi.Link_env)

Module Owi.Link_env

type 'ext t
type 'ext backup
type t' = Env_id.t
type elem = {
  1. mutable value : Concrete_value.ref_value array;
}
type data = {
  1. mutable value : string;
}
type func := Func_intf.t
val backup : 'ext t -> 'ext backup
val recover : 'ext backup -> 'ext t -> unit
val get_memory : _ t -> int -> Concrete_memory.t
val get_func : _ t -> int -> func
val get_table : _ t -> int -> Concrete_table.t
val get_elem : _ t -> int -> elem
val get_data : _ t -> int -> data
val get_global : _ t -> int -> Concrete_global.t
val drop_elem : elem -> unit
val drop_data : data -> unit
val get_extern_func : 'ext t -> Func_id.t -> 'ext
val id : _ t -> Env_id.t
module Build : sig ... end
val freeze : t' -> Build.t -> 'ext Func_id.collection -> 'ext t
module type T = sig ... end
module type P = sig ... end
diff --git a/api/owi/Owi/Link_env/module-type-P/index.html b/api/owi/Owi/Link_env/module-type-P/index.html deleted file mode 100644 index 5bc611eb2..000000000 --- a/api/owi/Owi/Link_env/module-type-P/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -P (owi.Owi.Link_env.P)

Module type Link_env.P

val const_i32 : Int32.t -> V.int32
val const_i64 : Int64.t -> V.int64
val const_f32 : Float32.t -> V.float32
val const_f64 : Float64.t -> V.float64
diff --git a/api/owi/Owi/Link_env/module-type-T/index.html b/api/owi/Owi/Link_env/module-type-T/index.html deleted file mode 100644 index 72a314937..000000000 --- a/api/owi/Owi/Link_env/module-type-T/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -T (owi.Owi.Link_env.T)

Module type Link_env.T

type extern_func
type t
type elem = {
  1. mutable value : Concrete_value.ref_value array;
}
type data = {
  1. mutable value : string;
}
val get_memory : t -> int -> Concrete_memory.t Result.t
val get_func : t -> int -> func Result.t
val get_table : t -> int -> Concrete_table.t Result.t
val get_elem : t -> int -> elem Result.t
val get_data : t -> int -> data Result.t
val get_global : t -> int -> Concrete_global.t Result.t
val drop_elem : elem -> unit
val drop_data : data -> unit
val get_extern_func : t -> Func_id.t -> Concrete_value.Func.extern_func
val get_func_typ : t -> func -> Types.binary Types.func_type
val pp : Prelude.Fmt.formatter -> t -> unit
diff --git a/api/owi/Owi/Log/index.html b/api/owi/Owi/Log/index.html deleted file mode 100644 index 50ac723ba..000000000 --- a/api/owi/Owi/Log/index.html +++ /dev/null @@ -1,22 +0,0 @@ - -Log (owi.Owi.Log)

Module Owi.Log

Module to enable or disable the printing of debug logs.

val debug_on : bool Prelude.ref

wether debug printing is enabled or not

val profiling_on : bool Prelude.ref

wether profiling printing is enabled or not

val debug0 : (unit, Prelude.Fmt.formatter, unit) Prelude.format -> unit

print some debug info

val debug1 : - ('a -> unit, Prelude.Fmt.formatter, unit) Prelude.format -> - 'a -> - unit
val debug2 : - ('a -> 'b -> unit, Prelude.Fmt.formatter, unit) Prelude.format -> - 'a -> - 'b -> - unit
val debug5 : - ('a -> 'b -> 'c -> 'd -> 'e -> unit, Prelude.Fmt.formatter, unit) - Prelude.format -> - 'a -> - 'b -> - 'c -> - 'd -> - 'e -> - unit
val profile3 : - ('a -> 'b -> 'c -> unit, Prelude.Fmt.formatter, unit) Prelude.format -> - 'a -> - 'b -> - 'c -> - unit

print some profiling info

val err : ('a, Prelude.Fmt.formatter, unit, 'b) Prelude.format4 -> 'a

print some error and exit

diff --git a/api/owi/Owi/Named/index.html b/api/owi/Owi/Named/index.html deleted file mode 100644 index 5b2fa3367..000000000 --- a/api/owi/Owi/Named/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Named (owi.Owi.Named)

Module Owi.Named

type 'a t = {
  1. values : 'a Indexed.t list;
  2. named : int String_map.t;
}
val empty : 'a t
val fold : (int -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val map : ('a Indexed.t -> 'b Indexed.t) -> 'a t -> 'b t
val to_array : 'a t -> 'a array
diff --git a/api/owi/Owi/Optimize/index.html b/api/owi/Owi/Optimize/index.html deleted file mode 100644 index 3934d95d8..000000000 --- a/api/owi/Owi/Optimize/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Optimize (owi.Owi.Optimize)

Module Owi.Optimize

Optimize module

val modul : Binary.modul -> Binary.modul
diff --git a/api/owi/Owi/Parse/Binary/Module/index.html b/api/owi/Owi/Parse/Binary/Module/index.html deleted file mode 100644 index ea825c780..000000000 --- a/api/owi/Owi/Parse/Binary/Module/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Module (owi.Owi.Parse.Binary.Module)

Module Binary.Module

val from_string : string -> Binary.modul Result.t

Parse a module from a string.

val from_channel : Prelude.in_channel -> Binary.modul Result.t

Parse a module from a channel.

val from_file : Fpath.t -> Binary.modul Result.t

Parse a module from a file.

diff --git a/api/owi/Owi/Parse/Binary/index.html b/api/owi/Owi/Parse/Binary/index.html deleted file mode 100644 index 0b436421f..000000000 --- a/api/owi/Owi/Parse/Binary/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Binary (owi.Owi.Parse.Binary)

Module Parse.Binary

module Module : sig ... end
diff --git a/api/owi/Owi/Parse/Text/Inline_module/index.html b/api/owi/Owi/Parse/Text/Inline_module/index.html deleted file mode 100644 index a9367190b..000000000 --- a/api/owi/Owi/Parse/Text/Inline_module/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Inline_module (owi.Owi.Parse.Text.Inline_module)

Module Text.Inline_module

val from_string : string -> Text.modul Result.t

Parse an inline module from a string.

val from_channel : Prelude.in_channel -> Text.modul Result.t

Parse an inline module from a channel.

val from_file : Fpath.t -> Text.modul Result.t

Parse an inline module from a file.

diff --git a/api/owi/Owi/Parse/Text/Module/index.html b/api/owi/Owi/Parse/Text/Module/index.html deleted file mode 100644 index e56db3e08..000000000 --- a/api/owi/Owi/Parse/Text/Module/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Module (owi.Owi.Parse.Text.Module)

Module Text.Module

val from_string : string -> Text.modul Result.t

Parse a module from a string.

val from_channel : Prelude.in_channel -> Text.modul Result.t

Parse a module from a channel.

val from_file : Fpath.t -> Text.modul Result.t

Parse a module from a file.

diff --git a/api/owi/Owi/Parse/Text/Script/index.html b/api/owi/Owi/Parse/Text/Script/index.html deleted file mode 100644 index 8466764ee..000000000 --- a/api/owi/Owi/Parse/Text/Script/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Script (owi.Owi.Parse.Text.Script)

Module Text.Script

val from_string : string -> Text.script Result.t

Parse a script from a string.

val from_channel : Prelude.in_channel -> Text.script Result.t

Parse a script from a channel.

val from_file : Fpath.t -> Text.script Result.t

Parse a script from a file.

diff --git a/api/owi/Owi/Parse/Text/index.html b/api/owi/Owi/Parse/Text/index.html deleted file mode 100644 index 9f50634a9..000000000 --- a/api/owi/Owi/Parse/Text/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Text (owi.Owi.Parse.Text)

Module Parse.Text

module Script : sig ... end
module Module : sig ... end
module Inline_module : sig ... end
diff --git a/api/owi/Owi/Parse/index.html b/api/owi/Owi/Parse/index.html deleted file mode 100644 index a1e8633e2..000000000 --- a/api/owi/Owi/Parse/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Parse (owi.Owi.Parse)

Module Owi.Parse

Module providing functions to parse a wasm script from various kind of inputs.

val guess_from_file : Fpath.t -> 'extern_func Kind.t Result.t
module Text : sig ... end
module Binary : sig ... end
diff --git a/api/owi/Owi/Result/index.html b/api/owi/Owi/Result/index.html deleted file mode 100644 index c03be371a..000000000 --- a/api/owi/Owi/Result/index.html +++ /dev/null @@ -1,15 +0,0 @@ - -Result (owi.Owi.Result)

Module Owi.Result

include module type of Prelude.Result
val ok : 'a -> ('a, 'e) Stdlib.result
val error : 'e -> ('a, 'e) Stdlib.result
val value : ('a, 'e) Stdlib.result -> default:'a -> 'a
val get_ok : ('a, 'e) Stdlib.result -> 'a
val get_error : ('a, 'e) Stdlib.result -> 'e
val bind : - ('a, 'e) Stdlib.result -> - ('a -> ('b, 'e) Stdlib.result) -> - ('b, 'e) Stdlib.result
val join : (('a, 'e) Stdlib.result, 'e) Stdlib.result -> ('a, 'e) Stdlib.result
val map : ('a -> 'b) -> ('a, 'e) Stdlib.result -> ('b, 'e) Stdlib.result
val map_error : ('e -> 'f) -> ('a, 'e) Stdlib.result -> ('a, 'f) Stdlib.result
val fold : ok:('a -> 'c) -> error:('e -> 'c) -> ('a, 'e) Stdlib.result -> 'c
val iter : ('a -> unit) -> ('a, 'e) Stdlib.result -> unit
val iter_error : ('e -> unit) -> ('a, 'e) Stdlib.result -> unit
val is_ok : ('a, 'e) Stdlib.result -> bool
val is_error : ('a, 'e) Stdlib.result -> bool
val equal : - ok:('a -> 'a -> bool) -> - error:('e -> 'e -> bool) -> - ('a, 'e) Stdlib.result -> - ('a, 'e) Stdlib.result -> - bool
val compare : - ok:('a -> 'a -> int) -> - error:('e -> 'e -> int) -> - ('a, 'e) Stdlib.result -> - ('a, 'e) Stdlib.result -> - int
val to_option : ('a, 'e) Stdlib.result -> 'a option
val to_list : ('a, 'e) Stdlib.result -> 'a list
val to_seq : ('a, 'e) Stdlib.result -> 'a Stdlib.Seq.t
type err = [
  1. | `Alignment_too_large
  2. | `Assert_failure
  3. | `Bad_result
  4. | `Call_stack_exhausted
  5. | `Constant_expression_required
  6. | `Constant_out_of_range
  7. | `Did_not_fail_but_expected of string
  8. | `Duplicate_export_name
  9. | `Duplicate_global of string
  10. | `Duplicate_local of string
  11. | `Duplicate_memory of string
  12. | `Duplicate_table of string
  13. | `Failed_with_but_expected of err * string
  14. | `Found_bug of int
  15. | `Global_is_immutable
  16. | `Illegal_escape of string
  17. | `Import_after_function
  18. | `Import_after_global
  19. | `Import_after_memory
  20. | `Import_after_table
  21. | `Incompatible_import_type
  22. | `Inline_function_type
  23. | `Invalid_result_arity
  24. | `Lexer_unknown_operator of string
  25. | `Malformed_utf8_encoding of string
  26. | `Memory_size_too_large
  27. | `Msg of string
  28. | `Multiple_memories
  29. | `Multiple_start_sections
  30. | `No_error
  31. | `Parse_fail of string
  32. | `Size_minimum_greater_than_maximum
  33. | `Start_function
  34. | `Timeout
  35. | `Trap of Trap.t
  36. | `Type_mismatch of string
  37. | `Unbound_last_module
  38. | `Unbound_module of string
  39. | `Unbound_name of string
  40. | `Undeclared_function_reference
  41. | `Unexpected_token of string
  42. | `Unknown_data of Types.text Types.indice
  43. | `Unknown_elem of Types.text Types.indice
  44. | `Unknown_func of Types.text Types.indice
  45. | `Unknown_global of Types.text Types.indice
  46. | `Unknown_import of string * string
  47. | `Unknown_label of Types.text Types.indice
  48. | `Unknown_local of Types.text Types.indice
  49. | `Unknown_memory of Types.text Types.indice
  50. | `Unknown_module of string
  51. | `Unknown_operator
  52. | `Unknown_table of Types.text Types.indice
  53. | `Unknown_type of Types.text Types.indice
  54. | `Unsupported_file_extension of string
]
type 'a t = ('a, err) Prelude.Result.t
val err_to_string : err -> string
diff --git a/api/owi/Owi/Rewrite/index.html b/api/owi/Owi/Rewrite/index.html deleted file mode 100644 index 6bc1d1f8d..000000000 --- a/api/owi/Owi/Rewrite/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Rewrite (owi.Owi.Rewrite)

Module Owi.Rewrite

diff --git a/api/owi/Owi/Runtime/index.html b/api/owi/Owi/Runtime/index.html deleted file mode 100644 index 3ce79b2a0..000000000 --- a/api/owi/Owi/Runtime/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Runtime (owi.Owi.Runtime)

Module Owi.Runtime

type ('a, 'b) t =
  1. | Local of 'a
  2. | Imported of 'b Imported.t
diff --git a/api/owi/Owi/Script/index.html b/api/owi/Owi/Script/index.html deleted file mode 100644 index ae8abcfa0..000000000 --- a/api/owi/Owi/Script/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Script (owi.Owi.Script)

Module Owi.Script

Module to execute a full Wasm script.

val exec : no_exhaustion:bool -> optimize:bool -> Text.script -> unit Result.t

execute a Wasm script

diff --git a/api/owi/Owi/Solver/index.html b/api/owi/Owi/Solver/index.html deleted file mode 100644 index 6bbefb5dc..000000000 --- a/api/owi/Owi/Solver/index.html +++ /dev/null @@ -1,6 +0,0 @@ - -Solver (owi.Owi.Solver)

Module Owi.Solver

type t
val fresh : Smtml.Solver_dispatcher.solver_type -> unit -> t
val check : t -> Smtml.Expr.t list -> Smtml.Solver_intf.satisfiability
val model : - t -> - symbols:Smtml.Symbol.t list option -> - pc:Smtml.Expr.t list -> - Smtml.Model.t
diff --git a/api/owi/Owi/Spectest/index.html b/api/owi/Owi/Spectest/index.html deleted file mode 100644 index dea769337..000000000 --- a/api/owi/Owi/Spectest/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Spectest (owi.Owi.Spectest)

Module Owi.Spectest

The `spectest` module, to run script from the official test suite.

val extern_m : extern_module
val m : Text.cmd

the spectest module

diff --git a/api/owi/Owi/Stack/Make/argument-1-V/Bool/index.html b/api/owi/Owi/Stack/Make/argument-1-V/Bool/index.html deleted file mode 100644 index 7da84acd2..000000000 --- a/api/owi/Owi/Stack/Make/argument-1-V/Bool/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Bool (owi.Owi.Stack.Make.V.Bool)

Module V.Bool

val const : bool -> vbool
val not : vbool -> vbool
val or_ : vbool -> vbool -> vbool
val and_ : vbool -> vbool -> vbool
val int32 : vbool -> int32
val pp : Prelude.Fmt.formatter -> vbool -> unit
diff --git a/api/owi/Owi/Stack/Make/argument-1-V/F32/index.html b/api/owi/Owi/Stack/Make/argument-1-V/F32/index.html deleted file mode 100644 index d65527a02..000000000 --- a/api/owi/Owi/Stack/Make/argument-1-V/F32/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -F32 (owi.Owi.Stack.Make.V.F32)

Module V.F32

include Value_intf.Fop - with type num := float32 - and type vbool := vbool - and type int32 := int32 - and type int64 := int64 - and type same_size_int := int32
val zero : float32
val abs : float32 -> float32
val neg : float32 -> float32
val sqrt : float32 -> float32
val ceil : float32 -> float32
val floor : float32 -> float32
val trunc : float32 -> float32
val nearest : float32 -> float32
val add : float32 -> float32 -> float32
val sub : float32 -> float32 -> float32
val mul : float32 -> float32 -> float32
val div : float32 -> float32 -> float32
val min : float32 -> float32 -> float32
val max : float32 -> float32 -> float32
val copy_sign : float32 -> float32 -> float32
val eq : float32 -> float32 -> vbool
val ne : float32 -> float32 -> vbool
val lt : float32 -> float32 -> vbool
val gt : float32 -> float32 -> vbool
val le : float32 -> float32 -> vbool
val ge : float32 -> float32 -> vbool
val convert_i32_s : int32 -> float32
val convert_i32_u : int32 -> float32
val convert_i64_s : int64 -> float32
val convert_i64_u : int64 -> float32
val of_bits : int32 -> float32
val to_bits : float32 -> int32
val demote_f64 : float64 -> float32
val reinterpret_i32 : int32 -> float32
diff --git a/api/owi/Owi/Stack/Make/argument-1-V/F64/index.html b/api/owi/Owi/Stack/Make/argument-1-V/F64/index.html deleted file mode 100644 index 00b4e551e..000000000 --- a/api/owi/Owi/Stack/Make/argument-1-V/F64/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -F64 (owi.Owi.Stack.Make.V.F64)

Module V.F64

include Value_intf.Fop - with type num := float64 - and type vbool := vbool - and type int32 := int32 - and type int64 := int64 - and type same_size_int := int64
val zero : float64
val abs : float64 -> float64
val neg : float64 -> float64
val sqrt : float64 -> float64
val ceil : float64 -> float64
val floor : float64 -> float64
val trunc : float64 -> float64
val nearest : float64 -> float64
val add : float64 -> float64 -> float64
val sub : float64 -> float64 -> float64
val mul : float64 -> float64 -> float64
val div : float64 -> float64 -> float64
val min : float64 -> float64 -> float64
val max : float64 -> float64 -> float64
val copy_sign : float64 -> float64 -> float64
val eq : float64 -> float64 -> vbool
val ne : float64 -> float64 -> vbool
val lt : float64 -> float64 -> vbool
val gt : float64 -> float64 -> vbool
val le : float64 -> float64 -> vbool
val ge : float64 -> float64 -> vbool
val convert_i32_s : int32 -> float64
val convert_i32_u : int32 -> float64
val convert_i64_s : int64 -> float64
val convert_i64_u : int64 -> float64
val of_bits : int64 -> float64
val to_bits : float64 -> int64
val promote_f32 : float32 -> float64
val reinterpret_i64 : int64 -> float64
diff --git a/api/owi/Owi/Stack/Make/argument-1-V/I32/index.html b/api/owi/Owi/Stack/Make/argument-1-V/I32/index.html deleted file mode 100644 index 01a12c60d..000000000 --- a/api/owi/Owi/Stack/Make/argument-1-V/I32/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -I32 (owi.Owi.Stack.Make.V.I32)

Module V.I32

include Value_intf.Iop - with type num := int32 - and type vbool := vbool - and type const := Int32.t - and type float32 := float32 - and type float64 := float64
val zero : int32
val clz : int32 -> int32
val ctz : int32 -> int32
val popcnt : int32 -> int32
val add : int32 -> int32 -> int32
val sub : int32 -> int32 -> int32
val mul : int32 -> int32 -> int32
val div : int32 -> int32 -> int32
val unsigned_div : int32 -> int32 -> int32
val rem : int32 -> int32 -> int32
val unsigned_rem : int32 -> int32 -> int32
val logand : int32 -> int32 -> int32
val logor : int32 -> int32 -> int32
val logxor : int32 -> int32 -> int32
val shl : int32 -> int32 -> int32
val shr_s : int32 -> int32 -> int32
val shr_u : int32 -> int32 -> int32
val rotl : int32 -> int32 -> int32
val rotr : int32 -> int32 -> int32
val eq_const : int32 -> Int32.t -> vbool
val eq : int32 -> int32 -> vbool
val ne : int32 -> int32 -> vbool
val lt : int32 -> int32 -> vbool
val gt : int32 -> int32 -> vbool
val lt_u : int32 -> int32 -> vbool
val gt_u : int32 -> int32 -> vbool
val le : int32 -> int32 -> vbool
val ge : int32 -> int32 -> vbool
val le_u : int32 -> int32 -> vbool
val ge_u : int32 -> int32 -> vbool
val trunc_f32_s : float32 -> int32
val trunc_f32_u : float32 -> int32
val trunc_f64_s : float64 -> int32
val trunc_f64_u : float64 -> int32
val trunc_sat_f32_s : float32 -> int32
val trunc_sat_f32_u : float32 -> int32
val trunc_sat_f64_s : float64 -> int32
val trunc_sat_f64_u : float64 -> int32
val extend_s : int -> int32 -> int32
val to_bool : int32 -> vbool
val reinterpret_f32 : float32 -> int32
val wrap_i64 : int64 -> int32
diff --git a/api/owi/Owi/Stack/Make/argument-1-V/I64/index.html b/api/owi/Owi/Stack/Make/argument-1-V/I64/index.html deleted file mode 100644 index 955e63cfc..000000000 --- a/api/owi/Owi/Stack/Make/argument-1-V/I64/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -I64 (owi.Owi.Stack.Make.V.I64)

Module V.I64

include Value_intf.Iop - with type num := int64 - and type vbool := vbool - and type const := Int64.t - and type float32 := float32 - and type float64 := float64
val zero : int64
val clz : int64 -> int64
val ctz : int64 -> int64
val popcnt : int64 -> int64
val add : int64 -> int64 -> int64
val sub : int64 -> int64 -> int64
val mul : int64 -> int64 -> int64
val div : int64 -> int64 -> int64
val unsigned_div : int64 -> int64 -> int64
val rem : int64 -> int64 -> int64
val unsigned_rem : int64 -> int64 -> int64
val logand : int64 -> int64 -> int64
val logor : int64 -> int64 -> int64
val logxor : int64 -> int64 -> int64
val shl : int64 -> int64 -> int64
val shr_s : int64 -> int64 -> int64
val shr_u : int64 -> int64 -> int64
val rotl : int64 -> int64 -> int64
val rotr : int64 -> int64 -> int64
val eq_const : int64 -> Int64.t -> vbool
val eq : int64 -> int64 -> vbool
val ne : int64 -> int64 -> vbool
val lt : int64 -> int64 -> vbool
val gt : int64 -> int64 -> vbool
val lt_u : int64 -> int64 -> vbool
val gt_u : int64 -> int64 -> vbool
val le : int64 -> int64 -> vbool
val ge : int64 -> int64 -> vbool
val le_u : int64 -> int64 -> vbool
val ge_u : int64 -> int64 -> vbool
val trunc_f32_s : float32 -> int64
val trunc_f32_u : float32 -> int64
val trunc_f64_s : float64 -> int64
val trunc_f64_u : float64 -> int64
val trunc_sat_f32_s : float32 -> int64
val trunc_sat_f32_u : float32 -> int64
val trunc_sat_f64_s : float64 -> int64
val trunc_sat_f64_u : float64 -> int64
val extend_s : int -> int64 -> int64
val of_int32 : int32 -> int64
val to_int32 : int64 -> int32
val reinterpret_f64 : float64 -> int64
val extend_i32_s : int32 -> int64
val extend_i32_u : int32 -> int64
diff --git a/api/owi/Owi/Stack/Make/argument-1-V/Ref/index.html b/api/owi/Owi/Stack/Make/argument-1-V/Ref/index.html deleted file mode 100644 index 5408df2d5..000000000 --- a/api/owi/Owi/Stack/Make/argument-1-V/Ref/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Ref (owi.Owi.Stack.Make.V.Ref)

Module V.Ref

val get_externref : ref_value -> 'a Prelude.Type.Id.t -> 'a Value_intf.get_ref
diff --git a/api/owi/Owi/Stack/Make/argument-1-V/index.html b/api/owi/Owi/Stack/Make/argument-1-V/index.html deleted file mode 100644 index 1b3b4a919..000000000 --- a/api/owi/Owi/Stack/Make/argument-1-V/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -V (owi.Owi.Stack.Make.V)

Parameter Make.V

type vbool
type int32
val pp_int32 : Prelude.Fmt.formatter -> int32 -> unit
type int64
val pp_int64 : Prelude.Fmt.formatter -> int64 -> unit
type float32
val pp_float32 : Prelude.Fmt.formatter -> float32 -> unit
type float64
val pp_float64 : Prelude.Fmt.formatter -> float64 -> unit
type ref_value
val pp_ref_value : Prelude.Fmt.formatter -> ref_value -> unit
type t =
  1. | I32 of int32
  2. | I64 of int64
  3. | F32 of float32
  4. | F64 of float64
  5. | Ref of ref_value
val pp : Prelude.Fmt.formatter -> t -> unit
val const_i32 : Int32.t -> int32
val const_i64 : Int64.t -> int64
val const_f32 : Float32.t -> float32
val const_f64 : Float64.t -> float64
val ref_null : Types.binary Types.heap_type -> t
val ref_func : Func_intf.t -> t
val ref_externref : 'a Prelude.Type.Id.t -> 'a -> t
val ref_is_null : ref_value -> vbool
module Ref : sig ... end
module Bool : sig ... end
module F32 : sig ... end
module F64 : sig ... end
module I32 : sig ... end
module I64 : sig ... end
diff --git a/api/owi/Owi/Stack/Make/index.html b/api/owi/Owi/Stack/Make/index.html deleted file mode 100644 index 0988a6d64..000000000 --- a/api/owi/Owi/Stack/Make/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Make (owi.Owi.Stack.Make)

Module Stack.Make

Parameters

module V : Value_intf.T

Signature

type t = V.t list
val empty : t
val pp : Prelude.Fmt.formatter -> t -> unit

pop operations

val drop : t -> t
val drop_n : 'a list -> int -> 'a list
val pop : t -> V.t * t
val pop_n : t -> int -> t * t
val keep : t -> int -> t
val pop_bool : t -> V.vbool * t
val pop_i32 : t -> V.int32 * t
val pop2_i32 : t -> (V.int32 * V.int32) * t
val pop_i64 : t -> V.int64 * t
val pop2_i64 : t -> (V.int64 * V.int64) * t
val pop_f32 : t -> V.float32 * t
val pop2_f32 : t -> (V.float32 * V.float32) * t
val pop_f64 : t -> V.float64 * t
val pop2_f64 : t -> (V.float64 * V.float64) * t
val pop_ref : t -> V.t * t
val pop_as_ref : t -> V.ref_value * t

push operations

val push : t -> V.t -> t
val push_bool : t -> V.vbool -> t
val push_i32 : t -> V.int32 -> t
val push_const_i32 : t -> Int32.t -> t
val push_i32_of_int : t -> int -> t
val push_i64 : t -> V.int64 -> t
val push_const_i64 : t -> Int64.t -> t
val push_f32 : t -> V.float32 -> t
val push_const_f32 : t -> Float32.t -> t
val push_f64 : t -> V.float64 -> t
val push_const_f64 : t -> Float64.t -> t
val push_as_externref : t -> 'b Prelude.Type.Id.t -> 'b -> t
val push_array : t -> unit Prelude.Array.t -> t
diff --git a/api/owi/Owi/Stack/index.html b/api/owi/Owi/Stack/index.html deleted file mode 100644 index 5b0acdae9..000000000 --- a/api/owi/Owi/Stack/index.html +++ /dev/null @@ -1,11 +0,0 @@ - -Stack (owi.Owi.Stack)

Module Owi.Stack

module type S = sig ... end
module Make - (V : Value_intf.T) : - S - with type value := V.t - and type vbool := V.vbool - and type int32 := V.int32 - and type int64 := V.int64 - and type float32 := V.float32 - and type float64 := V.float64 - and type ref_value := V.ref_value
diff --git a/api/owi/Owi/Stack/module-type-S/index.html b/api/owi/Owi/Stack/module-type-S/index.html deleted file mode 100644 index 1f89ac280..000000000 --- a/api/owi/Owi/Stack/module-type-S/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -S (owi.Owi.Stack.S)

Module type Stack.S

type vbool
type int32
type int64
type float32
type float64
type ref_value
type value
type t = value list
val empty : t
val pp : Prelude.Fmt.formatter -> t -> unit

pop operations

val drop : t -> t
val drop_n : 'a list -> int -> 'a list
val pop : t -> value * t
val pop_n : t -> int -> t * t
val keep : t -> int -> t
val pop_bool : t -> vbool * t
val pop_i32 : t -> int32 * t
val pop2_i32 : t -> (int32 * int32) * t
val pop_i64 : t -> int64 * t
val pop2_i64 : t -> (int64 * int64) * t
val pop_f32 : t -> float32 * t
val pop2_f32 : t -> (float32 * float32) * t
val pop_f64 : t -> float64 * t
val pop2_f64 : t -> (float64 * float64) * t
val pop_ref : t -> value * t
val pop_as_ref : t -> ref_value * t

push operations

val push : t -> value -> t
val push_bool : t -> vbool -> t
val push_i32 : t -> int32 -> t
val push_const_i32 : t -> Int32.t -> t
val push_i32_of_int : t -> int -> t
val push_i64 : t -> int64 -> t
val push_const_i64 : t -> Int64.t -> t
val push_f32 : t -> float32 -> t
val push_const_f32 : t -> Float32.t -> t
val push_f64 : t -> float64 -> t
val push_const_f64 : t -> Float64.t -> t
val push_as_externref : t -> 'b Prelude.Type.Id.t -> 'b -> t
val push_array : t -> unit Prelude.Array.t -> t
diff --git a/api/owi/Owi/String_map/index.html b/api/owi/Owi/String_map/index.html deleted file mode 100644 index 02bc02eee..000000000 --- a/api/owi/Owi/String_map/index.html +++ /dev/null @@ -1,6 +0,0 @@ - -String_map (owi.Owi.String_map)

Module Owi.String_map

include sig ... end
type key = Prelude.String.t
type !'a t = 'a Stdlib__Map.Make(Prelude.String).t
val empty : 'a t
val add : key -> 'a -> 'a t -> 'a t
val add_to_list : key -> 'a -> 'a list t -> 'a list t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
val cardinal : 'a t -> int
val bindings : 'a t -> (key * 'a) list
val min_binding : 'a t -> key * 'a
val min_binding_opt : 'a t -> (key * 'a) option
val max_binding : 'a t -> key * 'a
val max_binding_opt : 'a t -> (key * 'a) option
val choose : 'a t -> key * 'a
val choose_opt : 'a t -> (key * 'a) option
val find : key -> 'a t -> 'a
val find_opt : key -> 'a t -> 'a option
val find_first : (key -> bool) -> 'a t -> key * 'a
val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
val find_last : (key -> bool) -> 'a t -> key * 'a
val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
val iter : (key -> 'a -> unit) -> 'a t -> unit
val fold : (key -> 'a -> 'acc -> 'acc) -> 'a t -> 'acc -> 'acc
val map : ('a -> 'b) -> 'a t -> 'b t
val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
val filter : (key -> 'a -> bool) -> 'a t -> 'a t
val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
val split : key -> 'a t -> 'a t * 'a option * 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
val for_all : (key -> 'a -> bool) -> 'a t -> bool
val exists : (key -> 'a -> bool) -> 'a t -> bool
val to_list : 'a t -> (key * 'a) list
val of_list : (key * 'a) list -> 'a t
val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
diff --git a/api/owi/Owi/Symbolic/M/Choice/index.html b/api/owi/Owi/Symbolic/M/Choice/index.html deleted file mode 100644 index 58fa9e545..000000000 --- a/api/owi/Owi/Symbolic/M/Choice/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Choice (owi.Owi.Symbolic.M.Choice)

Module M.Choice

val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
val map : 'a t -> ('a -> 'b) -> 'b t
val select : Symbolic_value.vbool -> bool t
val select_i32 : Symbolic_value.int32 -> Int32.t t
val trap : Trap.t -> 'a t
val let* : 'a t -> ('a -> 'b t) -> 'b t
val let+ : 'a t -> ('a -> 'b) -> 'b t
val assertion : Symbolic_value.vbool -> unit t
val with_thread : (Thread_with_memory.t -> 'b) -> 'b t
val solver : Solver.t t
val thread : Thread_with_memory.t t
val add_pc : Symbolic_value.vbool -> unit t
val lift_mem : 'a Symbolic_choice_without_memory.t -> 'a t
diff --git a/api/owi/Owi/Symbolic/M/Data/index.html b/api/owi/Owi/Symbolic/M/Data/index.html deleted file mode 100644 index bc790b488..000000000 --- a/api/owi/Owi/Symbolic/M/Data/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Data (owi.Owi.Symbolic.M.Data)

Module M.Data

type t = Link_env.data
val value : Link_env.data -> string
diff --git a/api/owi/Owi/Symbolic/M/Elem/index.html b/api/owi/Owi/Symbolic/M/Elem/index.html deleted file mode 100644 index 343a00f57..000000000 --- a/api/owi/Owi/Symbolic/M/Elem/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Elem (owi.Owi.Symbolic.M.Elem)

Module M.Elem

type t = Link_env.elem
val get : t -> int -> Value.ref_value
val size : t -> int
diff --git a/api/owi/Owi/Symbolic/M/Env/index.html b/api/owi/Owi/Symbolic/M/Env/index.html deleted file mode 100644 index a977c4d70..000000000 --- a/api/owi/Owi/Symbolic/M/Env/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Env (owi.Owi.Symbolic.M.Env)

Module M.Env

type t' = Env_id.t
val get_memory : 'a Link_env.t -> int -> Memory.t Choice.t
val get_func : 'a Link_env.t -> int -> Func_intf.t
val get_extern_func : 'a Link_env.t -> Func_id.t -> 'a
val get_elem : 'a Link_env.t -> int -> Link_env.elem
val get_data : 'a Link_env.t -> int -> Link_env.data Choice.t
val get_global : t -> int -> Global.t Choice.t
val drop_elem : 'a -> unit
val drop_data : Link_env.data -> unit
diff --git a/api/owi/Owi/Symbolic/M/Extern_func/index.html b/api/owi/Owi/Symbolic/M/Extern_func/index.html deleted file mode 100644 index 25e7dd353..000000000 --- a/api/owi/Owi/Symbolic/M/Extern_func/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Extern_func (owi.Owi.Symbolic.M.Extern_func)

Module M.Extern_func

type !'b telt =
  1. | I32 : Value.int32 telt
  2. | I64 : Value.int64 telt
  3. | F32 : Value.float32 telt
  4. | F64 : Value.float64 telt
  5. | Externref : 'a Prelude.Type.Id.t -> 'a telt
type !'e rtype =
  1. | R0 : unit rtype
  2. | R1 : 'a telt -> 'a rtype
  3. | R2 : 'a0 telt * 'b telt -> ('a0 * 'b) rtype
  4. | R3 : 'a1 telt * 'b0 telt * 'c telt -> ('a1 * 'b0 * 'c) rtype
  5. | R4 : 'a2 telt * 'b1 telt * 'c0 telt * 'd telt -> ('a2 * 'b1 * 'c0 * 'd) rtype
type (!'c, !'d) atype =
  1. | Mem : ('b, 'r) atype -> (Symbolic_memory_concretizing.t -> 'b, 'r) atype
  2. | UArg : ('b0, 'r0) atype -> (unit -> 'b0, 'r0) atype
  3. | Arg : 'a telt * ('b1, 'r1) atype -> ('a -> 'b1, 'r1) atype
  4. | NArg : string * 'a0 telt * ('b2, 'r2) atype -> ('a0 -> 'b2, 'r2) atype
  5. | Res : ('r3, 'r3) atype
type !'a func_type =
  1. | Func : ('f, 'r Choice.t) atype * 'r rtype -> 'f func_type
type extern_func =
  1. | Extern_func : 'a func_type * 'a -> extern_func
diff --git a/api/owi/Owi/Symbolic/M/Memory/ITbl/index.html b/api/owi/Owi/Symbolic/M/Memory/ITbl/index.html deleted file mode 100644 index de4240505..000000000 --- a/api/owi/Owi/Symbolic/M/Memory/ITbl/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -ITbl (owi.Owi.Symbolic.M.Memory.ITbl)

Module Memory.ITbl

val iter : (key -> 'a -> unit) -> 'a t -> unit
diff --git a/api/owi/Owi/Symbolic/M/Memory/index.html b/api/owi/Owi/Symbolic/M/Memory/index.html deleted file mode 100644 index 8b06574af..000000000 --- a/api/owi/Owi/Symbolic/M/Memory/index.html +++ /dev/null @@ -1,17 +0,0 @@ - -Memory (owi.Owi.Symbolic.M.Memory)

Module M.Memory

val init : unit -> collection
val clone : collection -> collection
val get_memory : Env_id.t -> Concrete_memory.t -> collection -> int -> t
val realloc : - t -> - ptr:Smtml.Expr.t -> - size:Smtml.Expr.t -> - Smtml.Expr.t Symbolic_choice_without_memory.t
val free : t -> Smtml.Expr.t -> unit Symbolic_choice_without_memory.t
val grow : t -> Smtml.Expr.t -> unit
val fill : t -> pos:Smtml.Expr.t -> len:Smtml.Expr.t -> char -> Smtml.Expr.t
val blit : - t -> - src:Smtml.Expr.t -> - dst:Smtml.Expr.t -> - len:Smtml.Expr.t -> - Smtml.Expr.t
val blit_string : - t -> - string -> - src:Smtml.Expr.t -> - dst:Smtml.Expr.t -> - len:Smtml.Expr.t -> - Smtml.Expr.t
val size : t -> Smtml.Expr.t
val size_in_pages : t -> Smtml.Expr.t
val get_limit_max : t -> Smtml.Expr.t option
module ITbl : sig ... end
val iter : (t ITbl.t -> unit) -> collection -> unit
val load_8_s : t -> Smtml.Expr.t -> Symbolic_value.int32 Choice.t
val load_8_u : t -> Smtml.Expr.t -> Symbolic_value.int32 Choice.t
val load_16_s : t -> Smtml.Expr.t -> Symbolic_value.int32 Choice.t
val load_16_u : t -> Smtml.Expr.t -> Symbolic_value.int32 Choice.t
val load_32 : t -> Smtml.Expr.t -> Symbolic_value.int32 Choice.t
val load_64 : t -> Smtml.Expr.t -> Symbolic_value.int32 Choice.t
val store_8 : t -> addr:Smtml.Expr.t -> Smtml.Expr.t -> unit Choice.t
val store_16 : t -> addr:Smtml.Expr.t -> Smtml.Expr.t -> unit Choice.t
val store_32 : t -> addr:Smtml.Expr.t -> Smtml.Expr.t -> unit Choice.t
val store_64 : t -> addr:Smtml.Expr.t -> Smtml.Expr.t -> unit Choice.t
diff --git a/api/owi/Owi/Symbolic/M/Module_to_run/index.html b/api/owi/Owi/Symbolic/M/Module_to_run/index.html deleted file mode 100644 index 548446c99..000000000 --- a/api/owi/Owi/Symbolic/M/Module_to_run/index.html +++ /dev/null @@ -1,4 +0,0 @@ - -Module_to_run (owi.Owi.Symbolic.M.Module_to_run)

Module M.Module_to_run

runnable module

val env : t -> Env.t
val modul : t -> Binary.modul
val to_run : t -> Types.binary Types.expr list
diff --git a/api/owi/Owi/Symbolic/M/index.html b/api/owi/Owi/Symbolic/M/index.html deleted file mode 100644 index 2aa9be1f8..000000000 --- a/api/owi/Owi/Symbolic/M/index.html +++ /dev/null @@ -1,6 +0,0 @@ - -M (owi.Owi.Symbolic.M)

Module Symbolic.M

module Value = Symbolic_value
module Choice : sig ... end
module Extern_func : sig ... end
module Global = Symbolic_global
module Table = Symbolic_table
type thread = Thread_with_memory.t
val select : - Value.vbool -> - if_true:Value.t -> - if_false:Value.t -> - Value.t Choice.t
module Elem : sig ... end
module Memory : sig ... end
module Data : sig ... end
module Env : sig ... end
module Module_to_run : sig ... end
diff --git a/api/owi/Owi/Symbolic/MakeP/Data/index.html b/api/owi/Owi/Symbolic/MakeP/Data/index.html deleted file mode 100644 index 70f3ac67f..000000000 --- a/api/owi/Owi/Symbolic/MakeP/Data/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Data (owi.Owi.Symbolic.MakeP.Data)

Module MakeP.Data

type t = Link_env.data
val value : Link_env.data -> string
diff --git a/api/owi/Owi/Symbolic/MakeP/Elem/index.html b/api/owi/Owi/Symbolic/MakeP/Elem/index.html deleted file mode 100644 index 062591dad..000000000 --- a/api/owi/Owi/Symbolic/MakeP/Elem/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Elem (owi.Owi.Symbolic.MakeP.Elem)

Module MakeP.Elem

type t = Link_env.elem
val get : t -> int -> Value.ref_value
val size : t -> int
diff --git a/api/owi/Owi/Symbolic/MakeP/Env/index.html b/api/owi/Owi/Symbolic/MakeP/Env/index.html deleted file mode 100644 index 730d47c4f..000000000 --- a/api/owi/Owi/Symbolic/MakeP/Env/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Env (owi.Owi.Symbolic.MakeP.Env)

Module MakeP.Env

type t' = Env_id.t
val get_memory : 'a Link_env.t -> int -> Memory.t Choice.t
val get_func : 'a Link_env.t -> int -> Func_intf.t
val get_extern_func : 'a Link_env.t -> Func_id.t -> 'a
val get_elem : 'a Link_env.t -> int -> Link_env.elem
val get_data : 'a Link_env.t -> int -> Link_env.data Choice.t
val get_global : t -> int -> Global.t Choice.t
val drop_elem : 'a -> unit
val drop_data : Link_env.data -> unit
diff --git a/api/owi/Owi/Symbolic/MakeP/Extern_func/index.html b/api/owi/Owi/Symbolic/MakeP/Extern_func/index.html deleted file mode 100644 index 80f55c099..000000000 --- a/api/owi/Owi/Symbolic/MakeP/Extern_func/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Extern_func (owi.Owi.Symbolic.MakeP.Extern_func)

Module MakeP.Extern_func

type !'b telt =
  1. | I32 : Value.int32 telt
  2. | I64 : Value.int64 telt
  3. | F32 : Value.float32 telt
  4. | F64 : Value.float64 telt
  5. | Externref : 'a Prelude.Type.Id.t -> 'a telt
type !'e rtype =
  1. | R0 : unit rtype
  2. | R1 : 'a telt -> 'a rtype
  3. | R2 : 'a0 telt * 'b telt -> ('a0 * 'b) rtype
  4. | R3 : 'a1 telt * 'b0 telt * 'c telt -> ('a1 * 'b0 * 'c) rtype
  5. | R4 : 'a2 telt * 'b1 telt * 'c0 telt * 'd telt -> ('a2 * 'b1 * 'c0 * 'd) rtype
type (!'c, !'d) atype =
  1. | Mem : ('b, 'r) atype -> (Memory.t -> 'b, 'r) atype
  2. | UArg : ('b0, 'r0) atype -> (unit -> 'b0, 'r0) atype
  3. | Arg : 'a telt * ('b1, 'r1) atype -> ('a -> 'b1, 'r1) atype
  4. | NArg : string * 'a0 telt * ('b2, 'r2) atype -> ('a0 -> 'b2, 'r2) atype
  5. | Res : ('r3, 'r3) atype
type !'a func_type =
  1. | Func : ('f, 'r Choice.t) atype * 'r rtype -> 'f func_type
type extern_func =
  1. | Extern_func : 'a func_type * 'a -> extern_func
diff --git a/api/owi/Owi/Symbolic/MakeP/Memory/index.html b/api/owi/Owi/Symbolic/MakeP/Memory/index.html deleted file mode 100644 index 6cda032c0..000000000 --- a/api/owi/Owi/Symbolic/MakeP/Memory/index.html +++ /dev/null @@ -1,17 +0,0 @@ - -Memory (owi.Owi.Symbolic.MakeP.Memory)

Module MakeP.Memory

include module type of struct include Memory end
type t = Memory.t
type collection = Memory.collection
val init : unit -> collection
val clone : collection -> collection
val get_memory : Env_id.t -> Concrete_memory.t -> collection -> int -> t
val realloc : - t -> - ptr:Smtml.Expr.t -> - size:Smtml.Expr.t -> - Smtml.Expr.t Symbolic_choice_without_memory.t
val free : t -> Smtml.Expr.t -> unit Symbolic_choice_without_memory.t
val grow : t -> Smtml.Expr.t -> unit
val fill : t -> pos:Smtml.Expr.t -> len:Smtml.Expr.t -> char -> Smtml.Expr.t
val blit : - t -> - src:Smtml.Expr.t -> - dst:Smtml.Expr.t -> - len:Smtml.Expr.t -> - Smtml.Expr.t
val blit_string : - t -> - string -> - src:Smtml.Expr.t -> - dst:Smtml.Expr.t -> - len:Smtml.Expr.t -> - Smtml.Expr.t
val size : t -> Smtml.Expr.t
val size_in_pages : t -> Smtml.Expr.t
val get_limit_max : t -> Smtml.Expr.t option
module ITbl = Memory.ITbl
val iter : (t ITbl.t -> unit) -> collection -> unit
val load_8_s : t -> Smtml.Expr.t -> Symbolic_value.int32 Choice.t
val load_8_u : t -> Smtml.Expr.t -> Symbolic_value.int32 Choice.t
val load_16_s : t -> Smtml.Expr.t -> Symbolic_value.int32 Choice.t
val load_16_u : t -> Smtml.Expr.t -> Symbolic_value.int32 Choice.t
val load_32 : t -> Smtml.Expr.t -> Symbolic_value.int32 Choice.t
val load_64 : t -> Smtml.Expr.t -> Symbolic_value.int32 Choice.t
val store_8 : t -> addr:Smtml.Expr.t -> Smtml.Expr.t -> unit Choice.t
val store_16 : t -> addr:Smtml.Expr.t -> Smtml.Expr.t -> unit Choice.t
val store_32 : t -> addr:Smtml.Expr.t -> Smtml.Expr.t -> unit Choice.t
val store_64 : t -> addr:Smtml.Expr.t -> Smtml.Expr.t -> unit Choice.t
diff --git a/api/owi/Owi/Symbolic/MakeP/Module_to_run/index.html b/api/owi/Owi/Symbolic/MakeP/Module_to_run/index.html deleted file mode 100644 index 7a7bd946e..000000000 --- a/api/owi/Owi/Symbolic/MakeP/Module_to_run/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Module_to_run (owi.Owi.Symbolic.MakeP.Module_to_run)

Module MakeP.Module_to_run

type t = {
  1. modul : Binary.modul;
  2. env : Env.t;
  3. to_run : Types.binary Types.expr list;
}

runnable module

val env : t -> Env.t
val modul : t -> Binary.modul
val to_run : t -> Types.binary Types.expr list
diff --git a/api/owi/Owi/Symbolic/MakeP/argument-1-Memory/ITbl/index.html b/api/owi/Owi/Symbolic/MakeP/argument-1-Memory/ITbl/index.html deleted file mode 100644 index 17b5b3bdb..000000000 --- a/api/owi/Owi/Symbolic/MakeP/argument-1-Memory/ITbl/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -ITbl (owi.Owi.Symbolic.MakeP.Memory.ITbl)

Module Memory.ITbl

type 'a t
type key
val iter : (key -> 'a -> unit) -> 'a t -> unit
diff --git a/api/owi/Owi/Symbolic/MakeP/argument-1-Memory/index.html b/api/owi/Owi/Symbolic/MakeP/argument-1-Memory/index.html deleted file mode 100644 index 3b565ffe2..000000000 --- a/api/owi/Owi/Symbolic/MakeP/argument-1-Memory/index.html +++ /dev/null @@ -1,51 +0,0 @@ - -Memory (owi.Owi.Symbolic.MakeP.Memory)

Parameter MakeP.Memory

type t
type collection
val init : unit -> collection
val clone : collection -> collection
val get_memory : Env_id.t -> Concrete_memory.t -> collection -> int -> t
val realloc : - t -> - ptr:Smtml.Expr.t -> - size:Smtml.Expr.t -> - Smtml.Expr.t Symbolic_choice_without_memory.t
val free : t -> Smtml.Expr.t -> unit Symbolic_choice_without_memory.t
val load_8_s : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_8_u : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_16_s : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_16_u : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_32 : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_64 : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val store_8 : - t -> - addr:Smtml.Expr.t -> - Smtml.Expr.t -> - unit Symbolic_choice_without_memory.t
val store_16 : - t -> - addr:Smtml.Expr.t -> - Smtml.Expr.t -> - unit Symbolic_choice_without_memory.t
val store_32 : - t -> - addr:Smtml.Expr.t -> - Smtml.Expr.t -> - unit Symbolic_choice_without_memory.t
val store_64 : - t -> - addr:Smtml.Expr.t -> - Smtml.Expr.t -> - unit Symbolic_choice_without_memory.t
val grow : t -> Smtml.Expr.t -> unit
val fill : t -> pos:Smtml.Expr.t -> len:Smtml.Expr.t -> char -> Smtml.Expr.t
val blit : - t -> - src:Smtml.Expr.t -> - dst:Smtml.Expr.t -> - len:Smtml.Expr.t -> - Smtml.Expr.t
val blit_string : - t -> - string -> - src:Smtml.Expr.t -> - dst:Smtml.Expr.t -> - len:Smtml.Expr.t -> - Smtml.Expr.t
val size : t -> Smtml.Expr.t
val size_in_pages : t -> Smtml.Expr.t
val get_limit_max : t -> Smtml.Expr.t option
module ITbl : sig ... end
val iter : (t ITbl.t -> unit) -> collection -> unit
diff --git a/api/owi/Owi/Symbolic/MakeP/argument-2-Thread/Memory/index.html b/api/owi/Owi/Symbolic/MakeP/argument-2-Thread/Memory/index.html deleted file mode 100644 index 99ee28a22..000000000 --- a/api/owi/Owi/Symbolic/MakeP/argument-2-Thread/Memory/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Memory (owi.Owi.Symbolic.MakeP.Thread.Memory)

Module Thread.Memory

type collection = Memory.collection
val init : unit -> collection
val clone : collection -> collection
diff --git a/api/owi/Owi/Symbolic/MakeP/argument-2-Thread/index.html b/api/owi/Owi/Symbolic/MakeP/argument-2-Thread/index.html deleted file mode 100644 index 2aa4351d7..000000000 --- a/api/owi/Owi/Symbolic/MakeP/argument-2-Thread/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Thread (owi.Owi.Symbolic.MakeP.Thread)

Parameter MakeP.Thread

type t
val init : unit -> t
val create : - int -> - Smtml.Symbol.t list -> - Symbolic_value.vbool list -> - Memory.collection -> - Symbolic_table.collection -> - Symbolic_global.collection -> - int32 list -> - t
val pc : t -> Symbolic_value.vbool list
val memories : t -> Memory.collection
val globals : t -> Symbolic_global.collection
val breadcrumbs : t -> int32 list
val symbols_set : t -> Smtml.Symbol.t list
val symbols : t -> int
val clone : t -> t
val add_pc : t -> Symbolic_value.vbool -> t
val add_breadcrumb : t -> int32 -> t
val add_symbol : t -> Smtml.Symbol.t -> t
val incr_symbols : t -> t
diff --git a/api/owi/Owi/Symbolic/MakeP/argument-3-Choice/index.html b/api/owi/Owi/Symbolic/MakeP/argument-3-Choice/index.html deleted file mode 100644 index 47f75aa2e..000000000 --- a/api/owi/Owi/Symbolic/MakeP/argument-3-Choice/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Choice (owi.Owi.Symbolic.MakeP.Choice)

Parameter MakeP.Choice

include Choice_intf.Base with module V := Symbolic_value
type 'a t
val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
val map : 'a t -> ('a -> 'b) -> 'b t
val select : Owi.Symbolic_value.vbool -> bool t
val select_i32 : Owi.Symbolic_value.int32 -> Int32.t t
val trap : Trap.t -> 'a t
val let* : 'a t -> ('a -> 'b t) -> 'b t
val let+ : 'a t -> ('a -> 'b) -> 'b t
type 'a run_result
val assertion : Owi.Symbolic_value.vbool -> unit t
val with_thread : (Thread.t -> 'b) -> 'b t
val solver : Solver.t t
val thread : Thread.t t
val add_pc : Owi.Symbolic_value.vbool -> unit t
val lift_mem : 'a Symbolic_choice_without_memory.t -> 'a t
diff --git a/api/owi/Owi/Symbolic/MakeP/index.html b/api/owi/Owi/Symbolic/MakeP/index.html deleted file mode 100644 index c45275cad..000000000 --- a/api/owi/Owi/Symbolic/MakeP/index.html +++ /dev/null @@ -1,9 +0,0 @@ - -MakeP (owi.Owi.Symbolic.MakeP)

Module Symbolic.MakeP

Parameters

module Choice : - Choice_intf.Complete - with module V := Symbolic_value - and type thread := Thread.t

Signature

module Value = Symbolic_value
module Choice = Choice
module Extern_func : sig ... end
module Global = Symbolic_global
module Table = Symbolic_table
type thread = Thread.t
val select : - Value.vbool -> - if_true:Value.t -> - if_false:Value.t -> - Value.t Choice.t
module Elem : sig ... end
module Memory : sig ... end
module Data : sig ... end
module Env : sig ... end
module Module_to_run : sig ... end
diff --git a/api/owi/Owi/Symbolic/P/Choice/index.html b/api/owi/Owi/Symbolic/P/Choice/index.html deleted file mode 100644 index 9a45349a8..000000000 --- a/api/owi/Owi/Symbolic/P/Choice/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Choice (owi.Owi.Symbolic.P.Choice)

Module P.Choice

val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
val map : 'a t -> ('a -> 'b) -> 'b t
val select : Symbolic_value.vbool -> bool t
val select_i32 : Symbolic_value.int32 -> Int32.t t
val trap : Trap.t -> 'a t
val let* : 'a t -> ('a -> 'b t) -> 'b t
val let+ : 'a t -> ('a -> 'b) -> 'b t
val assertion : Symbolic_value.vbool -> unit t
val with_thread : (Thread_with_memory.t -> 'b) -> 'b t
val solver : Solver.t t
val thread : Thread_with_memory.t t
val add_pc : Symbolic_value.vbool -> unit t
val lift_mem : 'a Symbolic_choice_without_memory.t -> 'a t
diff --git a/api/owi/Owi/Symbolic/P/Data/index.html b/api/owi/Owi/Symbolic/P/Data/index.html deleted file mode 100644 index 32f9f9e4e..000000000 --- a/api/owi/Owi/Symbolic/P/Data/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Data (owi.Owi.Symbolic.P.Data)

Module P.Data

type t = Link_env.data
val value : Link_env.data -> string
diff --git a/api/owi/Owi/Symbolic/P/Elem/index.html b/api/owi/Owi/Symbolic/P/Elem/index.html deleted file mode 100644 index 907647229..000000000 --- a/api/owi/Owi/Symbolic/P/Elem/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Elem (owi.Owi.Symbolic.P.Elem)

Module P.Elem

type t = Link_env.elem
val get : t -> int -> Value.ref_value
val size : t -> int
diff --git a/api/owi/Owi/Symbolic/P/Env/index.html b/api/owi/Owi/Symbolic/P/Env/index.html deleted file mode 100644 index 5fce84595..000000000 --- a/api/owi/Owi/Symbolic/P/Env/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Env (owi.Owi.Symbolic.P.Env)

Module P.Env

type t' = Env_id.t
val get_memory : 'a Link_env.t -> int -> Memory.t Choice.t
val get_func : 'a Link_env.t -> int -> Func_intf.t
val get_extern_func : 'a Link_env.t -> Func_id.t -> 'a
val get_elem : 'a Link_env.t -> int -> Link_env.elem
val get_data : 'a Link_env.t -> int -> Link_env.data Choice.t
val get_global : t -> int -> Global.t Choice.t
val drop_elem : 'a -> unit
val drop_data : Link_env.data -> unit
diff --git a/api/owi/Owi/Symbolic/P/Extern_func/index.html b/api/owi/Owi/Symbolic/P/Extern_func/index.html deleted file mode 100644 index 7bb9bd703..000000000 --- a/api/owi/Owi/Symbolic/P/Extern_func/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Extern_func (owi.Owi.Symbolic.P.Extern_func)

Module P.Extern_func

type !'b telt =
  1. | I32 : Value.int32 telt
  2. | I64 : Value.int64 telt
  3. | F32 : Value.float32 telt
  4. | F64 : Value.float64 telt
  5. | Externref : 'a Prelude.Type.Id.t -> 'a telt
type !'e rtype =
  1. | R0 : unit rtype
  2. | R1 : 'a telt -> 'a rtype
  3. | R2 : 'a0 telt * 'b telt -> ('a0 * 'b) rtype
  4. | R3 : 'a1 telt * 'b0 telt * 'c telt -> ('a1 * 'b0 * 'c) rtype
  5. | R4 : 'a2 telt * 'b1 telt * 'c0 telt * 'd telt -> ('a2 * 'b1 * 'c0 * 'd) rtype
type (!'c, !'d) atype =
  1. | Mem : ('b, 'r) atype -> (Symbolic_memory_concretizing.t -> 'b, 'r) atype
  2. | UArg : ('b0, 'r0) atype -> (unit -> 'b0, 'r0) atype
  3. | Arg : 'a telt * ('b1, 'r1) atype -> ('a -> 'b1, 'r1) atype
  4. | NArg : string * 'a0 telt * ('b2, 'r2) atype -> ('a0 -> 'b2, 'r2) atype
  5. | Res : ('r3, 'r3) atype
type !'a func_type =
  1. | Func : ('f, 'r Choice.t) atype * 'r rtype -> 'f func_type
type extern_func =
  1. | Extern_func : 'a func_type * 'a -> extern_func
diff --git a/api/owi/Owi/Symbolic/P/Memory/ITbl/index.html b/api/owi/Owi/Symbolic/P/Memory/ITbl/index.html deleted file mode 100644 index 5cae3ca6a..000000000 --- a/api/owi/Owi/Symbolic/P/Memory/ITbl/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -ITbl (owi.Owi.Symbolic.P.Memory.ITbl)

Module Memory.ITbl

val iter : (key -> 'a -> unit) -> 'a t -> unit
diff --git a/api/owi/Owi/Symbolic/P/Memory/index.html b/api/owi/Owi/Symbolic/P/Memory/index.html deleted file mode 100644 index b886505aa..000000000 --- a/api/owi/Owi/Symbolic/P/Memory/index.html +++ /dev/null @@ -1,17 +0,0 @@ - -Memory (owi.Owi.Symbolic.P.Memory)

Module P.Memory

val init : unit -> collection
val clone : collection -> collection
val get_memory : Env_id.t -> Concrete_memory.t -> collection -> int -> t
val realloc : - t -> - ptr:Smtml.Expr.t -> - size:Smtml.Expr.t -> - Smtml.Expr.t Symbolic_choice_without_memory.t
val free : t -> Smtml.Expr.t -> unit Symbolic_choice_without_memory.t
val grow : t -> Smtml.Expr.t -> unit
val fill : t -> pos:Smtml.Expr.t -> len:Smtml.Expr.t -> char -> Smtml.Expr.t
val blit : - t -> - src:Smtml.Expr.t -> - dst:Smtml.Expr.t -> - len:Smtml.Expr.t -> - Smtml.Expr.t
val blit_string : - t -> - string -> - src:Smtml.Expr.t -> - dst:Smtml.Expr.t -> - len:Smtml.Expr.t -> - Smtml.Expr.t
val size : t -> Smtml.Expr.t
val size_in_pages : t -> Smtml.Expr.t
val get_limit_max : t -> Smtml.Expr.t option
module ITbl : sig ... end
val iter : (t ITbl.t -> unit) -> collection -> unit
val load_8_s : t -> Smtml.Expr.t -> Symbolic_value.int32 Choice.t
val load_8_u : t -> Smtml.Expr.t -> Symbolic_value.int32 Choice.t
val load_16_s : t -> Smtml.Expr.t -> Symbolic_value.int32 Choice.t
val load_16_u : t -> Smtml.Expr.t -> Symbolic_value.int32 Choice.t
val load_32 : t -> Smtml.Expr.t -> Symbolic_value.int32 Choice.t
val load_64 : t -> Smtml.Expr.t -> Symbolic_value.int32 Choice.t
val store_8 : t -> addr:Smtml.Expr.t -> Smtml.Expr.t -> unit Choice.t
val store_16 : t -> addr:Smtml.Expr.t -> Smtml.Expr.t -> unit Choice.t
val store_32 : t -> addr:Smtml.Expr.t -> Smtml.Expr.t -> unit Choice.t
val store_64 : t -> addr:Smtml.Expr.t -> Smtml.Expr.t -> unit Choice.t
diff --git a/api/owi/Owi/Symbolic/P/Module_to_run/index.html b/api/owi/Owi/Symbolic/P/Module_to_run/index.html deleted file mode 100644 index e6404c8c1..000000000 --- a/api/owi/Owi/Symbolic/P/Module_to_run/index.html +++ /dev/null @@ -1,4 +0,0 @@ - -Module_to_run (owi.Owi.Symbolic.P.Module_to_run)

Module P.Module_to_run

runnable module

val env : t -> Env.t
val modul : t -> Binary.modul
val to_run : t -> Types.binary Types.expr list
diff --git a/api/owi/Owi/Symbolic/P/index.html b/api/owi/Owi/Symbolic/P/index.html deleted file mode 100644 index 487a1311d..000000000 --- a/api/owi/Owi/Symbolic/P/index.html +++ /dev/null @@ -1,6 +0,0 @@ - -P (owi.Owi.Symbolic.P)

Module Symbolic.P

module Value = Symbolic_value
module Choice : sig ... end
module Extern_func : sig ... end
module Global = Symbolic_global
module Table = Symbolic_table
type thread = Thread_with_memory.t
val select : - Value.vbool -> - if_true:Value.t -> - if_false:Value.t -> - Value.t Choice.t
module Elem : sig ... end
module Memory : sig ... end
module Data : sig ... end
module Env : sig ... end
module Module_to_run : sig ... end
diff --git a/api/owi/Owi/Symbolic/index.html b/api/owi/Owi/Symbolic/index.html deleted file mode 100644 index 89f6256c6..000000000 --- a/api/owi/Owi/Symbolic/index.html +++ /dev/null @@ -1,13 +0,0 @@ - -Symbolic (owi.Owi.Symbolic)

Module Owi.Symbolic

module MakeP - (Memory : Symbolic_memory_intf.S) - (Thread : Thread.S with type Memory.collection = Memory.collection) - (Choice : - Choice_intf.Complete - with module V := Symbolic_value - and type thread := Thread.t) : - sig ... end
module P : sig ... end
module M : sig ... end
val convert_module_to_run_minimalist : - M.Extern_func.extern_func Link.module_to_run -> - M.Module_to_run.t
diff --git a/api/owi/Owi/Symbolic_choice/CoreImpl/State/index.html b/api/owi/Owi/Symbolic_choice/CoreImpl/State/index.html deleted file mode 100644 index d51bca1f0..000000000 --- a/api/owi/Owi/Symbolic_choice/CoreImpl/State/index.html +++ /dev/null @@ -1,6 +0,0 @@ - -State (owi.Owi.Symbolic_choice.CoreImpl.State)

Module CoreImpl.State

type ('a, 's) t
val project_state : - ('st1 -> 'st2 * 'backup) -> - ('backup -> 'st2 -> 'st1) -> - ('a, 'st2) t -> - ('a, 'st1) t
diff --git a/api/owi/Owi/Symbolic_choice/CoreImpl/index.html b/api/owi/Owi/Symbolic_choice/CoreImpl/index.html deleted file mode 100644 index 8e00d3277..000000000 --- a/api/owi/Owi/Symbolic_choice/CoreImpl/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -CoreImpl (owi.Owi.Symbolic_choice.CoreImpl)

Module Symbolic_choice.CoreImpl

module State : sig ... end
diff --git a/api/owi/Owi/Symbolic_choice/Make/argument-1-Thread/Memory/index.html b/api/owi/Owi/Symbolic_choice/Make/argument-1-Thread/Memory/index.html deleted file mode 100644 index b1807f1db..000000000 --- a/api/owi/Owi/Symbolic_choice/Make/argument-1-Thread/Memory/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Memory (owi.Owi.Symbolic_choice.Make.Thread.Memory)

Module Thread.Memory

type collection
val init : unit -> collection
val clone : collection -> collection
diff --git a/api/owi/Owi/Symbolic_choice/Make/argument-1-Thread/index.html b/api/owi/Owi/Symbolic_choice/Make/argument-1-Thread/index.html deleted file mode 100644 index 8784e7db0..000000000 --- a/api/owi/Owi/Symbolic_choice/Make/argument-1-Thread/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Thread (owi.Owi.Symbolic_choice.Make.Thread)

Parameter Make.Thread

type t
val init : unit -> t
val create : - int -> - Smtml.Symbol.t list -> - Symbolic_value.vbool list -> - Memory.collection -> - Symbolic_table.collection -> - Symbolic_global.collection -> - int32 list -> - t
val pc : t -> Symbolic_value.vbool list
val memories : t -> Memory.collection
val globals : t -> Symbolic_global.collection
val breadcrumbs : t -> int32 list
val symbols_set : t -> Smtml.Symbol.t list
val symbols : t -> int
val clone : t -> t
val add_pc : t -> Symbolic_value.vbool -> t
val add_breadcrumb : t -> int32 -> t
val add_symbol : t -> Smtml.Symbol.t -> t
val incr_symbols : t -> t
diff --git a/api/owi/Owi/Symbolic_choice/Make/index.html b/api/owi/Owi/Symbolic_choice/Make/index.html deleted file mode 100644 index a2efc2bc2..000000000 --- a/api/owi/Owi/Symbolic_choice/Make/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Make (owi.Owi.Symbolic_choice.Make)

Module Symbolic_choice.Make

Parameters

module Thread : Thread.S

Signature

val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
val let* : 'a t -> ('a -> 'b t) -> 'b t
val map : 'a t -> ('a -> 'b) -> 'b t
val let+ : 'a t -> ('a -> 'b) -> 'b t
val trap : Trap.t -> 'a t
val select : Owi.Symbolic_value.vbool -> bool t
val select_i32 : Owi.Symbolic_value.int32 -> Int32.t t
val assertion : Owi.Symbolic_value.vbool -> unit t
val with_thread : (Thread.t -> 'a) -> 'a t
val with_new_symbol : Smtml.Ty.t -> (Smtml.Symbol.t -> 'b) -> 'b t
val solver : Solver.t t
val thread : Thread.t t
val add_pc : Owi.Symbolic_value.vbool -> unit t
type 'a run_result = ('a Symbolic_choice_intf.eval * Thread.t) Prelude.Seq.t
val run : - workers:int -> - Smtml.Solver_dispatcher.solver_type -> - 'a t -> - Thread.t -> - callback:(('a Symbolic_choice_intf.eval * Thread.t) -> unit) -> - callback_init:(unit -> unit) -> - callback_end:(unit -> unit) -> - unit Prelude.Domain.t array
diff --git a/api/owi/Owi/Symbolic_choice/index.html b/api/owi/Owi/Symbolic_choice/index.html deleted file mode 100644 index 9f18798ff..000000000 --- a/api/owi/Owi/Symbolic_choice/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -Symbolic_choice (owi.Owi.Symbolic_choice)

Module Owi.Symbolic_choice

module type S = Symbolic_choice_intf.S
module CoreImpl : sig ... end
module Make - (Thread : Thread.S) : - S - with type 'a t = ('a Symbolic_choice_intf.eval, Thread.t) CoreImpl.State.t - and type thread := Thread.t - and module V := Symbolic_value
diff --git a/api/owi/Owi/Symbolic_choice_intf/index.html b/api/owi/Owi/Symbolic_choice_intf/index.html deleted file mode 100644 index e49d69b65..000000000 --- a/api/owi/Owi/Symbolic_choice_intf/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Symbolic_choice_intf (owi.Owi.Symbolic_choice_intf)

Module Owi.Symbolic_choice_intf

type 'a eval =
  1. | EVal of 'a
  2. | ETrap of Trap.t * Smtml.Model.t
  3. | EAssert of Smtml.Expr.t * Smtml.Model.t
module type S = sig ... end
module type Intf = sig ... end
diff --git a/api/owi/Owi/Symbolic_choice_intf/module-type-Intf/CoreImpl/State/index.html b/api/owi/Owi/Symbolic_choice_intf/module-type-Intf/CoreImpl/State/index.html deleted file mode 100644 index b7fe0546a..000000000 --- a/api/owi/Owi/Symbolic_choice_intf/module-type-Intf/CoreImpl/State/index.html +++ /dev/null @@ -1,6 +0,0 @@ - -State (owi.Owi.Symbolic_choice_intf.Intf.CoreImpl.State)

Module CoreImpl.State

type ('a, 's) t
val project_state : - ('st1 -> 'st2 * 'backup) -> - ('backup -> 'st2 -> 'st1) -> - ('a, 'st2) t -> - ('a, 'st1) t
diff --git a/api/owi/Owi/Symbolic_choice_intf/module-type-Intf/CoreImpl/index.html b/api/owi/Owi/Symbolic_choice_intf/module-type-Intf/CoreImpl/index.html deleted file mode 100644 index c4342b672..000000000 --- a/api/owi/Owi/Symbolic_choice_intf/module-type-Intf/CoreImpl/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -CoreImpl (owi.Owi.Symbolic_choice_intf.Intf.CoreImpl)

Module Intf.CoreImpl

module State : sig ... end
diff --git a/api/owi/Owi/Symbolic_choice_intf/module-type-Intf/Make/argument-1-Thread/Memory/index.html b/api/owi/Owi/Symbolic_choice_intf/module-type-Intf/Make/argument-1-Thread/Memory/index.html deleted file mode 100644 index e29dbdb59..000000000 --- a/api/owi/Owi/Symbolic_choice_intf/module-type-Intf/Make/argument-1-Thread/Memory/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Memory (owi.Owi.Symbolic_choice_intf.Intf.Make.Thread.Memory)

Module Thread.Memory

type collection
val init : unit -> collection
val clone : collection -> collection
diff --git a/api/owi/Owi/Symbolic_choice_intf/module-type-Intf/Make/argument-1-Thread/index.html b/api/owi/Owi/Symbolic_choice_intf/module-type-Intf/Make/argument-1-Thread/index.html deleted file mode 100644 index afdeeebeb..000000000 --- a/api/owi/Owi/Symbolic_choice_intf/module-type-Intf/Make/argument-1-Thread/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Thread (owi.Owi.Symbolic_choice_intf.Intf.Make.Thread)

Parameter Make.Thread

type t
val init : unit -> t
val create : - int -> - Smtml.Symbol.t list -> - Symbolic_value.vbool list -> - Memory.collection -> - Symbolic_table.collection -> - Symbolic_global.collection -> - int32 list -> - t
val pc : t -> Symbolic_value.vbool list
val memories : t -> Memory.collection
val globals : t -> Symbolic_global.collection
val breadcrumbs : t -> int32 list
val symbols_set : t -> Smtml.Symbol.t list
val symbols : t -> int
val clone : t -> t
val add_pc : t -> Symbolic_value.vbool -> t
val add_breadcrumb : t -> int32 -> t
val add_symbol : t -> Smtml.Symbol.t -> t
val incr_symbols : t -> t
diff --git a/api/owi/Owi/Symbolic_choice_intf/module-type-Intf/Make/index.html b/api/owi/Owi/Symbolic_choice_intf/module-type-Intf/Make/index.html deleted file mode 100644 index d2cb0fa9c..000000000 --- a/api/owi/Owi/Symbolic_choice_intf/module-type-Intf/Make/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Make (owi.Owi.Symbolic_choice_intf.Intf.Make)

Module Intf.Make

Parameters

module Thread : Thread.S

Signature

type 'a t = ('a eval, Thread.t) CoreImpl.State.t
val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
val let* : 'a t -> ('a -> 'b t) -> 'b t
val map : 'a t -> ('a -> 'b) -> 'b t
val let+ : 'a t -> ('a -> 'b) -> 'b t
val trap : Trap.t -> 'a t
val select : Owi.Symbolic_value.vbool -> bool t
val select_i32 : Owi.Symbolic_value.int32 -> Int32.t t
val assertion : Owi.Symbolic_value.vbool -> unit t
val with_thread : (Thread.t -> 'a) -> 'a t
val with_new_symbol : Smtml.Ty.t -> (Smtml.Symbol.t -> 'b) -> 'b t
val solver : Solver.t t
val thread : Thread.t t
val add_pc : Owi.Symbolic_value.vbool -> unit t
type 'a run_result = ('a eval * Thread.t) Prelude.Seq.t
val run : - workers:int -> - Smtml.Solver_dispatcher.solver_type -> - 'a t -> - Thread.t -> - callback:(('a eval * Thread.t) -> unit) -> - callback_init:(unit -> unit) -> - callback_end:(unit -> unit) -> - unit Prelude.Domain.t array
diff --git a/api/owi/Owi/Symbolic_choice_intf/module-type-Intf/index.html b/api/owi/Owi/Symbolic_choice_intf/module-type-Intf/index.html deleted file mode 100644 index 71560ac81..000000000 --- a/api/owi/Owi/Symbolic_choice_intf/module-type-Intf/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -Intf (owi.Owi.Symbolic_choice_intf.Intf)

Module type Symbolic_choice_intf.Intf

module type S = S
module CoreImpl : sig ... end
module Make - (Thread : Thread.S) : - S - with type 'a t = ('a eval, Thread.t) CoreImpl.State.t - and type thread := Thread.t - and module V := Symbolic_value
diff --git a/api/owi/Owi/Symbolic_choice_intf/module-type-S/V/index.html b/api/owi/Owi/Symbolic_choice_intf/module-type-S/V/index.html deleted file mode 100644 index 4cec82e55..000000000 --- a/api/owi/Owi/Symbolic_choice_intf/module-type-S/V/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -V (owi.Owi.Symbolic_choice_intf.S.V)

Module S.V

type int32
type int64
type float32
type float64
type vbool
diff --git a/api/owi/Owi/Symbolic_choice_intf/module-type-S/index.html b/api/owi/Owi/Symbolic_choice_intf/module-type-S/index.html deleted file mode 100644 index 6ab98e64e..000000000 --- a/api/owi/Owi/Symbolic_choice_intf/module-type-S/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -S (owi.Owi.Symbolic_choice_intf.S)

Module type Symbolic_choice_intf.S

type thread
type 'a t
val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
val let* : 'a t -> ('a -> 'b t) -> 'b t
val map : 'a t -> ('a -> 'b) -> 'b t
val let+ : 'a t -> ('a -> 'b) -> 'b t
val trap : Trap.t -> 'a t
val select : V.vbool -> bool t
val select_i32 : V.int32 -> Int32.t t
val assertion : V.vbool -> unit t
val with_thread : (thread -> 'a) -> 'a t
val with_new_symbol : Smtml.Ty.t -> (Smtml.Symbol.t -> 'b) -> 'b t
val solver : Solver.t t
val thread : thread t
val add_pc : V.vbool -> unit t
type 'a run_result = ('a eval * thread) Prelude.Seq.t
val run : - workers:int -> - Smtml.Solver_dispatcher.solver_type -> - 'a t -> - thread -> - callback:(('a eval * thread) -> unit) -> - callback_init:(unit -> unit) -> - callback_end:(unit -> unit) -> - unit Prelude.Domain.t array
diff --git a/api/owi/Owi/Symbolic_choice_minimalist/index.html b/api/owi/Owi/Symbolic_choice_minimalist/index.html deleted file mode 100644 index 273fbecb2..000000000 --- a/api/owi/Owi/Symbolic_choice_minimalist/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Symbolic_choice_minimalist (owi.Owi.Symbolic_choice_minimalist)

Module Owi.Symbolic_choice_minimalist

type err = private
  1. | Assert_fail
  2. | Trap of Trap.t
include Choice_intf.Complete - with type thread := Thread_with_memory.t - and type 'a run_result = ('a, err) Prelude.Result.t * Thread_with_memory.t - and module V := Symbolic_value
include Choice_intf.Base with module V := Symbolic_value
type 'a t
val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
val map : 'a t -> ('a -> 'b) -> 'b t
val select : Owi.Symbolic_value.vbool -> bool t
val select_i32 : Owi.Symbolic_value.int32 -> Int32.t t
val trap : Trap.t -> 'a t
val let* : 'a t -> ('a -> 'b t) -> 'b t
val let+ : 'a t -> ('a -> 'b) -> 'b t
type 'a run_result = ('a, err) Prelude.Result.t * Thread_with_memory.t
val assertion : Owi.Symbolic_value.vbool -> unit t
val with_thread : (Thread_with_memory.t -> 'b) -> 'b t
val solver : Solver.t t
val thread : Thread_with_memory.t t
val add_pc : Owi.Symbolic_value.vbool -> unit t
val lift_mem : 'a Symbolic_choice_without_memory.t -> 'a t
val run : - workers:int -> - Smtml.Solver_dispatcher.solver_type -> - 'a t -> - Thread_with_memory.t -> - 'a run_result
diff --git a/api/owi/Owi/Symbolic_choice_with_memory/index.html b/api/owi/Owi/Symbolic_choice_with_memory/index.html deleted file mode 100644 index e5d7d016d..000000000 --- a/api/owi/Owi/Symbolic_choice_with_memory/index.html +++ /dev/null @@ -1,18 +0,0 @@ - -Symbolic_choice_with_memory (owi.Owi.Symbolic_choice_with_memory)

Module Owi.Symbolic_choice_with_memory

include Symbolic_choice_intf.S - with type 'a t = - ('a Symbolic_choice_intf.eval, Thread_with_memory.t) - Symbolic_choice.CoreImpl.State.t - and type thread := Thread_with_memory.t - and module V := Symbolic_value
val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
val let* : 'a t -> ('a -> 'b t) -> 'b t
val map : 'a t -> ('a -> 'b) -> 'b t
val let+ : 'a t -> ('a -> 'b) -> 'b t
val trap : Trap.t -> 'a t
val select : Owi.Symbolic_value.vbool -> bool t
val select_i32 : Owi.Symbolic_value.int32 -> Int32.t t
val assertion : Owi.Symbolic_value.vbool -> unit t
val with_thread : (Thread_with_memory.t -> 'a) -> 'a t
val with_new_symbol : Smtml.Ty.t -> (Smtml.Symbol.t -> 'b) -> 'b t
val solver : Solver.t t
val thread : Thread_with_memory.t t
val add_pc : Owi.Symbolic_value.vbool -> unit t
type 'a run_result = - ('a Symbolic_choice_intf.eval * Thread_with_memory.t) Prelude.Seq.t
val run : - workers:int -> - Smtml.Solver_dispatcher.solver_type -> - 'a t -> - Thread_with_memory.t -> - callback:(('a Symbolic_choice_intf.eval * Thread_with_memory.t) -> unit) -> - callback_init:(unit -> unit) -> - callback_end:(unit -> unit) -> - unit Prelude.Domain.t array
val lift_mem : 'a Symbolic_choice_without_memory.t -> 'a t
diff --git a/api/owi/Owi/Symbolic_choice_without_memory/index.html b/api/owi/Owi/Symbolic_choice_without_memory/index.html deleted file mode 100644 index f3934c280..000000000 --- a/api/owi/Owi/Symbolic_choice_without_memory/index.html +++ /dev/null @@ -1,18 +0,0 @@ - -Symbolic_choice_without_memory (owi.Owi.Symbolic_choice_without_memory)

Module Owi.Symbolic_choice_without_memory

include Symbolic_choice_intf.S - with type 'a t = - ('a Symbolic_choice_intf.eval, Thread_without_memory.t) - Symbolic_choice.CoreImpl.State.t - and type thread := Thread_without_memory.t - and module V := Symbolic_value
val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
val let* : 'a t -> ('a -> 'b t) -> 'b t
val map : 'a t -> ('a -> 'b) -> 'b t
val let+ : 'a t -> ('a -> 'b) -> 'b t
val trap : Trap.t -> 'a t
val select : Owi.Symbolic_value.vbool -> bool t
val select_i32 : Owi.Symbolic_value.int32 -> Int32.t t
val assertion : Owi.Symbolic_value.vbool -> unit t
val with_thread : (Thread_without_memory.t -> 'a) -> 'a t
val with_new_symbol : Smtml.Ty.t -> (Smtml.Symbol.t -> 'b) -> 'b t
val solver : Solver.t t
val add_pc : Owi.Symbolic_value.vbool -> unit t
type 'a run_result = - ('a Symbolic_choice_intf.eval * Thread_without_memory.t) Prelude.Seq.t
val run : - workers:int -> - Smtml.Solver_dispatcher.solver_type -> - 'a t -> - Thread_without_memory.t -> - callback:(('a Symbolic_choice_intf.eval * Thread_without_memory.t) -> unit) -> - callback_init:(unit -> unit) -> - callback_end:(unit -> unit) -> - unit Prelude.Domain.t array
diff --git a/api/owi/Owi/Symbolic_global/index.html b/api/owi/Owi/Symbolic_global/index.html deleted file mode 100644 index 80ded8f26..000000000 --- a/api/owi/Owi/Symbolic_global/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Symbolic_global (owi.Owi.Symbolic_global)

Module Owi.Symbolic_global

type t
type collection
val init : unit -> collection
val clone : collection -> collection
val get_global : Env_id.t -> Concrete_global.t -> collection -> int -> t
val mut : t -> Types.mut
val value : t -> Symbolic_value.t
val set_value : t -> Symbolic_value.t -> unit
diff --git a/api/owi/Owi/Symbolic_memory/ITbl/index.html b/api/owi/Owi/Symbolic_memory/ITbl/index.html deleted file mode 100644 index c6f6f2508..000000000 --- a/api/owi/Owi/Symbolic_memory/ITbl/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -ITbl (owi.Owi.Symbolic_memory.ITbl)

Module Symbolic_memory.ITbl

type 'a t
type key
val iter : (key -> 'a -> unit) -> 'a t -> unit
diff --git a/api/owi/Owi/Symbolic_memory/index.html b/api/owi/Owi/Symbolic_memory/index.html deleted file mode 100644 index 4c7827630..000000000 --- a/api/owi/Owi/Symbolic_memory/index.html +++ /dev/null @@ -1,16 +0,0 @@ - -Symbolic_memory (owi.Owi.Symbolic_memory)

Module Owi.Symbolic_memory

type t
type collection
val init : unit -> collection
val clone : collection -> collection
val get_memory : Env_id.t -> Concrete_memory.t -> collection -> int -> t
val check_within_bounds : - t -> - Smtml.Expr.t -> - (Smtml.Expr.t * Symbolic_value.int32, Trap.t) Prelude.result
val realloc : t -> Int32.t -> Smtml.Expr.t -> unit
val free : t -> Int32.t -> unit
val load_8_s : t -> Smtml.Expr.t -> Symbolic_value.int32
val load_8_u : t -> Smtml.Expr.t -> Symbolic_value.int32
val load_16_s : t -> Smtml.Expr.t -> Symbolic_value.int32
val load_16_u : t -> Smtml.Expr.t -> Symbolic_value.int32
val load_32 : t -> Smtml.Expr.t -> Symbolic_value.int32
val load_64 : t -> Smtml.Expr.t -> Symbolic_value.int32
val store_8 : t -> addr:Smtml.Expr.t -> Smtml.Expr.t -> unit
val store_16 : t -> addr:Smtml.Expr.t -> Smtml.Expr.t -> unit
val store_32 : t -> addr:Smtml.Expr.t -> Smtml.Expr.t -> unit
val store_64 : t -> addr:Smtml.Expr.t -> Smtml.Expr.t -> unit
val grow : t -> Smtml.Expr.t -> unit
val fill : t -> pos:Smtml.Expr.t -> len:Smtml.Expr.t -> char -> Smtml.Expr.t
val blit : - t -> - src:Smtml.Expr.t -> - dst:Smtml.Expr.t -> - len:Smtml.Expr.t -> - Smtml.Expr.t
val blit_string : - t -> - string -> - src:Smtml.Expr.t -> - dst:Smtml.Expr.t -> - len:Smtml.Expr.t -> - Smtml.Expr.t
val size : t -> Smtml.Expr.t
val size_in_pages : t -> Smtml.Expr.t
val get_limit_max : t -> Smtml.Expr.t option
module ITbl : sig ... end
val iter : (t ITbl.t -> unit) -> collection -> unit
diff --git a/api/owi/Owi/Symbolic_memory_concretizing/ITbl/index.html b/api/owi/Owi/Symbolic_memory_concretizing/ITbl/index.html deleted file mode 100644 index 25fadff23..000000000 --- a/api/owi/Owi/Symbolic_memory_concretizing/ITbl/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -ITbl (owi.Owi.Symbolic_memory_concretizing.ITbl)

Module Symbolic_memory_concretizing.ITbl

type 'a t
type key
val iter : (key -> 'a -> unit) -> 'a t -> unit
diff --git a/api/owi/Owi/Symbolic_memory_concretizing/index.html b/api/owi/Owi/Symbolic_memory_concretizing/index.html deleted file mode 100644 index f7799dbc8..000000000 --- a/api/owi/Owi/Symbolic_memory_concretizing/index.html +++ /dev/null @@ -1,51 +0,0 @@ - -Symbolic_memory_concretizing (owi.Owi.Symbolic_memory_concretizing)

Module Owi.Symbolic_memory_concretizing

type t
type collection
val init : unit -> collection
val clone : collection -> collection
val get_memory : Env_id.t -> Concrete_memory.t -> collection -> int -> t
val realloc : - t -> - ptr:Smtml.Expr.t -> - size:Smtml.Expr.t -> - Smtml.Expr.t Symbolic_choice_without_memory.t
val free : t -> Smtml.Expr.t -> unit Symbolic_choice_without_memory.t
val load_8_s : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_8_u : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_16_s : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_16_u : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_32 : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_64 : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val store_8 : - t -> - addr:Smtml.Expr.t -> - Smtml.Expr.t -> - unit Symbolic_choice_without_memory.t
val store_16 : - t -> - addr:Smtml.Expr.t -> - Smtml.Expr.t -> - unit Symbolic_choice_without_memory.t
val store_32 : - t -> - addr:Smtml.Expr.t -> - Smtml.Expr.t -> - unit Symbolic_choice_without_memory.t
val store_64 : - t -> - addr:Smtml.Expr.t -> - Smtml.Expr.t -> - unit Symbolic_choice_without_memory.t
val grow : t -> Smtml.Expr.t -> unit
val fill : t -> pos:Smtml.Expr.t -> len:Smtml.Expr.t -> char -> Smtml.Expr.t
val blit : - t -> - src:Smtml.Expr.t -> - dst:Smtml.Expr.t -> - len:Smtml.Expr.t -> - Smtml.Expr.t
val blit_string : - t -> - string -> - src:Smtml.Expr.t -> - dst:Smtml.Expr.t -> - len:Smtml.Expr.t -> - Smtml.Expr.t
val size : t -> Smtml.Expr.t
val size_in_pages : t -> Smtml.Expr.t
val get_limit_max : t -> Smtml.Expr.t option
module ITbl : sig ... end
val iter : (t ITbl.t -> unit) -> collection -> unit
diff --git a/api/owi/Owi/Symbolic_memory_intf/index.html b/api/owi/Owi/Symbolic_memory_intf/index.html deleted file mode 100644 index 59eb732fd..000000000 --- a/api/owi/Owi/Symbolic_memory_intf/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Symbolic_memory_intf (owi.Owi.Symbolic_memory_intf)

Module Owi.Symbolic_memory_intf

module type M = sig ... end
module type S = sig ... end
module type Intf = sig ... end
diff --git a/api/owi/Owi/Symbolic_memory_intf/module-type-Intf/Make/ITbl/index.html b/api/owi/Owi/Symbolic_memory_intf/module-type-Intf/Make/ITbl/index.html deleted file mode 100644 index 8f438230a..000000000 --- a/api/owi/Owi/Symbolic_memory_intf/module-type-Intf/Make/ITbl/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -ITbl (owi.Owi.Symbolic_memory_intf.Intf.Make.ITbl)

Module Make.ITbl

type 'a t
type key
val iter : (key -> 'a -> unit) -> 'a t -> unit
diff --git a/api/owi/Owi/Symbolic_memory_intf/module-type-Intf/Make/argument-1-_/index.html b/api/owi/Owi/Symbolic_memory_intf/module-type-Intf/Make/argument-1-_/index.html deleted file mode 100644 index 72c271949..000000000 --- a/api/owi/Owi/Symbolic_memory_intf/module-type-Intf/Make/argument-1-_/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -_ (owi.Owi.Symbolic_memory_intf.Intf.Make._)

Parameter Make._

type t
type address
val address : Smtml.Expr.t -> address Symbolic_choice_without_memory.t
val address_i32 : Int32.t -> address
val make : unit -> t
val clone : t -> t
val loadn : t -> address -> int -> Smtml.Expr.t
val storen : t -> address -> Smtml.Expr.t -> int -> unit
val validate_address : - t -> - Smtml.Expr.t -> - int -> - (Smtml.Expr.t, Trap.t) Prelude.result Symbolic_choice_without_memory.t

validate_address m a range verifies whether an operation starting at address a is valid within the address range a to a + range - 1 (inclusive).

val realloc : - t -> - ptr:Smtml.Expr.t -> - size:Smtml.Expr.t -> - Smtml.Expr.t Symbolic_choice_without_memory.t
val free : t -> Smtml.Expr.t -> unit Symbolic_choice_without_memory.t
diff --git a/api/owi/Owi/Symbolic_memory_intf/module-type-Intf/Make/index.html b/api/owi/Owi/Symbolic_memory_intf/module-type-Intf/Make/index.html deleted file mode 100644 index 6e6147b49..000000000 --- a/api/owi/Owi/Symbolic_memory_intf/module-type-Intf/Make/index.html +++ /dev/null @@ -1,51 +0,0 @@ - -Make (owi.Owi.Symbolic_memory_intf.Intf.Make)

Module Intf.Make

Parameters

module _ : M

Signature

type t
type collection
val init : unit -> collection
val clone : collection -> collection
val get_memory : Env_id.t -> Concrete_memory.t -> collection -> int -> t
val realloc : - t -> - ptr:Smtml.Expr.t -> - size:Smtml.Expr.t -> - Smtml.Expr.t Symbolic_choice_without_memory.t
val free : t -> Smtml.Expr.t -> unit Symbolic_choice_without_memory.t
val load_8_s : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_8_u : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_16_s : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_16_u : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_32 : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_64 : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val store_8 : - t -> - addr:Smtml.Expr.t -> - Smtml.Expr.t -> - unit Symbolic_choice_without_memory.t
val store_16 : - t -> - addr:Smtml.Expr.t -> - Smtml.Expr.t -> - unit Symbolic_choice_without_memory.t
val store_32 : - t -> - addr:Smtml.Expr.t -> - Smtml.Expr.t -> - unit Symbolic_choice_without_memory.t
val store_64 : - t -> - addr:Smtml.Expr.t -> - Smtml.Expr.t -> - unit Symbolic_choice_without_memory.t
val grow : t -> Smtml.Expr.t -> unit
val fill : t -> pos:Smtml.Expr.t -> len:Smtml.Expr.t -> char -> Smtml.Expr.t
val blit : - t -> - src:Smtml.Expr.t -> - dst:Smtml.Expr.t -> - len:Smtml.Expr.t -> - Smtml.Expr.t
val blit_string : - t -> - string -> - src:Smtml.Expr.t -> - dst:Smtml.Expr.t -> - len:Smtml.Expr.t -> - Smtml.Expr.t
val size : t -> Smtml.Expr.t
val size_in_pages : t -> Smtml.Expr.t
val get_limit_max : t -> Smtml.Expr.t option
module ITbl : sig ... end
val iter : (t ITbl.t -> unit) -> collection -> unit
diff --git a/api/owi/Owi/Symbolic_memory_intf/module-type-Intf/index.html b/api/owi/Owi/Symbolic_memory_intf/module-type-Intf/index.html deleted file mode 100644 index 97d75c8bb..000000000 --- a/api/owi/Owi/Symbolic_memory_intf/module-type-Intf/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Intf (owi.Owi.Symbolic_memory_intf.Intf)

Module type Symbolic_memory_intf.Intf

module type M = M
module type S = S
module Make (_ : M) : S
diff --git a/api/owi/Owi/Symbolic_memory_intf/module-type-M/index.html b/api/owi/Owi/Symbolic_memory_intf/module-type-M/index.html deleted file mode 100644 index 9a2a0bf2f..000000000 --- a/api/owi/Owi/Symbolic_memory_intf/module-type-M/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -M (owi.Owi.Symbolic_memory_intf.M)

Module type Symbolic_memory_intf.M

type t
type address
val address : Smtml.Expr.t -> address Symbolic_choice_without_memory.t
val address_i32 : Int32.t -> address
val make : unit -> t
val clone : t -> t
val loadn : t -> address -> int -> Smtml.Expr.t
val storen : t -> address -> Smtml.Expr.t -> int -> unit
val validate_address : - t -> - Smtml.Expr.t -> - int -> - (Smtml.Expr.t, Trap.t) Prelude.result Symbolic_choice_without_memory.t

validate_address m a range verifies whether an operation starting at address a is valid within the address range a to a + range - 1 (inclusive).

val realloc : - t -> - ptr:Smtml.Expr.t -> - size:Smtml.Expr.t -> - Smtml.Expr.t Symbolic_choice_without_memory.t
val free : t -> Smtml.Expr.t -> unit Symbolic_choice_without_memory.t
diff --git a/api/owi/Owi/Symbolic_memory_intf/module-type-S/ITbl/index.html b/api/owi/Owi/Symbolic_memory_intf/module-type-S/ITbl/index.html deleted file mode 100644 index 7195219dd..000000000 --- a/api/owi/Owi/Symbolic_memory_intf/module-type-S/ITbl/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -ITbl (owi.Owi.Symbolic_memory_intf.S.ITbl)

Module S.ITbl

type 'a t
type key
val iter : (key -> 'a -> unit) -> 'a t -> unit
diff --git a/api/owi/Owi/Symbolic_memory_intf/module-type-S/index.html b/api/owi/Owi/Symbolic_memory_intf/module-type-S/index.html deleted file mode 100644 index aa1bd082e..000000000 --- a/api/owi/Owi/Symbolic_memory_intf/module-type-S/index.html +++ /dev/null @@ -1,51 +0,0 @@ - -S (owi.Owi.Symbolic_memory_intf.S)

Module type Symbolic_memory_intf.S

type t
type collection
val init : unit -> collection
val clone : collection -> collection
val get_memory : Env_id.t -> Concrete_memory.t -> collection -> int -> t
val realloc : - t -> - ptr:Smtml.Expr.t -> - size:Smtml.Expr.t -> - Smtml.Expr.t Symbolic_choice_without_memory.t
val free : t -> Smtml.Expr.t -> unit Symbolic_choice_without_memory.t
val load_8_s : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_8_u : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_16_s : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_16_u : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_32 : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_64 : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val store_8 : - t -> - addr:Smtml.Expr.t -> - Smtml.Expr.t -> - unit Symbolic_choice_without_memory.t
val store_16 : - t -> - addr:Smtml.Expr.t -> - Smtml.Expr.t -> - unit Symbolic_choice_without_memory.t
val store_32 : - t -> - addr:Smtml.Expr.t -> - Smtml.Expr.t -> - unit Symbolic_choice_without_memory.t
val store_64 : - t -> - addr:Smtml.Expr.t -> - Smtml.Expr.t -> - unit Symbolic_choice_without_memory.t
val grow : t -> Smtml.Expr.t -> unit
val fill : t -> pos:Smtml.Expr.t -> len:Smtml.Expr.t -> char -> Smtml.Expr.t
val blit : - t -> - src:Smtml.Expr.t -> - dst:Smtml.Expr.t -> - len:Smtml.Expr.t -> - Smtml.Expr.t
val blit_string : - t -> - string -> - src:Smtml.Expr.t -> - dst:Smtml.Expr.t -> - len:Smtml.Expr.t -> - Smtml.Expr.t
val size : t -> Smtml.Expr.t
val size_in_pages : t -> Smtml.Expr.t
val get_limit_max : t -> Smtml.Expr.t option
module ITbl : sig ... end
val iter : (t ITbl.t -> unit) -> collection -> unit
diff --git a/api/owi/Owi/Symbolic_memory_make/Make/ITbl/index.html b/api/owi/Owi/Symbolic_memory_make/Make/ITbl/index.html deleted file mode 100644 index 78884760e..000000000 --- a/api/owi/Owi/Symbolic_memory_make/Make/ITbl/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -ITbl (owi.Owi.Symbolic_memory_make.Make.ITbl)

Module Make.ITbl

type 'a t
type key
val iter : (key -> 'a -> unit) -> 'a t -> unit
diff --git a/api/owi/Owi/Symbolic_memory_make/Make/argument-1-_/index.html b/api/owi/Owi/Symbolic_memory_make/Make/argument-1-_/index.html deleted file mode 100644 index b664484c1..000000000 --- a/api/owi/Owi/Symbolic_memory_make/Make/argument-1-_/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -_ (owi.Owi.Symbolic_memory_make.Make._)

Parameter Make._

type t
type address
val address : Smtml.Expr.t -> address Symbolic_choice_without_memory.t
val address_i32 : Int32.t -> address
val make : unit -> t
val clone : t -> t
val loadn : t -> address -> int -> Smtml.Expr.t
val storen : t -> address -> Smtml.Expr.t -> int -> unit
val validate_address : - t -> - Smtml.Expr.t -> - int -> - (Smtml.Expr.t, Trap.t) Prelude.result Symbolic_choice_without_memory.t

validate_address m a range verifies whether an operation starting at address a is valid within the address range a to a + range - 1 (inclusive).

val realloc : - t -> - ptr:Smtml.Expr.t -> - size:Smtml.Expr.t -> - Smtml.Expr.t Symbolic_choice_without_memory.t
val free : t -> Smtml.Expr.t -> unit Symbolic_choice_without_memory.t
diff --git a/api/owi/Owi/Symbolic_memory_make/Make/index.html b/api/owi/Owi/Symbolic_memory_make/Make/index.html deleted file mode 100644 index ade09b41b..000000000 --- a/api/owi/Owi/Symbolic_memory_make/Make/index.html +++ /dev/null @@ -1,51 +0,0 @@ - -Make (owi.Owi.Symbolic_memory_make.Make)

Module Symbolic_memory_make.Make

Parameters

module _ : M

Signature

type t
type collection
val init : unit -> collection
val clone : collection -> collection
val get_memory : Env_id.t -> Concrete_memory.t -> collection -> int -> t
val realloc : - t -> - ptr:Smtml.Expr.t -> - size:Smtml.Expr.t -> - Smtml.Expr.t Symbolic_choice_without_memory.t
val free : t -> Smtml.Expr.t -> unit Symbolic_choice_without_memory.t
val load_8_s : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_8_u : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_16_s : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_16_u : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_32 : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val load_64 : - t -> - Smtml.Expr.t -> - Symbolic_value.int32 Symbolic_choice_without_memory.t
val store_8 : - t -> - addr:Smtml.Expr.t -> - Smtml.Expr.t -> - unit Symbolic_choice_without_memory.t
val store_16 : - t -> - addr:Smtml.Expr.t -> - Smtml.Expr.t -> - unit Symbolic_choice_without_memory.t
val store_32 : - t -> - addr:Smtml.Expr.t -> - Smtml.Expr.t -> - unit Symbolic_choice_without_memory.t
val store_64 : - t -> - addr:Smtml.Expr.t -> - Smtml.Expr.t -> - unit Symbolic_choice_without_memory.t
val grow : t -> Smtml.Expr.t -> unit
val fill : t -> pos:Smtml.Expr.t -> len:Smtml.Expr.t -> char -> Smtml.Expr.t
val blit : - t -> - src:Smtml.Expr.t -> - dst:Smtml.Expr.t -> - len:Smtml.Expr.t -> - Smtml.Expr.t
val blit_string : - t -> - string -> - src:Smtml.Expr.t -> - dst:Smtml.Expr.t -> - len:Smtml.Expr.t -> - Smtml.Expr.t
val size : t -> Smtml.Expr.t
val size_in_pages : t -> Smtml.Expr.t
val get_limit_max : t -> Smtml.Expr.t option
module ITbl : sig ... end
val iter : (t ITbl.t -> unit) -> collection -> unit
diff --git a/api/owi/Owi/Symbolic_memory_make/index.html b/api/owi/Owi/Symbolic_memory_make/index.html deleted file mode 100644 index 04e946a7a..000000000 --- a/api/owi/Owi/Symbolic_memory_make/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Symbolic_memory_make (owi.Owi.Symbolic_memory_make)

Module Owi.Symbolic_memory_make

module type M = Symbolic_memory_intf.M
module type S = Symbolic_memory_intf.S
module Make (_ : M) : S
diff --git a/api/owi/Owi/Symbolic_table/ITbl/index.html b/api/owi/Owi/Symbolic_table/ITbl/index.html deleted file mode 100644 index 1070b331b..000000000 --- a/api/owi/Owi/Symbolic_table/ITbl/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -ITbl (owi.Owi.Symbolic_table.ITbl)

Module Symbolic_table.ITbl

type key = int
type !'a t
val create : int -> 'a t
val clear : 'a t -> unit
val reset : 'a t -> unit
val copy : 'a t -> 'a t
val add : 'a t -> key -> 'a -> unit
val remove : 'a t -> key -> unit
val find : 'a t -> key -> 'a
val find_opt : 'a t -> key -> 'a option
val find_all : 'a t -> key -> 'a list
val replace : 'a t -> key -> 'a -> unit
val mem : 'a t -> key -> bool
val iter : (key -> 'a -> unit) -> 'a t -> unit
val filter_map_inplace : (key -> 'a -> 'a option) -> 'a t -> unit
val fold : (key -> 'a -> 'acc -> 'acc) -> 'a t -> 'acc -> 'acc
val length : 'a t -> int
val stats : 'a t -> Stdlib__Hashtbl.statistics
val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
val to_seq_keys : 'a t -> key Stdlib.Seq.t
val to_seq_values : 'a t -> 'a Stdlib.Seq.t
val add_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
val replace_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit
val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
diff --git a/api/owi/Owi/Symbolic_table/index.html b/api/owi/Owi/Symbolic_table/index.html deleted file mode 100644 index 7bf0a0662..000000000 --- a/api/owi/Owi/Symbolic_table/index.html +++ /dev/null @@ -1,13 +0,0 @@ - -Symbolic_table (owi.Owi.Symbolic_table)

Module Owi.Symbolic_table

module ITbl : sig ... end
type t = {
  1. mutable data : Symbolic_value.ref_value array;
  2. limits : Types.limits;
  3. typ : Types.binary Types.ref_type;
}
val clone_t : t -> t
type collection = t ITbl.t Owi.Env_id.Tbl.t
val init : unit -> 'a Owi.Env_id.Tbl.t
val clone : collection -> t ITbl.t Owi.Env_id.Tbl.t
val convert : Concrete_table.t -> t
val get_env : Owi.Env_id.Tbl.key -> 'a ITbl.t Owi.Env_id.Tbl.t -> 'a ITbl.t
val get_table : - Owi.Env_id.Tbl.key -> - Concrete_table.t -> - collection -> - ITbl.key -> - t
val get : t -> int -> Symbolic_value.ref_value
val set : t -> int -> Symbolic_value.ref_value -> unit
val size : t -> int
val max_size : t -> int option
val grow : t -> Int32.t -> Symbolic_value.ref_value -> unit
val fill : t -> Int32.t -> Int32.t -> Symbolic_value.ref_value -> unit
val copy : - t_src:t -> - t_dst:t -> - src:Int32.t -> - dst:Int32.t -> - len:Int32.t -> - unit
diff --git a/api/owi/Owi/Symbolic_value/Bool/index.html b/api/owi/Owi/Symbolic_value/Bool/index.html deleted file mode 100644 index 1070bc0ee..000000000 --- a/api/owi/Owi/Symbolic_value/Bool/index.html +++ /dev/null @@ -1,6 +0,0 @@ - -Bool (owi.Owi.Symbolic_value.Bool)

Module Symbolic_value.Bool

val const : bool -> vbool
val not : vbool -> vbool
val or_ : vbool -> vbool -> vbool
val and_ : vbool -> vbool -> vbool
val int32 : vbool -> int32
val pp : Prelude.Fmt.formatter -> vbool -> unit
val select_expr : - Smtml.Expr.t -> - if_true:Smtml.Expr.t -> - if_false:Smtml.Expr.t -> - Smtml.Expr.t
diff --git a/api/owi/Owi/Symbolic_value/F32/index.html b/api/owi/Owi/Symbolic_value/F32/index.html deleted file mode 100644 index 06b4fd7d8..000000000 --- a/api/owi/Owi/Symbolic_value/F32/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -F32 (owi.Owi.Symbolic_value.F32)

Module Symbolic_value.F32

include Value_intf.Fop - with type num := float32 - and type vbool := vbool - and type int32 := int32 - and type int64 := int64 - and type same_size_int := int32
val zero : float32
val abs : float32 -> float32
val neg : float32 -> float32
val sqrt : float32 -> float32
val ceil : float32 -> float32
val floor : float32 -> float32
val trunc : float32 -> float32
val nearest : float32 -> float32
val add : float32 -> float32 -> float32
val sub : float32 -> float32 -> float32
val mul : float32 -> float32 -> float32
val div : float32 -> float32 -> float32
val min : float32 -> float32 -> float32
val max : float32 -> float32 -> float32
val copy_sign : float32 -> float32 -> float32
val eq : float32 -> float32 -> vbool
val ne : float32 -> float32 -> vbool
val lt : float32 -> float32 -> vbool
val gt : float32 -> float32 -> vbool
val le : float32 -> float32 -> vbool
val ge : float32 -> float32 -> vbool
val convert_i32_s : int32 -> float32
val convert_i32_u : int32 -> float32
val convert_i64_s : int64 -> float32
val convert_i64_u : int64 -> float32
val of_bits : int32 -> float32
val to_bits : float32 -> int32
val demote_f64 : float64 -> float32
val reinterpret_i32 : int32 -> float32
diff --git a/api/owi/Owi/Symbolic_value/F64/index.html b/api/owi/Owi/Symbolic_value/F64/index.html deleted file mode 100644 index 670f8f079..000000000 --- a/api/owi/Owi/Symbolic_value/F64/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -F64 (owi.Owi.Symbolic_value.F64)

Module Symbolic_value.F64

include Value_intf.Fop - with type num := float64 - and type vbool := vbool - and type int32 := int32 - and type int64 := int64 - and type same_size_int := int64
val zero : float64
val abs : float64 -> float64
val neg : float64 -> float64
val sqrt : float64 -> float64
val ceil : float64 -> float64
val floor : float64 -> float64
val trunc : float64 -> float64
val nearest : float64 -> float64
val add : float64 -> float64 -> float64
val sub : float64 -> float64 -> float64
val mul : float64 -> float64 -> float64
val div : float64 -> float64 -> float64
val min : float64 -> float64 -> float64
val max : float64 -> float64 -> float64
val copy_sign : float64 -> float64 -> float64
val eq : float64 -> float64 -> vbool
val ne : float64 -> float64 -> vbool
val lt : float64 -> float64 -> vbool
val gt : float64 -> float64 -> vbool
val le : float64 -> float64 -> vbool
val ge : float64 -> float64 -> vbool
val convert_i32_s : int32 -> float64
val convert_i32_u : int32 -> float64
val convert_i64_s : int64 -> float64
val convert_i64_u : int64 -> float64
val of_bits : int64 -> float64
val to_bits : float64 -> int64
val promote_f32 : float32 -> float64
val reinterpret_i64 : int64 -> float64
diff --git a/api/owi/Owi/Symbolic_value/I32/index.html b/api/owi/Owi/Symbolic_value/I32/index.html deleted file mode 100644 index 02e0cac7c..000000000 --- a/api/owi/Owi/Symbolic_value/I32/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -I32 (owi.Owi.Symbolic_value.I32)

Module Symbolic_value.I32

include Value_intf.Iop - with type num := int32 - and type vbool := vbool - and type const := Int32.t - and type float32 := float32 - and type float64 := float64
val zero : int32
val clz : int32 -> int32
val ctz : int32 -> int32
val popcnt : int32 -> int32
val add : int32 -> int32 -> int32
val sub : int32 -> int32 -> int32
val mul : int32 -> int32 -> int32
val div : int32 -> int32 -> int32
val unsigned_div : int32 -> int32 -> int32
val rem : int32 -> int32 -> int32
val unsigned_rem : int32 -> int32 -> int32
val logand : int32 -> int32 -> int32
val logor : int32 -> int32 -> int32
val logxor : int32 -> int32 -> int32
val shl : int32 -> int32 -> int32
val shr_s : int32 -> int32 -> int32
val shr_u : int32 -> int32 -> int32
val rotl : int32 -> int32 -> int32
val rotr : int32 -> int32 -> int32
val eq_const : int32 -> Int32.t -> vbool
val eq : int32 -> int32 -> vbool
val ne : int32 -> int32 -> vbool
val lt : int32 -> int32 -> vbool
val gt : int32 -> int32 -> vbool
val lt_u : int32 -> int32 -> vbool
val gt_u : int32 -> int32 -> vbool
val le : int32 -> int32 -> vbool
val ge : int32 -> int32 -> vbool
val le_u : int32 -> int32 -> vbool
val ge_u : int32 -> int32 -> vbool
val trunc_f32_s : float32 -> int32
val trunc_f32_u : float32 -> int32
val trunc_f64_s : float64 -> int32
val trunc_f64_u : float64 -> int32
val trunc_sat_f32_s : float32 -> int32
val trunc_sat_f32_u : float32 -> int32
val trunc_sat_f64_s : float64 -> int32
val trunc_sat_f64_u : float64 -> int32
val extend_s : int -> int32 -> int32
val to_bool : int32 -> vbool
val reinterpret_f32 : float32 -> int32
val wrap_i64 : int64 -> int32
diff --git a/api/owi/Owi/Symbolic_value/I64/index.html b/api/owi/Owi/Symbolic_value/I64/index.html deleted file mode 100644 index c6ebe6ae8..000000000 --- a/api/owi/Owi/Symbolic_value/I64/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -I64 (owi.Owi.Symbolic_value.I64)

Module Symbolic_value.I64

include Value_intf.Iop - with type num := int64 - and type vbool := vbool - and type const := Int64.t - and type float32 := float32 - and type float64 := float64
val zero : int64
val clz : int64 -> int64
val ctz : int64 -> int64
val popcnt : int64 -> int64
val add : int64 -> int64 -> int64
val sub : int64 -> int64 -> int64
val mul : int64 -> int64 -> int64
val div : int64 -> int64 -> int64
val unsigned_div : int64 -> int64 -> int64
val rem : int64 -> int64 -> int64
val unsigned_rem : int64 -> int64 -> int64
val logand : int64 -> int64 -> int64
val logor : int64 -> int64 -> int64
val logxor : int64 -> int64 -> int64
val shl : int64 -> int64 -> int64
val shr_s : int64 -> int64 -> int64
val shr_u : int64 -> int64 -> int64
val rotl : int64 -> int64 -> int64
val rotr : int64 -> int64 -> int64
val eq_const : int64 -> Int64.t -> vbool
val eq : int64 -> int64 -> vbool
val ne : int64 -> int64 -> vbool
val lt : int64 -> int64 -> vbool
val gt : int64 -> int64 -> vbool
val lt_u : int64 -> int64 -> vbool
val gt_u : int64 -> int64 -> vbool
val le : int64 -> int64 -> vbool
val ge : int64 -> int64 -> vbool
val le_u : int64 -> int64 -> vbool
val ge_u : int64 -> int64 -> vbool
val trunc_f32_s : float32 -> int64
val trunc_f32_u : float32 -> int64
val trunc_f64_s : float64 -> int64
val trunc_f64_u : float64 -> int64
val trunc_sat_f32_s : float32 -> int64
val trunc_sat_f32_u : float32 -> int64
val trunc_sat_f64_s : float64 -> int64
val trunc_sat_f64_u : float64 -> int64
val extend_s : int -> int64 -> int64
val of_int32 : int32 -> int64
val to_int32 : int64 -> int32
val reinterpret_f64 : float64 -> int64
val extend_i32_s : int32 -> int64
val extend_i32_u : int32 -> int64
diff --git a/api/owi/Owi/Symbolic_value/Ref/index.html b/api/owi/Owi/Symbolic_value/Ref/index.html deleted file mode 100644 index a07fa9d0f..000000000 --- a/api/owi/Owi/Symbolic_value/Ref/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Ref (owi.Owi.Symbolic_value.Ref)

Module Symbolic_value.Ref

val get_externref : ref_value -> 'a Prelude.Type.Id.t -> 'a Value_intf.get_ref
diff --git a/api/owi/Owi/Symbolic_value/index.html b/api/owi/Owi/Symbolic_value/index.html deleted file mode 100644 index ba62a0e8d..000000000 --- a/api/owi/Owi/Symbolic_value/index.html +++ /dev/null @@ -1,8 +0,0 @@ - -Symbolic_value (owi.Owi.Symbolic_value)

Module Owi.Symbolic_value

type externref
type ref_value =
  1. | Funcref of Func_intf.t option
  2. | Externref of externref option
include Value_intf.T - with type ref_value := ref_value - with type vbool = Smtml.Expr.t - and type int32 = Smtml.Expr.t - and type int64 = Smtml.Expr.t - and type float32 = Smtml.Expr.t - and type float64 = Smtml.Expr.t
type vbool = Smtml.Expr.t
type int32 = Smtml.Expr.t
val pp_int32 : Prelude.Fmt.formatter -> int32 -> unit
type int64 = Smtml.Expr.t
val pp_int64 : Prelude.Fmt.formatter -> int64 -> unit
type float32 = Smtml.Expr.t
val pp_float32 : Prelude.Fmt.formatter -> float32 -> unit
type float64 = Smtml.Expr.t
val pp_float64 : Prelude.Fmt.formatter -> float64 -> unit
val pp_ref_value : Prelude.Fmt.formatter -> ref_value -> unit
type t =
  1. | I32 of int32
  2. | I64 of int64
  3. | F32 of float32
  4. | F64 of float64
  5. | Ref of ref_value
val pp : Prelude.Fmt.formatter -> t -> unit
val const_i32 : Int32.t -> int32
val const_i64 : Int64.t -> int64
val const_f32 : Float32.t -> float32
val const_f64 : Float64.t -> float64
val ref_null : Types.binary Types.heap_type -> t
val ref_func : Func_intf.t -> t
val ref_externref : 'a Prelude.Type.Id.t -> 'a -> t
val ref_is_null : ref_value -> vbool
module Ref : sig ... end
module F32 : sig ... end
module F64 : sig ... end
module I32 : sig ... end
module I64 : sig ... end
module Bool : sig ... end
diff --git a/api/owi/Owi/Symbolic_wasm_ffi/index.html b/api/owi/Owi/Symbolic_wasm_ffi/index.html deleted file mode 100644 index 0cddb19e4..000000000 --- a/api/owi/Owi/Symbolic_wasm_ffi/index.html +++ /dev/null @@ -1,3 +0,0 @@ - -Symbolic_wasm_ffi (owi.Owi.Symbolic_wasm_ffi)

Module Owi.Symbolic_wasm_ffi

include Wasm_ffi_intf.S - with type extern_func = Symbolic.P.Extern_func.extern_func
val symbolic_extern_module : extern_func Link.extern_module
val summaries_extern_module : extern_func Link.extern_module
diff --git a/api/owi/Owi/Synchronizer/index.html b/api/owi/Owi/Synchronizer/index.html deleted file mode 100644 index 488e4abe0..000000000 --- a/api/owi/Owi/Synchronizer/index.html +++ /dev/null @@ -1,5 +0,0 @@ - -Synchronizer (owi.Owi.Synchronizer)

Module Owi.Synchronizer

type (!'get, !'write) t
val init : - (unit -> 'get option) -> - ('write -> Prelude.Condition.t -> unit) -> - ('get, 'write) t
val get : ('get, 'write) t -> bool -> 'get option
val write : 'write -> ('get, 'write) t -> unit
val make_pledge : ('get, 'write) t -> unit
val end_pledge : ('get, 'write) t -> unit
val fail : ('get, 'write) t -> unit
val work_while : ('get -> ('write -> unit) -> unit) -> ('get, 'write) t -> unit
diff --git a/api/owi/Owi/Syntax/index.html b/api/owi/Owi/Syntax/index.html deleted file mode 100644 index accc6cc86..000000000 --- a/api/owi/Owi/Syntax/index.html +++ /dev/null @@ -1,28 +0,0 @@ - -Syntax (owi.Owi.Syntax)

Module Owi.Syntax

val let* : - ('a, 'err) Prelude.Result.t -> - ('a -> ('b, 'err) Prelude.Result.t) -> - ('b, 'err) Prelude.Result.t
val let+ : - ('a, 'err) Prelude.Result.t -> - ('a -> 'b) -> - ('b, 'err) Prelude.Result.t
val ok : 'a -> ('a, 'err) Prelude.Result.t
val list_iter : - ('a -> (unit, 'err) Prelude.Result.t) -> - 'a list -> - (unit, 'err) Prelude.Result.t
val list_map : - ('a -> ('b, 'err) Prelude.Result.t) -> - 'a list -> - ('b list, 'err) Prelude.Result.t
val list_fold_left : - ('a -> 'b -> ('a, 'err) Prelude.Result.t) -> - 'a -> - 'b list -> - ('a, 'err) Prelude.Result.t
val array_iter : - ('a -> (unit, 'err) Prelude.Result.t) -> - 'a array -> - (unit, 'err) Prelude.Result.t
val array_map : - ('a -> ('b, 'err) Prelude.Result.t) -> - 'a array -> - ('b array, 'err) Prelude.Result.t
val array_fold_left : - ('a -> 'b -> ('a, 'err) Prelude.Result.t) -> - 'a -> - 'b array -> - ('a, 'err) Prelude.Result.t
diff --git a/api/owi/Owi/Text/index.html b/api/owi/Owi/Text/index.html deleted file mode 100644 index 1e27bd4f8..000000000 --- a/api/owi/Owi/Text/index.html +++ /dev/null @@ -1,5 +0,0 @@ - -Text (owi.Owi.Text)

Module Owi.Text

val symbolic : string -> < string_indices : Types.yes.. > Types.indice
val raw : int -> < .. > Types.indice
val bt_ind : < raw_bt : Types.yes.. > as 'a Types.indice -> 'a Types.block_type
val bt_raw : - 'b as 'a Types.indice option -> - ('a Types.param_type * 'a Types.result_type) -> - 'a Types.block_type
type global = {
  1. typ : Types.text Types.global_type;
  2. init : Types.text Types.expr;
  3. id : string option;
}
val pp_global : Stdlib.Format.formatter -> global -> Prelude.Unit.t
type data_mode =
  1. | Data_passive
  2. | Data_active of Types.text Types.indice option * Types.text Types.expr
val pp_data_mode : Stdlib.Format.formatter -> data_mode -> Prelude.Unit.t
type data = {
  1. id : string option;
  2. init : string;
  3. mode : data_mode;
}
val pp_data : Stdlib.Format.formatter -> data -> Prelude.Unit.t
type elem_mode =
  1. | Elem_passive
  2. | Elem_active of Types.text Types.indice option * Types.text Types.expr
  3. | Elem_declarative
val pp_elem_mode : Stdlib.Format.formatter -> elem_mode -> Prelude.Unit.t
type elem = {
  1. id : string option;
  2. typ : Types.text Types.ref_type;
  3. init : Types.text Types.expr list;
  4. mode : elem_mode;
}
val pp_elem_expr : Stdlib.Format.formatter -> 'a Types.expr -> Prelude.Unit.t
val pp_elem : Stdlib.Format.formatter -> elem -> Prelude.Unit.t
type module_field =
  1. | MType of Types.text Types.rec_type
  2. | MGlobal of global
  3. | MTable of Types.text Types.table
  4. | MMem of Types.mem
  5. | MFunc of Types.text Types.func
  6. | MElem of elem
  7. | MData of data
  8. | MStart of Types.text Types.indice
  9. | MImport of Types.text Types.import
  10. | MExport of Types.text Types.export
val pp_module_field : Stdlib.Format.formatter -> module_field -> Prelude.Unit.t
type modul = {
  1. id : string option;
  2. fields : module_field list;
}
val pp_modul : Stdlib.Format.formatter -> modul -> unit
type action =
  1. | Invoke of string option * string * Types.text Types.const list
  2. | Get of string option * string
val pp_action : Stdlib.Format.formatter -> action -> unit
type result_const =
  1. | Literal of Types.text Types.const
  2. | Nan_canon of Types.nn
  3. | Nan_arith of Types.nn
val pp_result_const : Stdlib.Format.formatter -> result_const -> unit
type result =
  1. | Result_const of result_const
  2. | Result_extern_ref
  3. | Result_func_ref
val pp_result : Stdlib.Format.formatter -> result -> unit
val pp_result_bis : Stdlib.Format.formatter -> result -> unit
val pp_results : Stdlib.Format.formatter -> result list -> unit
type assertion =
  1. | Assert_return of action * result list
  2. | Assert_trap of action * string
  3. | Assert_trap_module of modul * string
  4. | Assert_malformed of modul * string
  5. | Assert_malformed_quote of string * string
  6. | Assert_malformed_binary of string * string
  7. | Assert_invalid of modul * string
  8. | Assert_invalid_quote of string * string
  9. | Assert_invalid_binary of string * string
  10. | Assert_exhaustion of action * string
  11. | Assert_unlinkable of modul * string
val pp_assertion : Stdlib.Format.formatter -> assertion -> unit
type register = string * string option
val pp_register : Stdlib.Format.formatter -> (string * 'a) -> unit
type cmd =
  1. | Quoted_module of string
  2. | Binary_module of string option * string
  3. | Text_module of modul
  4. | Assert of assertion
  5. | Register of string * string option
  6. | Action of action
val pp_cmd : Stdlib.Format.formatter -> cmd -> unit
type script = cmd list
val pp_script : Stdlib.Format.formatter -> cmd list -> unit
diff --git a/api/owi/Owi/Text_lexer/index.html b/api/owi/Owi/Text_lexer/index.html deleted file mode 100644 index e77f5a251..000000000 --- a/api/owi/Owi/Text_lexer/index.html +++ /dev/null @@ -1,5 +0,0 @@ - -Text_lexer (owi.Owi.Text_lexer)

Module Owi.Text_lexer

Module for Wasm lexing.

exception Illegal_escape of string

lexing error exception

exception Unknown_operator of string
exception Unexpected_character of string
val token : Sedlexing.lexbuf -> Text_parser.token

tokenizer

val lexer : - Sedlexing.lexbuf -> - unit -> - Text_parser.token * Prelude.Lexing.position * Prelude.Lexing.position

lexer

diff --git a/api/owi/Owi/Text_parser/Incremental/index.html b/api/owi/Owi/Text_parser/Incremental/index.html deleted file mode 100644 index d1065d269..000000000 --- a/api/owi/Owi/Text_parser/Incremental/index.html +++ /dev/null @@ -1,6 +0,0 @@ - -Incremental (owi.Owi.Text_parser.Incremental)

Module Text_parser.Incremental

val script : - Prelude.Lexing.position -> - Text.script MenhirInterpreter.checkpoint
val modul : Prelude.Lexing.position -> Text.modul MenhirInterpreter.checkpoint
val inline_module : - Prelude.Lexing.position -> - Text.modul MenhirInterpreter.checkpoint
diff --git a/api/owi/Owi/Text_parser/MenhirInterpreter/index.html b/api/owi/Owi/Text_parser/MenhirInterpreter/index.html deleted file mode 100644 index 22d3473f9..000000000 --- a/api/owi/Owi/Text_parser/MenhirInterpreter/index.html +++ /dev/null @@ -1,33 +0,0 @@ - -MenhirInterpreter (owi.Owi.Text_parser.MenhirInterpreter)

Module Text_parser.MenhirInterpreter

include MenhirLib.IncrementalEngine.INCREMENTAL_ENGINE with type token = token
type token = token
type production
type 'a env
type !'a checkpoint = private
  1. | InputNeeded of 'a env
  2. | Shifting of 'a env * 'a env * bool
  3. | AboutToReduce of 'a env * production
  4. | HandlingError of 'a env
  5. | Accepted of 'a
  6. | Rejected
val offer : - 'a checkpoint -> - (token - * MenhirLib.IncrementalEngine.position - * MenhirLib.IncrementalEngine.position) -> - 'a checkpoint
type strategy = [
  1. | `Legacy
  2. | `Simplified
]
val resume : ?strategy:strategy -> 'a checkpoint -> 'a checkpoint
type supplier = - unit -> - token - * MenhirLib.IncrementalEngine.position - * MenhirLib.IncrementalEngine.position
val lexer_lexbuf_to_supplier : - (Stdlib.Lexing.lexbuf -> token) -> - Stdlib.Lexing.lexbuf -> - supplier
val loop : ?strategy:strategy -> supplier -> 'a checkpoint -> 'a
val loop_handle : - ('a -> 'answer) -> - ('a checkpoint -> 'answer) -> - supplier -> - 'a checkpoint -> - 'answer
val loop_handle_undo : - ('a -> 'answer) -> - ('a checkpoint -> 'a checkpoint -> 'answer) -> - supplier -> - 'a checkpoint -> - 'answer
val shifts : 'a checkpoint -> 'a env option
val acceptable : - 'a checkpoint -> - token -> - MenhirLib.IncrementalEngine.position -> - bool
type 'a lr1state
val number : 'a lr1state -> int
val production_index : production -> int
val find_production : int -> production
type element =
  1. | Element : 'a lr1state - * 'a - * MenhirLib.IncrementalEngine.position - * MenhirLib.IncrementalEngine.position -> element
type stack = element MenhirLib.General.stream
val stack : 'a env -> stack
val top : 'a env -> element option
val pop_many : int -> 'a env -> 'a env option
val get : int -> 'a env -> element option
val current_state_number : 'a env -> int
val equal : 'a env -> 'a env -> bool
val positions : - 'a env -> - MenhirLib.IncrementalEngine.position * MenhirLib.IncrementalEngine.position
val env_has_default_reduction : 'a env -> bool
val state_has_default_reduction : 'a lr1state -> bool
val pop : 'a env -> 'a env option
val force_reduction : production -> 'a env -> 'a env
val input_needed : 'a env -> 'a checkpoint
diff --git a/api/owi/Owi/Text_parser/index.html b/api/owi/Owi/Text_parser/index.html deleted file mode 100644 index 608af067c..000000000 --- a/api/owi/Owi/Text_parser/index.html +++ /dev/null @@ -1,11 +0,0 @@ - -Text_parser (owi.Owi.Text_parser)

Module Owi.Text_parser

type token =
  1. | UNREACHABLE
  2. | TYPE
  3. | THEN
  4. | TABLE_SIZE
  5. | TABLE_SET
  6. | TABLE_INIT
  7. | TABLE_GROW
  8. | TABLE_GET
  9. | TABLE_FILL
  10. | TABLE_COPY
  11. | TABLE
  12. | SUB
  13. | STRUCT_SET
  14. | STRUCT_NEW_CANON_DEFAULT
  15. | STRUCT_NEW_CANON
  16. | STRUCT_GET_S
  17. | STRUCT_GET
  18. | STRUCTREF
  19. | STRUCT
  20. | START
  21. | SELECT
  22. | RPAR
  23. | RETURN_CALL_REF
  24. | RETURN_CALL_INDIRECT
  25. | RETURN_CALL
  26. | RETURN
  27. | RESULT
  28. | REGISTER
  29. | REF_TEST
  30. | REF_STRUCT
  31. | REF_NULL
  32. | REF_IS_NULL
  33. | REF_I31
  34. | REF_HOST
  35. | REF_FUNC
  36. | REF_EXTERN
  37. | REF_EQ
  38. | REF_CAST
  39. | REF_AS_NON_NULL
  40. | REF_ARRAY
  41. | REF
  42. | REC
  43. | QUOTE
  44. | PARAM
  45. | OFFSET
  46. | NUM of Prelude.String.t
  47. | NULL_REF
  48. | NULL_FUNC_REF
  49. | NULL_EXTERN_REF
  50. | NULL
  51. | NOP
  52. | NONE
  53. | NOFUNC
  54. | NOEXTERN
  55. | NAN_CANON
  56. | NAN_ARITH
  57. | NAME of Prelude.String.t
  58. | MUTABLE
  59. | MODULE
  60. | MEMORY_SIZE
  61. | MEMORY_INIT
  62. | MEMORY_GROW
  63. | MEMORY_FILL
  64. | MEMORY_COPY
  65. | MEMORY
  66. | LPAR
  67. | LOOP
  68. | LOCAL_TEE
  69. | LOCAL_SET
  70. | LOCAL_GET
  71. | LOCAL
  72. | ITEM
  73. | INVOKE
  74. | IMPORT
  75. | IF
  76. | ID of Prelude.String.t
  77. | I8
  78. | I64_XOR
  79. | I64_TRUNC_SAT_F64_U
  80. | I64_TRUNC_SAT_F64_S
  81. | I64_TRUNC_SAT_F32_U
  82. | I64_TRUNC_SAT_F32_S
  83. | I64_TRUNC_F64_U
  84. | I64_TRUNC_F64_S
  85. | I64_TRUNC_F32_U
  86. | I64_TRUNC_F32_S
  87. | I64_SUB
  88. | I64_STORE8
  89. | I64_STORE32
  90. | I64_STORE16
  91. | I64_STORE
  92. | I64_SHR_U
  93. | I64_SHR_S
  94. | I64_SHL
  95. | I64_ROTR
  96. | I64_ROTL
  97. | I64_REM_U
  98. | I64_REM_S
  99. | I64_REINTERPRET_F64
  100. | I64_REINTERPRET_F32
  101. | I64_POPCNT
  102. | I64_OR
  103. | I64_NE
  104. | I64_MUL
  105. | I64_LT_U
  106. | I64_LT_S
  107. | I64_LOAD8_U
  108. | I64_LOAD8_S
  109. | I64_LOAD32_U
  110. | I64_LOAD32_S
  111. | I64_LOAD16_U
  112. | I64_LOAD16_S
  113. | I64_LOAD
  114. | I64_LE_U
  115. | I64_LE_S
  116. | I64_GT_U
  117. | I64_GT_S
  118. | I64_GE_U
  119. | I64_GE_S
  120. | I64_EXTEND_I32_U
  121. | I64_EXTEND_I32_S
  122. | I64_EXTEND8_S
  123. | I64_EXTEND32_S
  124. | I64_EXTEND16_S
  125. | I64_EQZ
  126. | I64_EQ
  127. | I64_DIV_U
  128. | I64_DIV_S
  129. | I64_CTZ
  130. | I64_CONST
  131. | I64_CLZ
  132. | I64_AND
  133. | I64_ADD
  134. | I64
  135. | I32_XOR
  136. | I32_WRAP_I64
  137. | I32_TRUNC_SAT_F64_U
  138. | I32_TRUNC_SAT_F64_S
  139. | I32_TRUNC_SAT_F32_U
  140. | I32_TRUNC_SAT_F32_S
  141. | I32_TRUNC_F64_U
  142. | I32_TRUNC_F64_S
  143. | I32_TRUNC_F32_U
  144. | I32_TRUNC_F32_S
  145. | I32_SUB
  146. | I32_STORE8
  147. | I32_STORE16
  148. | I32_STORE
  149. | I32_SHR_U
  150. | I32_SHR_S
  151. | I32_SHL
  152. | I32_ROTR
  153. | I32_ROTL
  154. | I32_REM_U
  155. | I32_REM_S
  156. | I32_REINTERPRET_F64
  157. | I32_REINTERPRET_F32
  158. | I32_POPCNT
  159. | I32_OR
  160. | I32_NE
  161. | I32_MUL
  162. | I32_LT_U
  163. | I32_LT_S
  164. | I32_LOAD8_U
  165. | I32_LOAD8_S
  166. | I32_LOAD16_U
  167. | I32_LOAD16_S
  168. | I32_LOAD
  169. | I32_LE_U
  170. | I32_LE_S
  171. | I32_GT_U
  172. | I32_GT_S
  173. | I32_GE_U
  174. | I32_GE_S
  175. | I32_EXTEND8_S
  176. | I32_EXTEND16_S
  177. | I32_EQZ
  178. | I32_EQ
  179. | I32_DIV_U
  180. | I32_DIV_S
  181. | I32_CTZ
  182. | I32_CONST
  183. | I32_CLZ
  184. | I32_AND
  185. | I32_ADD
  186. | I32
  187. | I31_REF
  188. | I31_GET_U
  189. | I31_GET_S
  190. | I31
  191. | I16
  192. | GLOBAL_SET
  193. | GLOBAL_GET
  194. | GLOBAL
  195. | GET
  196. | FUNC_REF
  197. | FUNC
  198. | FINAL
  199. | FIELD
  200. | F64_TRUNC
  201. | F64_SUB
  202. | F64_STORE
  203. | F64_SQRT
  204. | F64_REINTERPRET_I64
  205. | F64_REINTERPRET_I32
  206. | F64_PROMOTE_F32
  207. | F64_NEG
  208. | F64_NEAREST
  209. | F64_NE
  210. | F64_MUL
  211. | F64_MIN
  212. | F64_MAX
  213. | F64_LT
  214. | F64_LOAD
  215. | F64_LE
  216. | F64_GT
  217. | F64_GE
  218. | F64_FLOOR
  219. | F64_EQ
  220. | F64_DIV
  221. | F64_COPYSIGN
  222. | F64_CONVERT_I64_U
  223. | F64_CONVERT_I64_S
  224. | F64_CONVERT_I32_U
  225. | F64_CONVERT_I32_S
  226. | F64_CONST
  227. | F64_CEIL
  228. | F64_ADD
  229. | F64_ABS
  230. | F64
  231. | F32_TRUNC
  232. | F32_SUB
  233. | F32_STORE
  234. | F32_SQRT
  235. | F32_REINTERPRET_I64
  236. | F32_REINTERPRET_I32
  237. | F32_NEG
  238. | F32_NEAREST
  239. | F32_NE
  240. | F32_MUL
  241. | F32_MIN
  242. | F32_MAX
  243. | F32_LT
  244. | F32_LOAD
  245. | F32_LE
  246. | F32_GT
  247. | F32_GE
  248. | F32_FLOOR
  249. | F32_EQ
  250. | F32_DIV
  251. | F32_DEMOTE_F64
  252. | F32_COPYSIGN
  253. | F32_CONVERT_I64_U
  254. | F32_CONVERT_I64_S
  255. | F32_CONVERT_I32_U
  256. | F32_CONVERT_I32_S
  257. | F32_CONST
  258. | F32_CEIL
  259. | F32_ADD
  260. | F32_ABS
  261. | F32
  262. | EXTERN_REF
  263. | EXTERN_INTERNALIZE
  264. | EXTERN_EXTERNALIZE
  265. | EXTERN
  266. | EXPORT
  267. | EQ_REF
  268. | EQUAL
  269. | EQ
  270. | EOF
  271. | END
  272. | ELSE
  273. | ELEM_DROP
  274. | ELEM
  275. | DROP
  276. | DECLARE
  277. | DATA_DROP
  278. | DATA
  279. | CALL_REF
  280. | CALL_INDIRECT
  281. | CALL
  282. | BR_TABLE
  283. | BR_ON_NULL
  284. | BR_ON_NON_NULL
  285. | BR_ON_CAST_FAIL
  286. | BR_ON_CAST
  287. | BR_IF
  288. | BR
  289. | BLOCK
  290. | BINARY
  291. | ASSERT_UNLINKABLE
  292. | ASSERT_TRAP
  293. | ASSERT_RETURN
  294. | ASSERT_MALFORMED
  295. | ASSERT_INVALID
  296. | ASSERT_EXHAUSTION
  297. | ARRAY_SET
  298. | ARRAY_REF
  299. | ARRAY_NEW_CANON_FIXED
  300. | ARRAY_NEW_CANON_ELEM
  301. | ARRAY_NEW_CANON_DEFAULT
  302. | ARRAY_NEW_CANON_DATA
  303. | ARRAY_NEW_CANON
  304. | ARRAY_LEN
  305. | ARRAY_GET_U
  306. | ARRAY_GET
  307. | ARRAY
  308. | ANY_REF
  309. | ANY
  310. | ALIGN
exception Error
val script : - (Prelude.Lexing.lexbuf -> token) -> - Prelude.Lexing.lexbuf -> - Text.script
val modul : - (Prelude.Lexing.lexbuf -> token) -> - Prelude.Lexing.lexbuf -> - Text.modul
val inline_module : - (Prelude.Lexing.lexbuf -> token) -> - Prelude.Lexing.lexbuf -> - Text.modul
module MenhirInterpreter : sig ... end
module Incremental : sig ... end
diff --git a/api/owi/Owi/Text_validate/index.html b/api/owi/Owi/Text_validate/index.html deleted file mode 100644 index 14d41fe16..000000000 --- a/api/owi/Owi/Text_validate/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Text_validate (owi.Owi.Text_validate)

Module Owi.Text_validate

Initial check done on a module.

check a module

diff --git a/api/owi/Owi/Thread/Make/Memory/index.html b/api/owi/Owi/Thread/Make/Memory/index.html deleted file mode 100644 index 7075fabc9..000000000 --- a/api/owi/Owi/Thread/Make/Memory/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Memory (owi.Owi.Thread.Make.Memory)

Module Make.Memory

type collection = Symbolic_memory.collection
val init : unit -> collection
val clone : collection -> collection
diff --git a/api/owi/Owi/Thread/Make/argument-1-Symbolic_memory/index.html b/api/owi/Owi/Thread/Make/argument-1-Symbolic_memory/index.html deleted file mode 100644 index 6fd8b89ab..000000000 --- a/api/owi/Owi/Thread/Make/argument-1-Symbolic_memory/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Symbolic_memory (owi.Owi.Thread.Make.Symbolic_memory)

Parameter Make.Symbolic_memory

type collection
val init : unit -> collection
val clone : collection -> collection
diff --git a/api/owi/Owi/Thread/Make/index.html b/api/owi/Owi/Thread/Make/index.html deleted file mode 100644 index bb10746bd..000000000 --- a/api/owi/Owi/Thread/Make/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Make (owi.Owi.Thread.Make)

Module Thread.Make

Parameters

Signature

type t
val init : unit -> t
val create : - int -> - Smtml.Symbol.t list -> - Symbolic_value.vbool list -> - Memory.collection -> - Symbolic_table.collection -> - Symbolic_global.collection -> - int32 list -> - t
val pc : t -> Symbolic_value.vbool list
val memories : t -> Memory.collection
val globals : t -> Symbolic_global.collection
val breadcrumbs : t -> int32 list
val symbols_set : t -> Smtml.Symbol.t list
val symbols : t -> int
val clone : t -> t
val add_pc : t -> Symbolic_value.vbool -> t
val add_breadcrumb : t -> int32 -> t
val add_symbol : t -> Smtml.Symbol.t -> t
val incr_symbols : t -> t
diff --git a/api/owi/Owi/Thread/index.html b/api/owi/Owi/Thread/index.html deleted file mode 100644 index 05d3c32a7..000000000 --- a/api/owi/Owi/Thread/index.html +++ /dev/null @@ -1,4 +0,0 @@ - -Thread (owi.Owi.Thread)

Module Owi.Thread

module type M = Thread_intf.M
module type S = Thread_intf.S
diff --git a/api/owi/Owi/Thread_intf/index.html b/api/owi/Owi/Thread_intf/index.html deleted file mode 100644 index 7a4be058c..000000000 --- a/api/owi/Owi/Thread_intf/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Thread_intf (owi.Owi.Thread_intf)

Module Owi.Thread_intf

module type M = sig ... end
module type S = sig ... end
module type Intf = sig ... end
diff --git a/api/owi/Owi/Thread_intf/module-type-Intf/Make/Memory/index.html b/api/owi/Owi/Thread_intf/module-type-Intf/Make/Memory/index.html deleted file mode 100644 index bc70fa51c..000000000 --- a/api/owi/Owi/Thread_intf/module-type-Intf/Make/Memory/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Memory (owi.Owi.Thread_intf.Intf.Make.Memory)

Module Make.Memory

type collection = Symbolic_memory.collection
val init : unit -> collection
val clone : collection -> collection
diff --git a/api/owi/Owi/Thread_intf/module-type-Intf/Make/argument-1-Symbolic_memory/index.html b/api/owi/Owi/Thread_intf/module-type-Intf/Make/argument-1-Symbolic_memory/index.html deleted file mode 100644 index 249feacfd..000000000 --- a/api/owi/Owi/Thread_intf/module-type-Intf/Make/argument-1-Symbolic_memory/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Symbolic_memory (owi.Owi.Thread_intf.Intf.Make.Symbolic_memory)

Parameter Make.Symbolic_memory

type collection
val init : unit -> collection
val clone : collection -> collection
diff --git a/api/owi/Owi/Thread_intf/module-type-Intf/Make/index.html b/api/owi/Owi/Thread_intf/module-type-Intf/Make/index.html deleted file mode 100644 index 125f63b38..000000000 --- a/api/owi/Owi/Thread_intf/module-type-Intf/Make/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Make (owi.Owi.Thread_intf.Intf.Make)

Module Intf.Make

Parameters

Signature

type t
val init : unit -> t
val create : - int -> - Smtml.Symbol.t list -> - Symbolic_value.vbool list -> - Memory.collection -> - Symbolic_table.collection -> - Symbolic_global.collection -> - int32 list -> - t
val pc : t -> Symbolic_value.vbool list
val memories : t -> Memory.collection
val globals : t -> Symbolic_global.collection
val breadcrumbs : t -> int32 list
val symbols_set : t -> Smtml.Symbol.t list
val symbols : t -> int
val clone : t -> t
val add_pc : t -> Symbolic_value.vbool -> t
val add_breadcrumb : t -> int32 -> t
val add_symbol : t -> Smtml.Symbol.t -> t
val incr_symbols : t -> t
diff --git a/api/owi/Owi/Thread_intf/module-type-Intf/index.html b/api/owi/Owi/Thread_intf/module-type-Intf/index.html deleted file mode 100644 index 5f85e24d7..000000000 --- a/api/owi/Owi/Thread_intf/module-type-Intf/index.html +++ /dev/null @@ -1,4 +0,0 @@ - -Intf (owi.Owi.Thread_intf.Intf)

Module type Thread_intf.Intf

module type M = M
module type S = S
diff --git a/api/owi/Owi/Thread_intf/module-type-M/index.html b/api/owi/Owi/Thread_intf/module-type-M/index.html deleted file mode 100644 index cde461611..000000000 --- a/api/owi/Owi/Thread_intf/module-type-M/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -M (owi.Owi.Thread_intf.M)

Module type Thread_intf.M

type collection
val init : unit -> collection
val clone : collection -> collection
diff --git a/api/owi/Owi/Thread_intf/module-type-S/Memory/index.html b/api/owi/Owi/Thread_intf/module-type-S/Memory/index.html deleted file mode 100644 index c7d652766..000000000 --- a/api/owi/Owi/Thread_intf/module-type-S/Memory/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Memory (owi.Owi.Thread_intf.S.Memory)

Module S.Memory

type collection
val init : unit -> collection
val clone : collection -> collection
diff --git a/api/owi/Owi/Thread_intf/module-type-S/index.html b/api/owi/Owi/Thread_intf/module-type-S/index.html deleted file mode 100644 index 85eae43d5..000000000 --- a/api/owi/Owi/Thread_intf/module-type-S/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -S (owi.Owi.Thread_intf.S)

Module type Thread_intf.S

type t
module Memory : M
val init : unit -> t
val create : - int -> - Smtml.Symbol.t list -> - Symbolic_value.vbool list -> - Memory.collection -> - Symbolic_table.collection -> - Symbolic_global.collection -> - int32 list -> - t
val pc : t -> Symbolic_value.vbool list
val memories : t -> Memory.collection
val globals : t -> Symbolic_global.collection
val breadcrumbs : t -> int32 list
val symbols_set : t -> Smtml.Symbol.t list
val symbols : t -> int
val clone : t -> t
val add_pc : t -> Symbolic_value.vbool -> t
val add_breadcrumb : t -> int32 -> t
val add_symbol : t -> Smtml.Symbol.t -> t
val incr_symbols : t -> t
diff --git a/api/owi/Owi/Thread_with_memory/Memory/index.html b/api/owi/Owi/Thread_with_memory/Memory/index.html deleted file mode 100644 index 13564e98e..000000000 --- a/api/owi/Owi/Thread_with_memory/Memory/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Memory (owi.Owi.Thread_with_memory.Memory)

Module Thread_with_memory.Memory

val init : unit -> collection
val clone : collection -> collection
diff --git a/api/owi/Owi/Thread_with_memory/index.html b/api/owi/Owi/Thread_with_memory/index.html deleted file mode 100644 index 51602bacf..000000000 --- a/api/owi/Owi/Thread_with_memory/index.html +++ /dev/null @@ -1,11 +0,0 @@ - -Thread_with_memory (owi.Owi.Thread_with_memory)

Module Owi.Thread_with_memory

type t
val init : unit -> t
val create : - int -> - Smtml.Symbol.t list -> - Symbolic_value.vbool list -> - Memory.collection -> - Symbolic_table.collection -> - Symbolic_global.collection -> - int32 list -> - t
val pc : t -> Symbolic_value.vbool list
val memories : t -> Memory.collection
val globals : t -> Symbolic_global.collection
val breadcrumbs : t -> int32 list
val symbols_set : t -> Smtml.Symbol.t list
val symbols : t -> int
val clone : t -> t
val add_pc : t -> Symbolic_value.vbool -> t
val add_breadcrumb : t -> int32 -> t
val add_symbol : t -> Smtml.Symbol.t -> t
val incr_symbols : t -> t
diff --git a/api/owi/Owi/Thread_without_memory/Memory/index.html b/api/owi/Owi/Thread_without_memory/Memory/index.html deleted file mode 100644 index 608060736..000000000 --- a/api/owi/Owi/Thread_without_memory/Memory/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Memory (owi.Owi.Thread_without_memory.Memory)

Module Thread_without_memory.Memory

type collection = bool
val init : unit -> collection
val clone : collection -> collection
diff --git a/api/owi/Owi/Thread_without_memory/index.html b/api/owi/Owi/Thread_without_memory/index.html deleted file mode 100644 index d8626f905..000000000 --- a/api/owi/Owi/Thread_without_memory/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Thread_without_memory (owi.Owi.Thread_without_memory)

Module Owi.Thread_without_memory

type t
module Memory : Thread_intf.M with type collection = bool
val init : unit -> t
val create : - int -> - Smtml.Symbol.t list -> - Symbolic_value.vbool list -> - Memory.collection -> - Symbolic_table.collection -> - Symbolic_global.collection -> - int32 list -> - t
val pc : t -> Symbolic_value.vbool list
val memories : t -> Memory.collection
val globals : t -> Symbolic_global.collection
val breadcrumbs : t -> int32 list
val symbols_set : t -> Smtml.Symbol.t list
val symbols : t -> int
val clone : t -> t
val add_pc : t -> Symbolic_value.vbool -> t
val add_breadcrumb : t -> int32 -> t
val add_symbol : t -> Smtml.Symbol.t -> t
val incr_symbols : t -> t
diff --git a/api/owi/Owi/Tracing/index.html b/api/owi/Owi/Tracing/index.html deleted file mode 100644 index 4e232893d..000000000 --- a/api/owi/Owi/Tracing/index.html +++ /dev/null @@ -1,5 +0,0 @@ - -Tracing (owi.Owi.Tracing)

Module Owi.Tracing

type Runtime_events.User.tag +=
  1. | Solver_check
type Runtime_events.User.tag +=
  1. | Solver_check_true
type Runtime_events.User.tag +=
  1. | Solver_check_false
type Runtime_events.User.tag +=
  1. | Solver_model
val check : Runtime_events.Type.span Runtime_events.User.t
val check_true : Runtime_events.Type.span Runtime_events.User.t
val check_false : Runtime_events.Type.span Runtime_events.User.t
val model : Runtime_events.Type.span Runtime_events.User.t
val with_ev : - Runtime_events.Type.span Runtime_events.User.t -> - (unit -> 'a) -> - 'a
diff --git a/api/owi/Owi/Trap/index.html b/api/owi/Owi/Trap/index.html deleted file mode 100644 index befec5579..000000000 --- a/api/owi/Owi/Trap/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Trap (owi.Owi.Trap)

Module Owi.Trap

type t =
  1. | Out_of_bounds_table_access
  2. | Out_of_bounds_memory_access
  3. | Undefined_element
  4. | Uninitialized_element of int
  5. | Integer_overflow
  6. | Integer_divide_by_zero
  7. | Element_type_error
  8. | Unreachable
  9. | Indirect_call_type_mismatch
  10. | Extern_call_arg_type_mismatch
  11. | Extern_call_null_arg
  12. | Memory_leak_use_after_free
  13. | Memory_heap_buffer_overflow
val to_string : t -> string
diff --git a/api/owi/Owi/Types/index.html b/api/owi/Owi/Types/index.html deleted file mode 100644 index 7b67eaffe..000000000 --- a/api/owi/Owi/Types/index.html +++ /dev/null @@ -1,64 +0,0 @@ - -Types (owi.Owi.Types)

Module Owi.Types

exception Trap of string
exception Parse_fail of string
type yes =
  1. | Yes
type no =
  1. | No
type with_string_indices = < string_indices : yes >
type without_string_indices = < string_indices : no >
type with_ind_bt = < raw_bt : yes >
type without_ind_bt = < raw_bt : no >
val sp : Stdlib.Format.formatter -> unit -> unit
type _ indice =
  1. | Text : string -> < with_string_indices.. > indice
  2. | Raw : int -> < .. > indice
val pp_id : Stdlib.Format.formatter -> string -> unit
val pp_id_opt : Stdlib.Format.formatter -> string option -> unit
val pp_indice : Stdlib.Format.formatter -> 'kind indice -> unit
val compare_indice : - < string_indices : yes.. > indice -> - < string_indices : yes.. > indice -> - int
val pp_indice_opt : Stdlib.Format.formatter -> 'a indice option -> unit
val pp_indices : Stdlib.Format.formatter -> 'a indice list -> unit
type nonrec num_type =
  1. | I32
  2. | I64
  3. | F32
  4. | F64
val pp_num_type : Stdlib.Format.formatter -> num_type -> unit
val num_type_eq : num_type -> num_type -> bool
val compare_num_type : num_type -> num_type -> int
type nullable =
  1. | No_null
  2. | Null
val pp_nullable : Stdlib.Format.formatter -> nullable -> unit
type nonrec packed_type =
  1. | I8
  2. | I16
val pp_packed_type : Stdlib.Format.formatter -> packed_type -> unit
val packed_type_eq : packed_type -> packed_type -> bool
type nonrec mut =
  1. | Const
  2. | Var
val pp_mut : Stdlib.Format.formatter -> mut -> unit
type nonrec nn =
  1. | S32
  2. | S64
val pp_nn : Stdlib.Format.formatter -> nn -> unit
type nonrec sx =
  1. | U
  2. | S
val pp_sx : Stdlib.Format.formatter -> sx -> unit
type nonrec iunop =
  1. | Clz
  2. | Ctz
  3. | Popcnt
val pp_iunop : Stdlib.Format.formatter -> iunop -> unit
type nonrec funop =
  1. | Abs
  2. | Neg
  3. | Sqrt
  4. | Ceil
  5. | Floor
  6. | Trunc
  7. | Nearest
val pp_funop : Stdlib.Format.formatter -> funop -> unit
type nonrec ibinop =
  1. | Add
  2. | Sub
  3. | Mul
  4. | Div of sx
  5. | Rem of sx
  6. | And
  7. | Or
  8. | Xor
  9. | Shl
  10. | Shr of sx
  11. | Rotl
  12. | Rotr
val pp_ibinop : Stdlib.Format.formatter -> ibinop -> unit
type nonrec fbinop =
  1. | Add
  2. | Sub
  3. | Mul
  4. | Div
  5. | Min
  6. | Max
  7. | Copysign
val pp_fbinop : Stdlib.Format.formatter -> fbinop -> unit
type nonrec itestop =
  1. | Eqz
val pp_itestop : Stdlib.Format.formatter -> itestop -> unit
type nonrec irelop =
  1. | Eq
  2. | Ne
  3. | Lt of sx
  4. | Gt of sx
  5. | Le of sx
  6. | Ge of sx
val pp_irelop : Stdlib.Format.formatter -> irelop -> Prelude.Unit.t
type nonrec frelop =
  1. | Eq
  2. | Ne
  3. | Lt
  4. | Gt
  5. | Le
  6. | Ge
val frelop : Stdlib.Format.formatter -> frelop -> Prelude.Unit.t
type nonrec memarg = {
  1. offset : Int32.t;
  2. align : Int32.t;
}
val pp_memarg : Stdlib.Format.formatter -> memarg -> unit
type nonrec limits = {
  1. min : int;
  2. max : int option;
}
val pp_limits : Stdlib.Format.formatter -> limits -> unit
type nonrec mem = string option * limits
val pp_mem : Stdlib.Format.formatter -> (string option * limits) -> unit
type nonrec final =
  1. | Final
  2. | No_final
val pp_final : Stdlib.Format.formatter -> final -> unit

Structure

Types

type 'a heap_type =
  1. | Any_ht
  2. | None_ht
  3. | Eq_ht
  4. | I31_ht
  5. | Struct_ht
  6. | Array_ht
  7. | Func_ht
  8. | No_func_ht
  9. | Extern_ht
  10. | No_extern_ht
  11. | Def_ht of 'a indice
val pp_heap_type : Stdlib.Format.formatter -> 'a heap_type -> unit
val pp_heap_type_short : Stdlib.Format.formatter -> 'a heap_type -> unit
val heap_type_eq : 'a heap_type -> 'b heap_type -> bool
val compare_heap_type : 'a heap_type -> 'b heap_type -> int
type nonrec 'a ref_type = nullable * 'a heap_type
val pp_ref_type : Stdlib.Format.formatter -> (nullable * 'a heap_type) -> unit
val ref_type_eq : - (nullable * 'a heap_type) -> - (nullable * 'b heap_type) -> - bool
val compare_ref_type : - (nullable * 'a heap_type) -> - (nullable * 'b heap_type) -> - int
type nonrec 'a val_type =
  1. | Num_type of num_type
  2. | Ref_type of 'a ref_type
val pp_val_type : Stdlib.Format.formatter -> 'a val_type -> unit
val val_type_eq : 'a val_type -> 'b val_type -> bool
val compare_val_type : 'a val_type -> 'b val_type -> int
type nonrec 'a param = string option * 'a val_type
val pp_param : Stdlib.Format.formatter -> (string option * 'a val_type) -> unit
val param_eq : ('a * 'b val_type) -> ('c * 'd val_type) -> bool
val compare_param : ('a * 'b val_type) -> ('c * 'd val_type) -> int
type nonrec 'a param_type = 'a param list
val pp_param_type : - Stdlib.Format.formatter -> - (string option * 'a val_type) list -> - unit
val param_type_eq : ('a * 'b val_type) list -> ('a * 'b val_type) list -> bool
val compare_param_type : - ('a * 'b val_type) list -> - ('a * 'b val_type) list -> - int
type nonrec 'a result_type = 'a val_type list
val pp_result_ : Stdlib.Format.formatter -> 'a val_type -> unit
val pp_result_type : Stdlib.Format.formatter -> 'a val_type list -> unit
val result_type_eq : 'a val_type list -> 'a val_type list -> bool
val compare_result_type : 'a val_type list -> 'a val_type list -> int
val with_space_list : - (Stdlib.Format.formatter -> 'a list -> unit) -> - Stdlib.Format.formatter -> - 'a list -> - unit
type 'a block_type =
  1. | Bt_ind : 'a indice -> < with_ind_bt.. > as 'a block_type
  2. | Bt_raw : ('a indice option * ('a param_type * 'a result_type)) -> < .. > as 'a - block_type
val pp_block_type : Stdlib.Format.formatter -> 'kind block_type -> unit
val pp_block_type_opt : Stdlib.Format.formatter -> 'a block_type option -> unit
type nonrec 'a func_type = 'a param_type * 'a result_type
val pp_func_type : - Stdlib.Format.formatter -> - ((string option * 'a val_type) list * 'b val_type list) -> - unit
val func_type_eq : - (('a * 'b val_type) list * 'c val_type list) -> - (('a * 'b val_type) list * 'c val_type list) -> - bool
val compare_func_type : - (('a * 'b val_type) list * 'c val_type list) -> - (('a * 'b val_type) list * 'c val_type list) -> - int
type nonrec 'a table_type = limits * 'a ref_type
val pp_table_type : - Stdlib.Format.formatter -> - (limits * (nullable * 'a heap_type)) -> - unit
type nonrec 'a global_type = mut * 'a val_type
val pp_global_type : Stdlib.Format.formatter -> (mut * 'a val_type) -> unit
type nonrec 'a extern_type =
  1. | Func of string option * 'a func_type
  2. | Table of string option * 'a table_type
  3. | Mem of string option * limits
  4. | Global of string option * 'a global_type

Instructions

type 'a instr =
  1. | I32_const of Int32.t
  2. | I64_const of Int64.t
  3. | F32_const of Float32.t
  4. | F64_const of Float64.t
  5. | I_unop of nn * iunop
  6. | F_unop of nn * funop
  7. | I_binop of nn * ibinop
  8. | F_binop of nn * fbinop
  9. | I_testop of nn * itestop
  10. | I_relop of nn * irelop
  11. | F_relop of nn * frelop
  12. | I_extend8_s of nn
  13. | I_extend16_s of nn
  14. | I64_extend32_s
  15. | I32_wrap_i64
  16. | I64_extend_i32 of sx
  17. | I_trunc_f of nn * nn * sx
  18. | I_trunc_sat_f of nn * nn * sx
  19. | F32_demote_f64
  20. | F64_promote_f32
  21. | F_convert_i of nn * nn * sx
  22. | I_reinterpret_f of nn * nn
  23. | F_reinterpret_i of nn * nn
  24. | Ref_null of 'a heap_type
  25. | Ref_is_null
  26. | Ref_i31
  27. | Ref_func of 'a indice
  28. | Ref_as_non_null
  29. | Ref_cast of nullable * 'a heap_type
  30. | Ref_test of nullable * 'a heap_type
  31. | Ref_eq
  32. | Drop
  33. | Select of 'a val_type list option
  34. | Local_get of 'a indice
  35. | Local_set of 'a indice
  36. | Local_tee of 'a indice
  37. | Global_get of 'a indice
  38. | Global_set of 'a indice
  39. | Table_get of 'a indice
  40. | Table_set of 'a indice
  41. | Table_size of 'a indice
  42. | Table_grow of 'a indice
  43. | Table_fill of 'a indice
  44. | Table_copy of 'a indice * 'a indice
  45. | Table_init of 'a indice * 'a indice
  46. | Elem_drop of 'a indice
  47. | I_load of nn * memarg
  48. | F_load of nn * memarg
  49. | I_store of nn * memarg
  50. | F_store of nn * memarg
  51. | I_load8 of nn * sx * memarg
  52. | I_load16 of nn * sx * memarg
  53. | I64_load32 of sx * memarg
  54. | I_store8 of nn * memarg
  55. | I_store16 of nn * memarg
  56. | I64_store32 of memarg
  57. | Memory_size
  58. | Memory_grow
  59. | Memory_fill
  60. | Memory_copy
  61. | Memory_init of 'a indice
  62. | Data_drop of 'a indice
  63. | Nop
  64. | Unreachable
  65. | Block of string option * 'a block_type option * 'a expr
  66. | Loop of string option * 'a block_type option * 'a expr
  67. | If_else of string option * 'a block_type option * 'a expr * 'a expr
  68. | Br of 'a indice
  69. | Br_if of 'a indice
  70. | Br_table of 'a indice array * 'a indice
  71. | Br_on_cast of 'a indice * 'a ref_type * 'a ref_type
  72. | Br_on_cast_fail of 'a indice * nullable * 'a heap_type
  73. | Br_on_non_null of 'a indice
  74. | Br_on_null of 'a indice
  75. | Return
  76. | Return_call of 'a indice
  77. | Return_call_indirect of 'a indice * 'a block_type
  78. | Return_call_ref of 'a block_type
  79. | Call of 'a indice
  80. | Call_indirect of 'a indice * 'a block_type
  81. | Call_ref of 'a indice
  82. | Array_get of 'a indice
  83. | Array_get_u of 'a indice
  84. | Array_len
  85. | Array_new of 'a indice
  86. | Array_new_data of 'a indice * 'a indice
  87. | Array_new_default of 'a indice
  88. | Array_new_elem of 'a indice * 'a indice
  89. | Array_new_fixed of 'a indice * int
  90. | Array_set of 'a indice
  91. | I31_get_u
  92. | I31_get_s
  93. | Struct_get of 'a indice * 'a indice
  94. | Struct_get_s of 'a indice * 'a indice
  95. | Struct_new of 'a indice
  96. | Struct_new_default of 'a indice
  97. | Struct_set of 'a indice * 'a indice
  98. | Extern_externalize
  99. | Extern_internalize
and 'a expr = 'a instr list
val pp_newline : Stdlib.Format.formatter -> unit -> unit
val pp_instr : 'a instr Prelude.Fmt.t
val pp_expr : Stdlib.Format.formatter -> 'a expr -> Prelude.Unit.t
val iter_expr : ('a instr -> 'b) -> 'c expr -> unit
val iter_instr : ('a instr -> 'b) -> 'c instr -> unit
type 'a func = {
  1. type_f : 'a block_type;
  2. locals : 'a param list;
  3. body : 'a expr;
  4. id : string option;
}
val pp_local : Stdlib.Format.formatter -> (string option * 'a val_type) -> unit
val pp_locals : - Stdlib.Format.formatter -> - (string option * 'a val_type) list -> - unit
val pp_func : 'kind. Prelude.Fmt.formatter -> 'kind func -> unit
val pp_funcs : Stdlib.Format.formatter -> 'a func list -> unit
type 'a table = string option * 'a table_type
val pp_table : - Stdlib.Format.formatter -> - (string option * (limits * (nullable * 'a heap_type))) -> - unit
type 'a import_desc =
  1. | Import_func of string option * 'a block_type
  2. | Import_table of string option * 'a table_type
  3. | Import_mem of string option * limits
  4. | Import_global of string option * 'a global_type
val import_desc : Stdlib.Format.formatter -> 'a import_desc -> Prelude.Unit.t
type 'a import = {
  1. modul : string;
    (*

    The name of the module from which the import is done

    *)
  2. name : string;
    (*

    The name of the importee in its module of origin

    *)
  3. desc : 'a import_desc;
    (*

    If this import_desc first field is Some s, the importee is made available under name s, else it can only be used via its numerical index.

    *)
}
val pp_import : Stdlib.Format.formatter -> 'a import -> Prelude.Unit.t
type 'a export_desc =
  1. | Export_func of 'a indice option
  2. | Export_table of 'a indice option
  3. | Export_mem of 'a indice option
  4. | Export_global of 'a indice option
val pp_export_desc : Stdlib.Format.formatter -> 'a export_desc -> unit
type 'a export = {
  1. name : string;
  2. desc : 'a export_desc;
}
val pp_export : Stdlib.Format.formatter -> text export -> unit
type 'a storage_type =
  1. | Val_storage_t of 'a val_type
  2. | Val_packed_t of packed_type
val pp_storage_type : Stdlib.Format.formatter -> 'a storage_type -> unit
val storage_type_eq : 'a storage_type -> 'b storage_type -> bool
type 'a field_type = mut * 'a storage_type
val pp_field_type : Stdlib.Format.formatter -> (mut * 'a storage_type) -> unit
val field_type_eq : (mut * 'a storage_type) -> (mut * 'b storage_type) -> bool
type 'a struct_field = string option * 'a field_type list
val pp_fields : Stdlib.Format.formatter -> (mut * 'a storage_type) list -> unit
val pp_struct_field : - Stdlib.Format.formatter -> - (string option * (mut * 'a storage_type) list) -> - unit
val struct_field_eq : - ('a * (mut * 'b storage_type) list) -> - ('c * (mut * 'b storage_type) list) -> - bool
type 'a struct_type = 'a struct_field list
val pp_struct_type : - Stdlib.Format.formatter -> - (string option * (mut * 'a storage_type) list) list -> - unit
val struct_type_eq : - ('a * (mut * 'b storage_type) list) list -> - ('a * (mut * 'b storage_type) list) list -> - bool
val pp_array_type : Stdlib.Format.formatter -> (mut * 'a storage_type) -> unit
type 'a str_type =
  1. | Def_struct_t of 'a struct_type
  2. | Def_array_t of 'a field_type
  3. | Def_func_t of 'a func_type
val str_type : Stdlib.Format.formatter -> 'a str_type -> unit
val str_type_eq : 'a str_type -> 'b str_type -> bool
val compare_str_type : 'a str_type -> 'b str_type -> int
type 'a sub_type = final * 'a indice list * 'a str_type
val pp_sub_type : - Stdlib.Format.formatter -> - (final * 'a indice list * 'b str_type) -> - unit
type 'a type_def = string option * 'a sub_type
val pp_type_def_no_indent : - Stdlib.Format.formatter -> - (string option * (final * 'a indice list * 'b str_type)) -> - unit
val pp_type_def : - Stdlib.Format.formatter -> - (string option * (final * 'a indice list * 'b str_type)) -> - unit
type 'a rec_type = 'a type_def list
val pp_rec_type : - Stdlib.Format.formatter -> - (string option * (final * 'a indice list * 'b str_type)) list -> - unit
val pp_start : Stdlib.Format.formatter -> 'a indice -> unit
type 'a const =
  1. | Const_I32 of Int32.t
  2. | Const_I64 of Int64.t
  3. | Const_F32 of Float32.t
  4. | Const_F64 of Float64.t
  5. | Const_null of 'a heap_type
  6. | Const_host of int
  7. | Const_extern of int
  8. | Const_array
  9. | Const_eq
  10. | Const_i31
  11. | Const_struct
val pp_const : Stdlib.Format.formatter -> 'a const -> unit
val pp_consts : Stdlib.Format.formatter -> 'a const list -> unit
diff --git a/api/owi/Owi/V/Bool/index.html b/api/owi/Owi/V/Bool/index.html deleted file mode 100644 index efc41fdd1..000000000 --- a/api/owi/Owi/V/Bool/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Bool (owi.Owi.V.Bool)

Module V.Bool

val const : bool -> vbool
val not : vbool -> vbool
val or_ : vbool -> vbool -> vbool
val and_ : vbool -> vbool -> vbool
val int32 : vbool -> int32
val pp : Prelude.Fmt.formatter -> vbool -> unit
diff --git a/api/owi/Owi/V/F32/index.html b/api/owi/Owi/V/F32/index.html deleted file mode 100644 index cb82d7af2..000000000 --- a/api/owi/Owi/V/F32/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -F32 (owi.Owi.V.F32)

Module V.F32

include Value_intf.Fop - with type num := float32 - and type vbool := vbool - and type int32 := int32 - and type int64 := int64 - and type same_size_int := int32
val zero : float32
val abs : float32 -> float32
val neg : float32 -> float32
val sqrt : float32 -> float32
val ceil : float32 -> float32
val floor : float32 -> float32
val trunc : float32 -> float32
val nearest : float32 -> float32
val add : float32 -> float32 -> float32
val sub : float32 -> float32 -> float32
val mul : float32 -> float32 -> float32
val div : float32 -> float32 -> float32
val min : float32 -> float32 -> float32
val max : float32 -> float32 -> float32
val copy_sign : float32 -> float32 -> float32
val eq : float32 -> float32 -> vbool
val ne : float32 -> float32 -> vbool
val lt : float32 -> float32 -> vbool
val gt : float32 -> float32 -> vbool
val le : float32 -> float32 -> vbool
val ge : float32 -> float32 -> vbool
val convert_i32_s : int32 -> float32
val convert_i32_u : int32 -> float32
val convert_i64_s : int64 -> float32
val convert_i64_u : int64 -> float32
val of_bits : int32 -> float32
val to_bits : float32 -> int32
val demote_f64 : float64 -> float32
val reinterpret_i32 : int32 -> float32
diff --git a/api/owi/Owi/V/F64/index.html b/api/owi/Owi/V/F64/index.html deleted file mode 100644 index ca622047b..000000000 --- a/api/owi/Owi/V/F64/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -F64 (owi.Owi.V.F64)

Module V.F64

include Value_intf.Fop - with type num := float64 - and type vbool := vbool - and type int32 := int32 - and type int64 := int64 - and type same_size_int := int64
val zero : float64
val abs : float64 -> float64
val neg : float64 -> float64
val sqrt : float64 -> float64
val ceil : float64 -> float64
val floor : float64 -> float64
val trunc : float64 -> float64
val nearest : float64 -> float64
val add : float64 -> float64 -> float64
val sub : float64 -> float64 -> float64
val mul : float64 -> float64 -> float64
val div : float64 -> float64 -> float64
val min : float64 -> float64 -> float64
val max : float64 -> float64 -> float64
val copy_sign : float64 -> float64 -> float64
val eq : float64 -> float64 -> vbool
val ne : float64 -> float64 -> vbool
val lt : float64 -> float64 -> vbool
val gt : float64 -> float64 -> vbool
val le : float64 -> float64 -> vbool
val ge : float64 -> float64 -> vbool
val convert_i32_s : int32 -> float64
val convert_i32_u : int32 -> float64
val convert_i64_s : int64 -> float64
val convert_i64_u : int64 -> float64
val of_bits : int64 -> float64
val to_bits : float64 -> int64
val promote_f32 : float32 -> float64
val reinterpret_i64 : int64 -> float64
diff --git a/api/owi/Owi/V/I32/index.html b/api/owi/Owi/V/I32/index.html deleted file mode 100644 index 3a667df9b..000000000 --- a/api/owi/Owi/V/I32/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -I32 (owi.Owi.V.I32)

Module V.I32

include Value_intf.Iop - with type num := int32 - and type vbool := vbool - and type const := Int32.t - and type float32 := float32 - and type float64 := float64
val zero : int32
val clz : int32 -> int32
val ctz : int32 -> int32
val popcnt : int32 -> int32
val add : int32 -> int32 -> int32
val sub : int32 -> int32 -> int32
val mul : int32 -> int32 -> int32
val div : int32 -> int32 -> int32
val unsigned_div : int32 -> int32 -> int32
val rem : int32 -> int32 -> int32
val unsigned_rem : int32 -> int32 -> int32
val logand : int32 -> int32 -> int32
val logor : int32 -> int32 -> int32
val logxor : int32 -> int32 -> int32
val shl : int32 -> int32 -> int32
val shr_s : int32 -> int32 -> int32
val shr_u : int32 -> int32 -> int32
val rotl : int32 -> int32 -> int32
val rotr : int32 -> int32 -> int32
val eq_const : int32 -> Int32.t -> vbool
val eq : int32 -> int32 -> vbool
val ne : int32 -> int32 -> vbool
val lt : int32 -> int32 -> vbool
val gt : int32 -> int32 -> vbool
val lt_u : int32 -> int32 -> vbool
val gt_u : int32 -> int32 -> vbool
val le : int32 -> int32 -> vbool
val ge : int32 -> int32 -> vbool
val le_u : int32 -> int32 -> vbool
val ge_u : int32 -> int32 -> vbool
val trunc_f32_s : float32 -> int32
val trunc_f32_u : float32 -> int32
val trunc_f64_s : float64 -> int32
val trunc_f64_u : float64 -> int32
val trunc_sat_f32_s : float32 -> int32
val trunc_sat_f32_u : float32 -> int32
val trunc_sat_f64_s : float64 -> int32
val trunc_sat_f64_u : float64 -> int32
val extend_s : int -> int32 -> int32
val to_bool : int32 -> vbool
val reinterpret_f32 : float32 -> int32
val wrap_i64 : int64 -> int32
diff --git a/api/owi/Owi/V/I64/index.html b/api/owi/Owi/V/I64/index.html deleted file mode 100644 index 09de215c9..000000000 --- a/api/owi/Owi/V/I64/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -I64 (owi.Owi.V.I64)

Module V.I64

include Value_intf.Iop - with type num := int64 - and type vbool := vbool - and type const := Int64.t - and type float32 := float32 - and type float64 := float64
val zero : int64
val clz : int64 -> int64
val ctz : int64 -> int64
val popcnt : int64 -> int64
val add : int64 -> int64 -> int64
val sub : int64 -> int64 -> int64
val mul : int64 -> int64 -> int64
val div : int64 -> int64 -> int64
val unsigned_div : int64 -> int64 -> int64
val rem : int64 -> int64 -> int64
val unsigned_rem : int64 -> int64 -> int64
val logand : int64 -> int64 -> int64
val logor : int64 -> int64 -> int64
val logxor : int64 -> int64 -> int64
val shl : int64 -> int64 -> int64
val shr_s : int64 -> int64 -> int64
val shr_u : int64 -> int64 -> int64
val rotl : int64 -> int64 -> int64
val rotr : int64 -> int64 -> int64
val eq_const : int64 -> Int64.t -> vbool
val eq : int64 -> int64 -> vbool
val ne : int64 -> int64 -> vbool
val lt : int64 -> int64 -> vbool
val gt : int64 -> int64 -> vbool
val lt_u : int64 -> int64 -> vbool
val gt_u : int64 -> int64 -> vbool
val le : int64 -> int64 -> vbool
val ge : int64 -> int64 -> vbool
val le_u : int64 -> int64 -> vbool
val ge_u : int64 -> int64 -> vbool
val trunc_f32_s : float32 -> int64
val trunc_f32_u : float32 -> int64
val trunc_f64_s : float64 -> int64
val trunc_f64_u : float64 -> int64
val trunc_sat_f32_s : float32 -> int64
val trunc_sat_f32_u : float32 -> int64
val trunc_sat_f64_s : float64 -> int64
val trunc_sat_f64_u : float64 -> int64
val extend_s : int -> int64 -> int64
val of_int32 : int32 -> int64
val to_int32 : int64 -> int32
val reinterpret_f64 : float64 -> int64
val extend_i32_s : int32 -> int64
val extend_i32_u : int32 -> int64
diff --git a/api/owi/Owi/V/Ref/index.html b/api/owi/Owi/V/Ref/index.html deleted file mode 100644 index 849509a23..000000000 --- a/api/owi/Owi/V/Ref/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Ref (owi.Owi.V.Ref)

Module V.Ref

val get_externref : ref_value -> 'a Prelude.Type.Id.t -> 'a Value_intf.get_ref
diff --git a/api/owi/Owi/V/index.html b/api/owi/Owi/V/index.html deleted file mode 100644 index 3ff539da6..000000000 --- a/api/owi/Owi/V/index.html +++ /dev/null @@ -1,9 +0,0 @@ - -V (owi.Owi.V)

Module Owi.V

include Value_intf.T - with type vbool = Prelude.Bool.t - and type int32 = Int32.t - and type int64 = Int64.t - and type float32 = Float32.t - and type float64 = Float64.t - and type ref_value = Concrete_value.ref_value - and type t = Concrete_value.t
type vbool = Prelude.Bool.t
type int32 = Int32.t
val pp_int32 : Prelude.Fmt.formatter -> int32 -> unit
type int64 = Int64.t
val pp_int64 : Prelude.Fmt.formatter -> int64 -> unit
type float32 = Float32.t
val pp_float32 : Prelude.Fmt.formatter -> float32 -> unit
type float64 = Float64.t
val pp_float64 : Prelude.Fmt.formatter -> float64 -> unit
type ref_value = Concrete_value.ref_value
val pp_ref_value : Prelude.Fmt.formatter -> ref_value -> unit
type t = Concrete_value.t =
  1. | I32 of int32
  2. | I64 of int64
  3. | F32 of float32
  4. | F64 of float64
  5. | Ref of ref_value
val pp : Prelude.Fmt.formatter -> t -> unit
val const_i32 : Int32.t -> int32
val const_i64 : Int64.t -> int64
val const_f32 : Float32.t -> float32
val const_f64 : Float64.t -> float64
val ref_null : Types.binary Types.heap_type -> t
val ref_func : Func_intf.t -> t
val ref_externref : 'a Prelude.Type.Id.t -> 'a -> t
val ref_is_null : ref_value -> vbool
module Ref : sig ... end
module Bool : sig ... end
module F32 : sig ... end
module F64 : sig ... end
module I32 : sig ... end
module I64 : sig ... end
diff --git a/api/owi/Owi/Value_intf/index.html b/api/owi/Owi/Value_intf/index.html deleted file mode 100644 index fa5c46390..000000000 --- a/api/owi/Owi/Value_intf/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Value_intf (owi.Owi.Value_intf)

Module Owi.Value_intf

module type Iop = sig ... end
module type Fop = sig ... end
type 'a get_ref =
  1. | Null
  2. | Ref_value of 'a
  3. | Type_mismatch
module type T = sig ... end
diff --git a/api/owi/Owi/Value_intf/module-type-Fop/index.html b/api/owi/Owi/Value_intf/module-type-Fop/index.html deleted file mode 100644 index 85fb4346a..000000000 --- a/api/owi/Owi/Value_intf/module-type-Fop/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Fop (owi.Owi.Value_intf.Fop)

Module type Value_intf.Fop

type num
type vbool
type int32
type int64
type same_size_int
val zero : num
val abs : num -> num
val neg : num -> num
val sqrt : num -> num
val ceil : num -> num
val floor : num -> num
val trunc : num -> num
val nearest : num -> num
val add : num -> num -> num
val sub : num -> num -> num
val mul : num -> num -> num
val div : num -> num -> num
val min : num -> num -> num
val max : num -> num -> num
val copy_sign : num -> num -> num
val eq : num -> num -> vbool
val ne : num -> num -> vbool
val lt : num -> num -> vbool
val gt : num -> num -> vbool
val le : num -> num -> vbool
val ge : num -> num -> vbool
val convert_i32_s : int32 -> num
val convert_i32_u : int32 -> num
val convert_i64_s : int64 -> num
val convert_i64_u : int64 -> num
val of_bits : same_size_int -> num
val to_bits : num -> same_size_int
diff --git a/api/owi/Owi/Value_intf/module-type-Iop/index.html b/api/owi/Owi/Value_intf/module-type-Iop/index.html deleted file mode 100644 index 7a96e2f14..000000000 --- a/api/owi/Owi/Value_intf/module-type-Iop/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Iop (owi.Owi.Value_intf.Iop)

Module type Value_intf.Iop

type num
type const
type vbool
type float32
type float64
val zero : num
val clz : num -> num
val ctz : num -> num
val popcnt : num -> num
val add : num -> num -> num
val sub : num -> num -> num
val mul : num -> num -> num
val div : num -> num -> num
val unsigned_div : num -> num -> num
val rem : num -> num -> num
val unsigned_rem : num -> num -> num
val logand : num -> num -> num
val logor : num -> num -> num
val logxor : num -> num -> num
val shl : num -> num -> num
val shr_s : num -> num -> num
val shr_u : num -> num -> num
val rotl : num -> num -> num
val rotr : num -> num -> num
val eq_const : num -> const -> vbool
val eq : num -> num -> vbool
val ne : num -> num -> vbool
val lt : num -> num -> vbool
val gt : num -> num -> vbool
val lt_u : num -> num -> vbool
val gt_u : num -> num -> vbool
val le : num -> num -> vbool
val ge : num -> num -> vbool
val le_u : num -> num -> vbool
val ge_u : num -> num -> vbool
val trunc_f32_s : float32 -> num
val trunc_f32_u : float32 -> num
val trunc_f64_s : float64 -> num
val trunc_f64_u : float64 -> num
val trunc_sat_f32_s : float32 -> num
val trunc_sat_f32_u : float32 -> num
val trunc_sat_f64_s : float64 -> num
val trunc_sat_f64_u : float64 -> num
val extend_s : int -> num -> num
diff --git a/api/owi/Owi/Value_intf/module-type-T/Bool/index.html b/api/owi/Owi/Value_intf/module-type-T/Bool/index.html deleted file mode 100644 index 6a1d61fb6..000000000 --- a/api/owi/Owi/Value_intf/module-type-T/Bool/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Bool (owi.Owi.Value_intf.T.Bool)

Module T.Bool

val const : bool -> vbool
val not : vbool -> vbool
val or_ : vbool -> vbool -> vbool
val and_ : vbool -> vbool -> vbool
val int32 : vbool -> int32
val pp : Prelude.Fmt.formatter -> vbool -> unit
diff --git a/api/owi/Owi/Value_intf/module-type-T/F32/index.html b/api/owi/Owi/Value_intf/module-type-T/F32/index.html deleted file mode 100644 index 6acafde13..000000000 --- a/api/owi/Owi/Value_intf/module-type-T/F32/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -F32 (owi.Owi.Value_intf.T.F32)

Module T.F32

include Fop - with type num := float32 - and type vbool := vbool - and type int32 := int32 - and type int64 := int64 - and type same_size_int := int32
val zero : float32
val abs : float32 -> float32
val neg : float32 -> float32
val sqrt : float32 -> float32
val ceil : float32 -> float32
val floor : float32 -> float32
val trunc : float32 -> float32
val nearest : float32 -> float32
val add : float32 -> float32 -> float32
val sub : float32 -> float32 -> float32
val mul : float32 -> float32 -> float32
val div : float32 -> float32 -> float32
val min : float32 -> float32 -> float32
val max : float32 -> float32 -> float32
val copy_sign : float32 -> float32 -> float32
val eq : float32 -> float32 -> vbool
val ne : float32 -> float32 -> vbool
val lt : float32 -> float32 -> vbool
val gt : float32 -> float32 -> vbool
val le : float32 -> float32 -> vbool
val ge : float32 -> float32 -> vbool
val convert_i32_s : int32 -> float32
val convert_i32_u : int32 -> float32
val convert_i64_s : int64 -> float32
val convert_i64_u : int64 -> float32
val of_bits : int32 -> float32
val to_bits : float32 -> int32
val demote_f64 : float64 -> float32
val reinterpret_i32 : int32 -> float32
diff --git a/api/owi/Owi/Value_intf/module-type-T/F64/index.html b/api/owi/Owi/Value_intf/module-type-T/F64/index.html deleted file mode 100644 index 23f888d93..000000000 --- a/api/owi/Owi/Value_intf/module-type-T/F64/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -F64 (owi.Owi.Value_intf.T.F64)

Module T.F64

include Fop - with type num := float64 - and type vbool := vbool - and type int32 := int32 - and type int64 := int64 - and type same_size_int := int64
val zero : float64
val abs : float64 -> float64
val neg : float64 -> float64
val sqrt : float64 -> float64
val ceil : float64 -> float64
val floor : float64 -> float64
val trunc : float64 -> float64
val nearest : float64 -> float64
val add : float64 -> float64 -> float64
val sub : float64 -> float64 -> float64
val mul : float64 -> float64 -> float64
val div : float64 -> float64 -> float64
val min : float64 -> float64 -> float64
val max : float64 -> float64 -> float64
val copy_sign : float64 -> float64 -> float64
val eq : float64 -> float64 -> vbool
val ne : float64 -> float64 -> vbool
val lt : float64 -> float64 -> vbool
val gt : float64 -> float64 -> vbool
val le : float64 -> float64 -> vbool
val ge : float64 -> float64 -> vbool
val convert_i32_s : int32 -> float64
val convert_i32_u : int32 -> float64
val convert_i64_s : int64 -> float64
val convert_i64_u : int64 -> float64
val of_bits : int64 -> float64
val to_bits : float64 -> int64
val promote_f32 : float32 -> float64
val reinterpret_i64 : int64 -> float64
diff --git a/api/owi/Owi/Value_intf/module-type-T/I32/index.html b/api/owi/Owi/Value_intf/module-type-T/I32/index.html deleted file mode 100644 index aee7e512a..000000000 --- a/api/owi/Owi/Value_intf/module-type-T/I32/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -I32 (owi.Owi.Value_intf.T.I32)

Module T.I32

include Iop - with type num := int32 - and type vbool := vbool - and type const := Int32.t - and type float32 := float32 - and type float64 := float64
val zero : int32
val clz : int32 -> int32
val ctz : int32 -> int32
val popcnt : int32 -> int32
val add : int32 -> int32 -> int32
val sub : int32 -> int32 -> int32
val mul : int32 -> int32 -> int32
val div : int32 -> int32 -> int32
val unsigned_div : int32 -> int32 -> int32
val rem : int32 -> int32 -> int32
val unsigned_rem : int32 -> int32 -> int32
val logand : int32 -> int32 -> int32
val logor : int32 -> int32 -> int32
val logxor : int32 -> int32 -> int32
val shl : int32 -> int32 -> int32
val shr_s : int32 -> int32 -> int32
val shr_u : int32 -> int32 -> int32
val rotl : int32 -> int32 -> int32
val rotr : int32 -> int32 -> int32
val eq_const : int32 -> Int32.t -> vbool
val eq : int32 -> int32 -> vbool
val ne : int32 -> int32 -> vbool
val lt : int32 -> int32 -> vbool
val gt : int32 -> int32 -> vbool
val lt_u : int32 -> int32 -> vbool
val gt_u : int32 -> int32 -> vbool
val le : int32 -> int32 -> vbool
val ge : int32 -> int32 -> vbool
val le_u : int32 -> int32 -> vbool
val ge_u : int32 -> int32 -> vbool
val trunc_f32_s : float32 -> int32
val trunc_f32_u : float32 -> int32
val trunc_f64_s : float64 -> int32
val trunc_f64_u : float64 -> int32
val trunc_sat_f32_s : float32 -> int32
val trunc_sat_f32_u : float32 -> int32
val trunc_sat_f64_s : float64 -> int32
val trunc_sat_f64_u : float64 -> int32
val extend_s : int -> int32 -> int32
val to_bool : int32 -> vbool
val reinterpret_f32 : float32 -> int32
val wrap_i64 : int64 -> int32
diff --git a/api/owi/Owi/Value_intf/module-type-T/I64/index.html b/api/owi/Owi/Value_intf/module-type-T/I64/index.html deleted file mode 100644 index 423b7060b..000000000 --- a/api/owi/Owi/Value_intf/module-type-T/I64/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -I64 (owi.Owi.Value_intf.T.I64)

Module T.I64

include Iop - with type num := int64 - and type vbool := vbool - and type const := Int64.t - and type float32 := float32 - and type float64 := float64
val zero : int64
val clz : int64 -> int64
val ctz : int64 -> int64
val popcnt : int64 -> int64
val add : int64 -> int64 -> int64
val sub : int64 -> int64 -> int64
val mul : int64 -> int64 -> int64
val div : int64 -> int64 -> int64
val unsigned_div : int64 -> int64 -> int64
val rem : int64 -> int64 -> int64
val unsigned_rem : int64 -> int64 -> int64
val logand : int64 -> int64 -> int64
val logor : int64 -> int64 -> int64
val logxor : int64 -> int64 -> int64
val shl : int64 -> int64 -> int64
val shr_s : int64 -> int64 -> int64
val shr_u : int64 -> int64 -> int64
val rotl : int64 -> int64 -> int64
val rotr : int64 -> int64 -> int64
val eq_const : int64 -> Int64.t -> vbool
val eq : int64 -> int64 -> vbool
val ne : int64 -> int64 -> vbool
val lt : int64 -> int64 -> vbool
val gt : int64 -> int64 -> vbool
val lt_u : int64 -> int64 -> vbool
val gt_u : int64 -> int64 -> vbool
val le : int64 -> int64 -> vbool
val ge : int64 -> int64 -> vbool
val le_u : int64 -> int64 -> vbool
val ge_u : int64 -> int64 -> vbool
val trunc_f32_s : float32 -> int64
val trunc_f32_u : float32 -> int64
val trunc_f64_s : float64 -> int64
val trunc_f64_u : float64 -> int64
val trunc_sat_f32_s : float32 -> int64
val trunc_sat_f32_u : float32 -> int64
val trunc_sat_f64_s : float64 -> int64
val trunc_sat_f64_u : float64 -> int64
val extend_s : int -> int64 -> int64
val of_int32 : int32 -> int64
val to_int32 : int64 -> int32
val reinterpret_f64 : float64 -> int64
val extend_i32_s : int32 -> int64
val extend_i32_u : int32 -> int64
diff --git a/api/owi/Owi/Value_intf/module-type-T/Ref/index.html b/api/owi/Owi/Value_intf/module-type-T/Ref/index.html deleted file mode 100644 index 4a1189cf8..000000000 --- a/api/owi/Owi/Value_intf/module-type-T/Ref/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Ref (owi.Owi.Value_intf.T.Ref)

Module T.Ref

val get_func : ref_value -> Func_intf.t get_ref
val get_externref : ref_value -> 'a Prelude.Type.Id.t -> 'a get_ref
diff --git a/api/owi/Owi/Value_intf/module-type-T/index.html b/api/owi/Owi/Value_intf/module-type-T/index.html deleted file mode 100644 index 3ac52e139..000000000 --- a/api/owi/Owi/Value_intf/module-type-T/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -T (owi.Owi.Value_intf.T)

Module type Value_intf.T

type vbool
type int32
val pp_int32 : Prelude.Fmt.formatter -> int32 -> unit
type int64
val pp_int64 : Prelude.Fmt.formatter -> int64 -> unit
type float32
val pp_float32 : Prelude.Fmt.formatter -> float32 -> unit
type float64
val pp_float64 : Prelude.Fmt.formatter -> float64 -> unit
type ref_value
val pp_ref_value : Prelude.Fmt.formatter -> ref_value -> unit
type t =
  1. | I32 of int32
  2. | I64 of int64
  3. | F32 of float32
  4. | F64 of float64
  5. | Ref of ref_value
val pp : Prelude.Fmt.formatter -> t -> unit
val const_i32 : Int32.t -> int32
val const_i64 : Int64.t -> int64
val const_f32 : Float32.t -> float32
val const_f64 : Float64.t -> float64
val ref_null : Types.binary Types.heap_type -> t
val ref_func : Func_intf.t -> t
val ref_externref : 'a Prelude.Type.Id.t -> 'a -> t
val ref_is_null : ref_value -> vbool
module Ref : sig ... end
module Bool : sig ... end
module F32 : sig ... end
module F64 : sig ... end
module I32 : sig ... end
module I64 : sig ... end
diff --git a/api/owi/Owi/Wasm_ffi_intf/index.html b/api/owi/Owi/Wasm_ffi_intf/index.html deleted file mode 100644 index b227de2f2..000000000 --- a/api/owi/Owi/Wasm_ffi_intf/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Wasm_ffi_intf (owi.Owi.Wasm_ffi_intf)

Module Owi.Wasm_ffi_intf

module type S0 = sig ... end
module type S = sig ... end
diff --git a/api/owi/Owi/Wasm_ffi_intf/module-type-S/index.html b/api/owi/Owi/Wasm_ffi_intf/module-type-S/index.html deleted file mode 100644 index 4aaa8a7d6..000000000 --- a/api/owi/Owi/Wasm_ffi_intf/module-type-S/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -S (owi.Owi.Wasm_ffi_intf.S)

Module type Wasm_ffi_intf.S

type extern_func
val symbolic_extern_module : extern_func Link.extern_module
val summaries_extern_module : extern_func Link.extern_module
diff --git a/api/owi/Owi/Wasm_ffi_intf/module-type-S0/Value/index.html b/api/owi/Owi/Wasm_ffi_intf/module-type-S0/Value/index.html deleted file mode 100644 index 0dc65278c..000000000 --- a/api/owi/Owi/Wasm_ffi_intf/module-type-S0/Value/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Value (owi.Owi.Wasm_ffi_intf.S0.Value)

Module S0.Value

type int32
type int64
type float32
type float64
diff --git a/api/owi/Owi/Wasm_ffi_intf/module-type-S0/index.html b/api/owi/Owi/Wasm_ffi_intf/module-type-S0/index.html deleted file mode 100644 index e60f05920..000000000 --- a/api/owi/Owi/Wasm_ffi_intf/module-type-S0/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -S0 (owi.Owi.Wasm_ffi_intf.S0)

Module type Wasm_ffi_intf.S0

type 'a t
type memory
module Value : sig ... end
val symbol_i8 : unit -> Value.int32 t
val symbol_char : unit -> Value.int32 t
val symbol_i32 : unit -> Value.int32 t
val symbol_i64 : unit -> Value.int64 t
val symbol_f32 : unit -> Value.float32 t
val symbol_f64 : unit -> Value.float64 t
val assume_i32 : Value.int32 -> unit t
val assume_positive_i32 : Value.int32 -> unit t
val assert_i32 : Value.int32 -> unit t
val abort : unit -> unit t
val free : memory -> Value.int32 -> unit t
val exit : Value.int32 -> unit t
diff --git a/api/owi/Owi/Wq/index.html b/api/owi/Owi/Wq/index.html deleted file mode 100644 index 73b7e5633..000000000 --- a/api/owi/Owi/Wq/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Wq (owi.Owi.Wq)

Module Owi.Wq

Synchronized FIFO queues

type !'a t
val make : unit -> 'a t

Create a new queue

val push : 'a -> 'a t -> unit

Add a new element to the queue

val pop : 'a t -> bool -> 'a option

Get an element from the queue. The boolean shall be true to atomically start a new pledge (cf make_pledge) while popping.

val make_pledge : 'a t -> unit

Make a new pledge, ie indicate that new elements may be pushed to the queue and that calls to pop should block waitting for them.

val end_pledge : 'a t -> unit

End one pledge.

val fail : 'a t -> unit

Mark the queue as failed: all threads trying to pop from it will get no element.

val read_as_seq : 'a t -> finalizer:(unit -> unit) -> 'a Prelude.Seq.t

Pop all elements from the queue in a lazy Seq.t,

val work_while : ('a -> ('a -> unit) -> unit) -> 'a t -> unit
diff --git a/api/owi/Owi/Wutf8/index.html b/api/owi/Owi/Wutf8/index.html deleted file mode 100644 index 6a878c8b6..000000000 --- a/api/owi/Owi/Wutf8/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Wutf8 (owi.Owi.Wutf8)

Module Owi.Wutf8

Utility functions to work with utf8.

val check_utf8 : string -> unit Result.t
val encode : int list -> string
diff --git a/coverage/index.html b/coverage/index.html index 01846a6bb..720cea809 100644 --- a/coverage/index.html +++ b/coverage/index.html @@ -3,13 +3,13 @@ Coverage report - +
@@ -23,9 +23,9 @@

79.90%

- + - 51% (291 / 565) + 52% (296 / 565) src/ast/binary_encoder.ml @@ -502,7 +502,7 @@

79.90%

- 71% (743 / 1042) + 71% (746 / 1042) src/parser/binary_parser.ml @@ -736,7 +736,7 @@

79.90%

- 100% (82 / 82) + 100% (99 / 99) src/text_to_binary/grouped.ml @@ -745,7 +745,7 @@

79.90%

- 88% (296 / 334) + 88% (279 / 317) src/text_to_binary/rewrite.ml diff --git a/coverage/src/ast/binary_encoder.ml.html b/coverage/src/ast/binary_encoder.ml.html index 0d808742c..22e8df4f1 100644 --- a/coverage/src/ast/binary_encoder.ml.html +++ b/coverage/src/ast/binary_encoder.ml.html @@ -3,7 +3,7 @@ binary_encoder.ml — Coverage report - + @@ -15,7 +15,7 @@

src/ast/binary_encoder.ml

-

51.50%

+

52.39%

diff --git a/coverage/src/ast/binary_to_text.ml.html b/coverage/src/ast/binary_to_text.ml.html index 2595ad7aa..9738c97f2 100644 --- a/coverage/src/ast/binary_to_text.ml.html +++ b/coverage/src/ast/binary_to_text.ml.html @@ -578,8 +578,8 @@

74.47%

(nullable, convert_heap_type heap_type) let convert_val_type (t : binary val_type) : text val_type = - match t with - | Num_type _ as t -> t + match t with + | Num_type _ as t -> t | Ref_type t -> Ref_type (convert_ref_type t) let convert_global_type (t : binary global_type) : text global_type = @@ -587,26 +587,26 @@

74.47%

(mut, convert_val_type vt) let convert_param (p : binary param) : text param = - let id, vt = p in - (id, convert_val_type vt) + let id, vt = p in + (id, convert_val_type vt) let convert_param_type (pt : binary param_type) : text param_type = - List.map convert_param pt + List.map convert_param pt let convert_result_type (rt : binary result_type) : text result_type = - List.map convert_val_type rt + List.map convert_val_type rt let convert_func_type ((pt, rt) : binary func_type) : text func_type = - (convert_param_type pt, convert_result_type rt) + (convert_param_type pt, convert_result_type rt) let convert_block_type (bt : binary block_type) : text block_type = - match bt with - | Bt_raw (opt, ft) -> + match bt with + | Bt_raw (opt, ft) -> let opt = - match opt with None -> None | Some i -> Some (convert_indice i) + match opt with None -> None | Some i -> Some (convert_indice i) in let ft = convert_func_type ft in - Bt_raw (opt, ft) + Bt_raw (opt, ft) let convert_storage_type (t : binary storage_type) : text storage_type = match t with @@ -624,24 +624,24 @@

74.47%

List.map convert_struct_field t let convert_str_type (str_t : binary str_type) : text str_type = - match str_t with + match str_t with | Def_struct_t t -> Def_struct_t (convert_struct_type t) | Def_array_t t -> Def_array_t (convert_field_type t) - | Def_func_t t -> Def_func_t (convert_func_type t) + | Def_func_t t -> Def_func_t (convert_func_type t) let convert_sub_type ((final, indices, str_type) : binary sub_type) : text sub_type = - (final, List.map convert_indice indices, convert_str_type str_type) + (final, List.map convert_indice indices, convert_str_type str_type) let convert_type_def ((name, sub_type) : binary type_def) : text type_def = - (name, convert_sub_type sub_type) + (name, convert_sub_type sub_type) let convert_rec_type (t : binary rec_type) : text rec_type = - List.map convert_type_def t + List.map convert_type_def t let convert_expr (e : binary expr) : text expr = (* TODO: proper conversion ! *) - Obj.magic e + Obj.magic e let convert_table_type (t : binary table_type) : text table_type = let limits, t = t in @@ -680,15 +680,15 @@

74.47%

{ id; init; mode } let from_types types : Text.module_field list = - Array.map + Array.map (fun (t : Types.binary Types.rec_type) -> - let t = convert_rec_type t in - MType t ) + let t = convert_rec_type t in + MType t ) types - |> Array.to_list + |> Array.to_list let from_global global : Text.module_field list = - Array.map + Array.map (function | Runtime.Local (g : Binary.global) -> let typ = convert_global_type g.typ in @@ -699,10 +699,10 @@

74.47%

let desc = Import_global (assigned_name, convert_global_type desc) in MImport { modul; name; desc } ) global - |> Array.to_list + |> Array.to_list let from_table table : Text.module_field list = - Array.map + Array.map (function | Runtime.Local t -> let t = convert_table t in @@ -711,51 +711,51 @@

74.47%

let desc = Import_table (assigned_name, convert_table_type desc) in MImport { modul; name; desc } ) table - |> Array.to_list + |> Array.to_list let from_mem mem : Text.module_field list = - Array.map + Array.map (function | Runtime.Local mem -> MMem mem | Imported { modul; name; assigned_name; desc } -> let desc = Import_mem (assigned_name, desc) in MImport { modul; name; desc } ) mem - |> Array.to_list + |> Array.to_list let from_func func : Text.module_field list = - Array.map + Array.map (function - | Runtime.Local func -> + | Runtime.Local func -> let type_f = convert_block_type func.type_f in - let locals = convert_param_type func.locals in - let body = convert_expr func.body in - let id = func.id in + let locals = convert_param_type func.locals in + let body = convert_expr func.body in + let id = func.id in MFunc { type_f; locals; body; id } | Imported { modul; name; assigned_name; desc } -> let desc = Import_func (assigned_name, convert_block_type desc) in MImport { modul; name; desc } ) func - |> Array.to_list + |> Array.to_list let from_elem elem : Text.module_field list = - Array.map + Array.map (fun (elem : Binary.elem) -> let elem = convert_elem elem in MElem elem ) elem - |> Array.to_list + |> Array.to_list let from_data data : Text.module_field list = - Array.map + Array.map (fun (data : Binary.data) -> let data = convert_data data in MData data ) data - |> Array.to_list + |> Array.to_list let from_exports (exports : Binary.exports) : Text.module_field list = - let global = + let global = List.map (fun { name; id } -> let id = Some (Raw id) in @@ -763,7 +763,7 @@

74.47%

exports.global in - let mem = + let mem = List.map (fun { name; id } -> let id = Some (Raw id) in @@ -771,7 +771,7 @@

74.47%

exports.mem in - let table = + let table = List.map (fun { name; id } -> let id = Some (Raw id) in @@ -779,7 +779,7 @@

74.47%

exports.table in - let func = + let func = List.map (fun { name; id } -> let id = Some (Raw id) in @@ -787,25 +787,25 @@

74.47%

exports.func in - global @ mem @ table @ func + global @ mem @ table @ func -let from_start = function None -> [] | Some n -> [ MStart (Raw n) ] +let from_start = function None -> [] | Some n -> [ MStart (Raw n) ] let modul { Binary.id; types; global; table; mem; func; elem; data; start; exports } = - let fields = - from_types types @ from_global global @ from_table table @ from_mem mem - @ from_func func @ from_elem elem @ from_data data @ from_exports exports - @ from_start start + let fields = + from_types types @ from_global global @ from_table table @ from_mem mem + @ from_func func @ from_elem elem @ from_data data @ from_exports exports + @ from_start start in let imported, locals = List.partition_map (function | MImport _ as import -> Either.Left import - | local -> Either.Right local ) + | local -> Either.Right local ) fields in - let fields = imported @ locals in + let fields = imported @ locals in { Text.id; fields } diff --git a/coverage/src/ast/binary_types.ml.html b/coverage/src/ast/binary_types.ml.html index 92c2064f8..fe64e8e8b 100644 --- a/coverage/src/ast/binary_types.ml.html +++ b/coverage/src/ast/binary_types.ml.html @@ -202,7 +202,7 @@

77.05%

let convert_heap_type tbl = function | ( Any_ht | None_ht | Eq_ht | I31_ht | Struct_ht | Array_ht | Func_ht - | No_func_ht | Extern_ht | No_extern_ht + | No_func_ht | Extern_ht | No_extern_ht | Def_ht (Raw _) ) as t -> Ok t | Def_ht (Text i) -> begin @@ -216,27 +216,27 @@

77.05%

end let convert_ref_type tbl (null, heap_type) = - let+ heap_type = convert_heap_type tbl heap_type in - (null, heap_type) + let+ heap_type = convert_heap_type tbl heap_type in + (null, heap_type) -let convert_val_type tbl : text val_type -> binary val_type Result.t = function - | Num_type _t as t -> Ok t - | Ref_type rt -> - let+ rt = convert_ref_type tbl rt in - Ref_type rt +let convert_val_type tbl : text val_type -> binary val_type Result.t = function + | Num_type _t as t -> Ok t + | Ref_type rt -> + let+ rt = convert_ref_type tbl rt in + Ref_type rt let convert_param tbl (n, t) = - let+ t = convert_val_type tbl t in - (n, t) + let+ t = convert_val_type tbl t in + (n, t) -let convert_pt tbl l = list_map (convert_param tbl) l +let convert_pt tbl l = list_map (convert_param tbl) l -let convert_rt tbl l = list_map (convert_val_type tbl) l +let convert_rt tbl l = list_map (convert_val_type tbl) l let convert_func_type tbl (pt, rt) = - let* pt = convert_pt tbl pt in - let+ rt = convert_rt tbl rt in - (pt, rt) + let* pt = convert_pt tbl pt in + let+ rt = convert_rt tbl rt in + (pt, rt) let convert_storage_type tbl = function | Val_storage_t val_type -> @@ -255,9 +255,9 @@

77.05%

let convert_struct_type tbl fields = list_map (convert_struct_field tbl) fields let convert_str tbl = function - | Def_func_t func_t -> - let+ func_t = convert_func_type tbl func_t in - Def_func_t func_t + | Def_func_t func_t -> + let+ func_t = convert_func_type tbl func_t in + Def_func_t func_t | Def_array_t field_t -> let+ field_t = convert_field_type tbl field_t in Def_array_t field_t diff --git a/coverage/src/ast/compile.ml.html b/coverage/src/ast/compile.ml.html index be2551d16..bfc18078d 100644 --- a/coverage/src/ast/compile.ml.html +++ b/coverage/src/ast/compile.ml.html @@ -279,30 +279,30 @@

80.77%

module Text = struct let until_text_validate ~unsafe m = - if unsafe then Ok m else Text_validate.modul m + if unsafe then Ok m else Text_validate.modul m let until_group ~unsafe m = - let* m = until_text_validate ~unsafe m in - Grouped.of_symbolic m + let* m = until_text_validate ~unsafe m in + Grouped.of_symbolic m let until_assign ~unsafe m = - let* m = until_group ~unsafe m in - Assigned.of_grouped m + let* m = until_group ~unsafe m in + Assigned.of_grouped m let until_binary ~unsafe m = - let* m = until_assign ~unsafe m in - Rewrite.modul m + let* m = until_assign ~unsafe m in + Rewrite.modul m let until_binary_validate ~unsafe m = - let* m = until_binary ~unsafe m in - if unsafe then Ok m + let* m = until_binary ~unsafe m in + if unsafe then Ok m else - let+ () = Binary_validate.modul m in - m + let+ () = Binary_validate.modul m in + m let until_optimize ~unsafe ~optimize m = - let+ m = until_binary_validate ~unsafe m in - if optimize then Optimize.modul m else m + let+ m = until_binary_validate ~unsafe m in + if optimize then Optimize.modul m else m let until_link ~unsafe ~optimize ~name link_state m = let* m = until_optimize ~unsafe ~optimize m in @@ -316,18 +316,18 @@

80.77%

module Binary = struct let until_binary_validate ~unsafe m = - if unsafe then Ok m + if unsafe then Ok m else - let+ () = Binary_validate.modul m in - m + let+ () = Binary_validate.modul m in + m let until_optimize ~unsafe ~optimize m = - let+ m = until_binary_validate ~unsafe m in - if optimize then Optimize.modul m else m + let+ m = until_binary_validate ~unsafe m in + if optimize then Optimize.modul m else m let until_link ~unsafe ~optimize ~name link_state m = - let* m = until_optimize ~unsafe ~optimize m in - Link.modul link_state ~name m + let* m = until_optimize ~unsafe ~optimize m in + Link.modul link_state ~name m let until_interpret ~unsafe ~optimize ~name link_state m = let* m, link_state = until_link ~unsafe ~optimize ~name link_state m in @@ -359,10 +359,10 @@

80.77%

module File = struct let until_binary_validate ~unsafe filename = - let* m = Parse.guess_from_file filename in - match m with + let* m = Parse.guess_from_file filename in + match m with | Kind.Wat m -> Text.until_binary_validate ~unsafe m - | Wasm m -> Binary.until_binary_validate ~unsafe m + | Wasm m -> Binary.until_binary_validate ~unsafe m | Wast _ | Ocaml _ -> assert false let until_optimize ~unsafe ~optimize filename = diff --git a/coverage/src/ast/text.ml.html b/coverage/src/ast/text.ml.html index 7d6c8fe8e..9d7146c80 100644 --- a/coverage/src/ast/text.ml.html +++ b/coverage/src/ast/text.ml.html @@ -451,11 +451,11 @@

65.45%

let symbolic v = Text v -let raw v = Raw v +let raw v = Raw v -let bt_ind i = Bt_ind i +let bt_ind i = Bt_ind i -let bt_raw i t = Bt_raw (i, t) +let bt_raw i t = Bt_raw (i, t) type global = { typ : text global_type @@ -525,14 +525,14 @@

65.45%

| MExport of text export let pp_module_field fmt = function - | MType t -> pp_rec_type fmt t + | MType t -> pp_rec_type fmt t | MGlobal g -> pp_global fmt g | MTable t -> pp_table fmt t | MMem m -> pp_mem fmt m - | MFunc f -> pp_func fmt f + | MFunc f -> pp_func fmt f | MElem e -> pp_elem fmt e | MData d -> pp_data fmt d - | MStart s -> pp_start fmt s + | MStart s -> pp_start fmt s | MImport i -> pp_import fmt i | MExport e -> pp_export fmt e @@ -542,8 +542,8 @@

65.45%

} let pp_modul fmt (m : modul) = - pf fmt "(module%a@\n @[<v>%a@]@\n)" pp_id_opt m.id - (list ~sep:pp_newline pp_module_field) + pf fmt "(module%a@\n @[<v>%a@]@\n)" pp_id_opt m.id + (list ~sep:pp_newline pp_module_field) m.fields type action = diff --git a/coverage/src/ast/types.ml.html b/coverage/src/ast/types.ml.html index e0dfda598..afacb08e4 100644 --- a/coverage/src/ast/types.ml.html +++ b/coverage/src/ast/types.ml.html @@ -2240,10 +2240,10 @@

47.34%

let pp_id fmt id = pf fmt "$%s" id -let pp_id_opt fmt = function None -> () | Some i -> pf fmt " %a" pp_id i +let pp_id_opt fmt = function None -> () | Some i -> pf fmt " %a" pp_id i -let pp_indice (type kind) fmt : kind indice -> unit = function - | Raw u -> int fmt u +let pp_indice (type kind) fmt : kind indice -> unit = function + | Raw u -> int fmt u | Text i -> pp_id fmt i let compare_indice id1 id2 = @@ -2255,7 +2255,7 @@

47.34%

let pp_indice_opt fmt = function None -> () | Some i -> pp_indice fmt i -let pp_indices fmt ids = list ~sep:sp pp_indice fmt ids +let pp_indices fmt ids = list ~sep:sp pp_indice fmt ids type nonrec num_type = | I32 @@ -2264,19 +2264,19 @@

47.34%

| F64 let pp_num_type fmt = function - | I32 -> pf fmt "i32" - | I64 -> pf fmt "i64" + | I32 -> pf fmt "i32" + | I64 -> pf fmt "i64" | F32 -> pf fmt "f32" | F64 -> pf fmt "f64" let num_type_eq t1 t2 = - match (t1, t2) with - | I32, I32 | I64, I64 | F32, F32 | F64, F64 -> true + match (t1, t2) with + | I32, I32 | I64, I64 | F32, F32 | F64, F64 -> true | _, _ -> false let compare_num_type t1 t2 = - let to_int = function I32 -> 0 | I64 -> 1 | F32 -> 2 | F64 -> 3 in - compare (to_int t1) (to_int t2) + let to_int = function I32 -> 0 | I64 -> 1 | F32 -> 2 | F64 -> 3 in + compare (to_int t1) (to_int t2) type nullable = | No_null @@ -2307,13 +2307,13 @@

47.34%

| S32 | S64 -let pp_nn fmt = function S32 -> pf fmt "32" | S64 -> pf fmt "64" +let pp_nn fmt = function S32 -> pf fmt "32" | S64 -> pf fmt "64" type nonrec sx = | U | S -let pp_sx fmt = function U -> pf fmt "u" | S -> pf fmt "s" +let pp_sx fmt = function U -> pf fmt "u" | S -> pf fmt "s" type nonrec iunop = | Clz @@ -2358,7 +2358,7 @@

47.34%

| Rotr let pp_ibinop fmt = function - | (Add : ibinop) -> pf fmt "add" + | (Add : ibinop) -> pf fmt "add" | Sub -> pf fmt "sub" | Mul -> pf fmt "mul" | Div s -> pf fmt "div_%a" pp_sx s @@ -2401,12 +2401,12 @@

47.34%

| Le of sx | Ge of sx -let pp_irelop fmt : irelop -> Unit.t = function +let pp_irelop fmt : irelop -> Unit.t = function | Eq -> pf fmt "eq" | Ne -> pf fmt "ne" | Lt sx -> pf fmt "lt_%a" pp_sx sx | Gt sx -> pf fmt "gt_%a" pp_sx sx - | Le sx -> pf fmt "le_%a" pp_sx sx + | Le sx -> pf fmt "le_%a" pp_sx sx | Ge sx -> pf fmt "ge_%a" pp_sx sx type nonrec frelop = @@ -2458,7 +2458,7 @@

47.34%

| No_final let pp_final fmt = function - | Final -> pf fmt "final" + | Final -> pf fmt "final" | No_final -> pf fmt "no_final" (** Structure *) @@ -2523,7 +2523,7 @@

47.34%

let compare_heap_type t1 t2 = (* TODO: this is wrong *) - let to_int = function + let to_int = function | Any_ht -> 0 | None_ht -> 1 | Eq_ht -> 2 @@ -2532,11 +2532,11 @@

47.34%

| Array_ht -> 5 | Func_ht -> 6 | No_func_ht -> 7 - | Extern_ht -> 8 + | Extern_ht -> 8 | No_extern_ht -> 9 | Def_ht _ -> assert false in - Int.compare (to_int t1) (to_int t2) + Int.compare (to_int t1) (to_int t2) type nonrec 'a ref_type = nullable * 'a heap_type @@ -2551,8 +2551,8 @@

47.34%

| _ -> false let compare_ref_type t1 t2 = - match (t1, t2) with - | (Null, t1), (Null, t2) | (No_null, t1), (No_null, t2) -> + match (t1, t2) with + | (Null, t1), (Null, t2) | (No_null, t1), (No_null, t2) -> compare_heap_type t1 t2 | (Null, _), (No_null, _) -> -1 | (No_null, _), (Null, _) -> 1 @@ -2562,52 +2562,52 @@

47.34%

| Ref_type of 'a ref_type let pp_val_type fmt = function - | Num_type t -> pp_num_type fmt t + | Num_type t -> pp_num_type fmt t | Ref_type t -> pp_ref_type fmt t let val_type_eq t1 t2 = - match (t1, t2) with - | Num_type t1, Num_type t2 -> num_type_eq t1 t2 + match (t1, t2) with + | Num_type t1, Num_type t2 -> num_type_eq t1 t2 | Ref_type t1, Ref_type t2 -> ref_type_eq t1 t2 | _, _ -> false let compare_val_type t1 t2 = - match (t1, t2) with - | Num_type t1, Num_type t2 -> compare_num_type t1 t2 - | Ref_type t1, Ref_type t2 -> compare_ref_type t1 t2 - | Num_type _, _ -> 1 - | Ref_type _, _ -> -1 + match (t1, t2) with + | Num_type t1, Num_type t2 -> compare_num_type t1 t2 + | Ref_type t1, Ref_type t2 -> compare_ref_type t1 t2 + | Num_type _, _ -> 1 + | Ref_type _, _ -> -1 type nonrec 'a param = string option * 'a val_type -let pp_param fmt (id, vt) = pf fmt "(param%a %a)" pp_id_opt id pp_val_type vt +let pp_param fmt (id, vt) = pf fmt "(param%a %a)" pp_id_opt id pp_val_type vt -let param_eq (_, t1) (_, t2) = val_type_eq t1 t2 +let param_eq (_, t1) (_, t2) = val_type_eq t1 t2 -let compare_param (_, t1) (_, t2) = compare_val_type t1 t2 +let compare_param (_, t1) (_, t2) = compare_val_type t1 t2 type nonrec 'a param_type = 'a param list -let pp_param_type fmt params = list ~sep:sp pp_param fmt params +let pp_param_type fmt params = list ~sep:sp pp_param fmt params -let param_type_eq t1 t2 = List.equal param_eq t1 t2 +let param_type_eq t1 t2 = List.equal param_eq t1 t2 -let compare_param_type t1 t2 = List.compare compare_param t1 t2 +let compare_param_type t1 t2 = List.compare compare_param t1 t2 type nonrec 'a result_type = 'a val_type list -let pp_result_ fmt vt = pf fmt "(result %a)" pp_val_type vt +let pp_result_ fmt vt = pf fmt "(result %a)" pp_val_type vt -let pp_result_type fmt results = list ~sep:sp pp_result_ fmt results +let pp_result_type fmt results = list ~sep:sp pp_result_ fmt results -let result_type_eq t1 t2 = List.equal val_type_eq t1 t2 +let result_type_eq t1 t2 = List.equal val_type_eq t1 t2 -let compare_result_type t1 t2 = List.compare compare_val_type t1 t2 +let compare_result_type t1 t2 = List.compare compare_val_type t1 t2 (* wrap printer to print a space before a non empty list *) (* TODO or make it an optional arg of pp_list? *) let with_space_list printer fmt l = - match l with [] -> () | _l -> pf fmt " %a" printer l + match l with [] -> () | _l -> pf fmt " %a" printer l (* TODO: add a third case that only has (pt * rt) and is the only one used in simplified *) type 'a block_type = @@ -2616,34 +2616,34 @@

47.34%

('a indice option * ('a param_type * 'a result_type)) -> (< .. > as 'a) block_type -let pp_block_type (type kind) fmt : kind block_type -> unit = function +let pp_block_type (type kind) fmt : kind block_type -> unit = function | Bt_ind ind -> pf fmt "(type %a)" pp_indice ind - | Bt_raw (_ind, (pt, rt)) -> + | Bt_raw (_ind, (pt, rt)) -> pf fmt "%a%a" - (with_space_list pp_param_type) + (with_space_list pp_param_type) pt - (with_space_list pp_result_type) + (with_space_list pp_result_type) rt let pp_block_type_opt fmt = function | None -> () - | Some bt -> pp_block_type fmt bt + | Some bt -> pp_block_type fmt bt type nonrec 'a func_type = 'a param_type * 'a result_type let pp_func_type fmt (params, results) = - pf fmt "(func%a%a)" - (with_space_list pp_param_type) + pf fmt "(func%a%a)" + (with_space_list pp_param_type) params - (with_space_list pp_result_type) + (with_space_list pp_result_type) results let func_type_eq (pt1, rt1) (pt2, rt2) = - param_type_eq pt1 pt2 && result_type_eq rt1 rt2 + param_type_eq pt1 pt2 && result_type_eq rt1 rt2 let compare_func_type (pt1, rt1) (pt2, rt2) = - let pt = compare_param_type pt1 pt2 in - if pt = 0 then compare_result_type rt1 rt2 else pt + let pt = compare_param_type pt1 pt2 in + if pt = 0 then compare_result_type rt1 rt2 else pt type nonrec 'a table_type = limits * 'a ref_type @@ -2784,19 +2784,19 @@

47.34%

and 'a expr = 'a instr list -let pp_newline ppf () = pf ppf "@\n" +let pp_newline ppf () = pf ppf "@\n" let rec pp_instr fmt = function - | I32_const i -> pf fmt "i32.const %ld" i + | I32_const i -> pf fmt "i32.const %ld" i | I64_const i -> pf fmt "i64.const %Ld" i | F32_const f -> pf fmt "f32.const %a" Float32.pp f | F64_const f -> pf fmt "f64.const %a" Float64.pp f | I_unop (n, op) -> pf fmt "i%a.%a" pp_nn n pp_iunop op | F_unop (n, op) -> pf fmt "f%a.%a" pp_nn n pp_funop op - | I_binop (n, op) -> pf fmt "i%a.%a" pp_nn n pp_ibinop op + | I_binop (n, op) -> pf fmt "i%a.%a" pp_nn n pp_ibinop op | F_binop (n, op) -> pf fmt "f%a.%a" pp_nn n pp_fbinop op | I_testop (n, op) -> pf fmt "i%a.%a" pp_nn n pp_itestop op - | I_relop (n, op) -> pf fmt "i%a.%a" pp_nn n pp_irelop op + | I_relop (n, op) -> pf fmt "i%a.%a" pp_nn n pp_irelop op | F_relop (n, op) -> pf fmt "f%a.%a" pp_nn n frelop op | I_extend8_s n -> pf fmt "i%a.extend8_s" pp_nn n | I_extend16_s n -> pf fmt "i%a.extend16_s" pp_nn n @@ -2815,16 +2815,16 @@

47.34%

| Ref_null t -> pf fmt "ref.null %a" pp_heap_type t | Ref_is_null -> pf fmt "ref.is_null" | Ref_func fid -> pf fmt "ref.func %a" pp_indice fid - | Drop -> pf fmt "drop" + | Drop -> pf fmt "drop" | Select vt -> begin match vt with | None -> pf fmt "select" | Some vt -> pf fmt "select (%a)" pp_result_type vt (* TODO: are the parens needed ? *) end - | Local_get id -> pf fmt "local.get %a" pp_indice id + | Local_get id -> pf fmt "local.get %a" pp_indice id | Local_set id -> pf fmt "local.set %a" pp_indice id - | Local_tee id -> pf fmt "local.tee %a" pp_indice id + | Local_tee id -> pf fmt "local.tee %a" pp_indice id | Global_get id -> pf fmt "global.get %a" pp_indice id | Global_set id -> pf fmt "global.set %a" pp_indice id | Table_get id -> pf fmt "table.get %a" pp_indice id @@ -2857,10 +2857,10 @@

47.34%

| Data_drop id -> pf fmt "data.drop %a" pp_indice id | Nop -> pf fmt "nop" | Unreachable -> pf fmt "unreachable" - | Block (id, bt, e) -> + | Block (id, bt, e) -> pf fmt "(block%a%a@\n @[<v>%a@])" pp_id_opt id pp_block_type_opt bt pp_expr e - | Loop (id, bt, e) -> + | Loop (id, bt, e) -> pf fmt "(loop%a%a@\n @[<v>%a@])" pp_id_opt id pp_block_type_opt bt pp_expr e | If_else (id, bt, e1, e2) -> @@ -2872,7 +2872,7 @@

47.34%

pf fmt "(if%a%a@\n @[<v>(then@\n @[<v>%a@]@\n)%a@]@\n)" pp_id_opt id pp_block_type_opt bt pp_expr e1 pp_else e2 | Br id -> pf fmt "br %a" pp_indice id - | Br_if id -> pf fmt "br_if %a" pp_indice id + | Br_if id -> pf fmt "br_if %a" pp_indice id | Br_table (ids, id) -> pf fmt "br_table %a %a" (array ~sep:sp pp_indice) ids pp_indice id | Return -> pf fmt "return" @@ -2880,7 +2880,7 @@

47.34%

| Return_call_indirect (tbl_id, ty_id) -> pf fmt "return_call_indirect %a %a" pp_indice tbl_id pp_block_type ty_id | Return_call_ref ty_id -> pf fmt "return_call_ref %a" pp_block_type ty_id - | Call id -> pf fmt "call %a" pp_indice id + | Call id -> pf fmt "call %a" pp_indice id | Call_indirect (tbl_id, ty_id) -> pf fmt "call_indirect %a %a" pp_indice tbl_id pp_block_type ty_id | Call_ref ty_id -> pf fmt "call_ref %a" pp_indice ty_id @@ -2918,7 +2918,7 @@

47.34%

pf fmt "br_on_cast_fail %a %a %a" pp_indice id pp_nullable n pp_heap_type t | Ref_eq -> pf fmt "ref.eq" -and pp_expr fmt instrs = list ~sep:pp_newline pp_instr fmt instrs +and pp_expr fmt instrs = list ~sep:pp_newline pp_instr fmt instrs let rec iter_expr f (e : _ expr) = List.iter (iter_instr f) e @@ -2994,15 +2994,15 @@

47.34%

; id : string option } -let pp_local fmt (id, t) = pf fmt "(local%a %a)" pp_id_opt id pp_val_type t +let pp_local fmt (id, t) = pf fmt "(local%a %a)" pp_id_opt id pp_val_type t -let pp_locals fmt locals = list ~sep:sp pp_local fmt locals +let pp_locals fmt locals = list ~sep:sp pp_local fmt locals let pp_func : type kind. formatter -> kind func -> unit = fun fmt f -> (* TODO: typeuse ? *) - pf fmt "(func%a%a%a@\n @[<v>%a@]@\n)" pp_id_opt f.id pp_block_type f.type_f - (with_space_list pp_locals) + pf fmt "(func%a%a%a@\n @[<v>%a@]@\n)" pp_id_opt f.id pp_block_type f.type_f + (with_space_list pp_locals) f.locals pp_expr f.body let pp_funcs fmt (funcs : 'a func list) = list ~sep:pp_newline pp_func fmt funcs @@ -3112,7 +3112,7 @@

47.34%

let str_type fmt = function | Def_struct_t t -> pp_struct_type fmt t | Def_array_t t -> pp_array_type fmt t - | Def_func_t t -> pp_func_type fmt t + | Def_func_t t -> pp_func_type fmt t let str_type_eq t1 t2 = match (t1, t2) with @@ -3122,31 +3122,31 @@

47.34%

| _, _ -> false let compare_str_type t1 t2 = - match (t1, t2) with - | Def_func_t t1, Def_func_t t2 -> compare_func_type t1 t2 + match (t1, t2) with + | Def_func_t t1, Def_func_t t2 -> compare_func_type t1 t2 | _, _ -> assert false type 'a sub_type = final * 'a indice list * 'a str_type let pp_sub_type fmt (f, ids, t) = - pf fmt "(sub %a %a %a)" pp_final f pp_indices ids str_type t + pf fmt "(sub %a %a %a)" pp_final f pp_indices ids str_type t type 'a type_def = string option * 'a sub_type let pp_type_def_no_indent fmt (id, t) = - pf fmt "(type%a %a)" pp_id_opt id pp_sub_type t + pf fmt "(type%a %a)" pp_id_opt id pp_sub_type t let pp_type_def fmt t = pf fmt "@\n @[<v>%a@]" pp_type_def_no_indent t type 'a rec_type = 'a type_def list let pp_rec_type fmt l = - match l with + match l with | [] -> () - | [ t ] -> pf fmt "@\n%a" pp_type_def_no_indent t + | [ t ] -> pf fmt "%a" pp_type_def_no_indent t | l -> pf fmt "(rec %a)" (list ~sep:sp pp_type_def) l -let pp_start fmt start = pf fmt "(start %a)" pp_indice start +let pp_start fmt start = pf fmt "(start %a)" pp_indice start type 'a const = | Const_I32 of Int32.t diff --git a/coverage/src/bin/owi.ml.html b/coverage/src/bin/owi.ml.html index 3cc1c1e48..9463633f1 100644 --- a/coverage/src/bin/owi.ml.html +++ b/coverage/src/bin/owi.ml.html @@ -802,13 +802,13 @@

81.08%

let debug = let doc = "debug mode" in - Cmdliner.Arg.(value & flag & info [ "debug"; "d" ] ~doc) + Cmdliner.Arg.(value & flag & info [ "debug"; "d" ] ~doc) let existing_non_dir_file = let parse s = - let path = Fpath.v s in - match Bos.OS.File.exists path with - | Ok true -> `Ok path + let path = Fpath.v s in + match Bos.OS.File.exists path with + | Ok true -> `Ok path | Ok false -> `Error (Fmt.str "no file '%a'" Fpath.pp path) | Error (`Msg s) -> `Error s in @@ -819,7 +819,7 @@

81.08%

(parse, Fpath.pp) let solver_conv = - Cmdliner.Arg.conv + Cmdliner.Arg.conv ( Smtml.Solver_dispatcher.solver_type_of_string , Smtml.Solver_dispatcher.pp_solver_type ) @@ -828,46 +828,46 @@

81.08%

"Guarantee a fixed deterministic order of found failures. This implies \ --no-stop-at-failure." in - Cmdliner.Arg.(value & flag & info [ "deterministic-result-order" ] ~doc) + Cmdliner.Arg.(value & flag & info [ "deterministic-result-order" ] ~doc) let files = let doc = "source files" in let f = existing_non_dir_file in - Cmdliner.Arg.(value & pos_all f [] (info [] ~doc)) + Cmdliner.Arg.(value & pos_all f [] (info [] ~doc)) let emit_files = let doc = "emit (.wat) files from corresponding (.wasm) files" in - Cmdliner.Arg.(value & flag & info [ "emit-file" ] ~doc) + Cmdliner.Arg.(value & flag & info [ "emit-file" ] ~doc) let no_exhaustion = let doc = "no exhaustion tests" in - Cmdliner.Arg.(value & flag & info [ "no-exhaustion" ] ~doc) + Cmdliner.Arg.(value & flag & info [ "no-exhaustion" ] ~doc) let no_stop_at_failure = let doc = "do not stop when a program failure is encountered" in - Cmdliner.Arg.(value & flag & info [ "no-stop-at-failure" ] ~doc) + Cmdliner.Arg.(value & flag & info [ "no-stop-at-failure" ] ~doc) let no_values = let doc = "do not display a value for each symbol" in - Cmdliner.Arg.(value & flag & info [ "no-value" ] ~doc) + Cmdliner.Arg.(value & flag & info [ "no-value" ] ~doc) let fail_mode = let trap_doc = "ignore assertion violations and only report traps" in let assert_doc = "ignore traps and only report assertion violations" in Cmdliner.Arg.( value - & vflag `Both - [ (`Trap_only, info [ "fail-on-trap-only" ] ~doc:trap_doc) - ; (`Assertion_only, info [ "fail-on-assertion-only" ] ~doc:assert_doc) + & vflag `Both + [ (`Trap_only, info [ "fail-on-trap-only" ] ~doc:trap_doc) + ; (`Assertion_only, info [ "fail-on-assertion-only" ] ~doc:assert_doc) ] ) let optimize = let doc = "optimize mode" in - Cmdliner.Arg.(value & flag & info [ "optimize" ] ~doc) + Cmdliner.Arg.(value & flag & info [ "optimize" ] ~doc) let profiling = let doc = "profiling mode" in - Cmdliner.Arg.(value & flag & info [ "profiling"; "p" ] ~doc) + Cmdliner.Arg.(value & flag & info [ "profiling"; "p" ] ~doc) let eacsl = let doc = @@ -875,18 +875,18 @@

81.08%

https://frama-c.com/download/e-acsl/e-acsl-implementation.pdf for \ Frama-C's current language feature implementations" in - Cmdliner.Arg.(value & flag & info [ "e-acsl" ] ~doc) + Cmdliner.Arg.(value & flag & info [ "e-acsl" ] ~doc) let solver = let doc = "SMT solver to use" in Cmdliner.Arg.( value - & opt solver_conv Smtml.Solver_dispatcher.Z3_solver - & info [ "solver"; "s" ] ~doc ) + & opt solver_conv Smtml.Solver_dispatcher.Z3_solver + & info [ "solver"; "s" ] ~doc ) let unsafe = let doc = "skip typechecking pass" in - Cmdliner.Arg.(value & flag & info [ "unsafe"; "u" ] ~doc) + Cmdliner.Arg.(value & flag & info [ "unsafe"; "u" ] ~doc) let workers = let doc = @@ -895,15 +895,15 @@

81.08%

in Cmdliner.Arg.( value - & opt int Processor.Query.core_count - & info [ "workers"; "w" ] ~doc ~absent:"n" ) + & opt int Processor.Query.core_count + & info [ "workers"; "w" ] ~doc ~absent:"n" ) let workspace = let doc = "path to the workspace directory" in Cmdliner.Arg.( - value & opt dir_file (Fpath.v "owi-out") & info [ "workspace" ] ~doc ) + value & opt dir_file (Fpath.v "owi-out") & info [ "workspace" ] ~doc ) -let copts_t = Cmdliner.Term.(const []) +let copts_t = Cmdliner.Term.(const []) let sdocs = Cmdliner.Manpage.s_common_options @@ -919,122 +919,122 @@

81.08%

"Compile a C file to Wasm and run the symbolic interpreter on it" in let man = [] @ shared_man in - Cmd.info "c" ~version ~doc ~sdocs ~man + Cmd.info "c" ~version ~doc ~sdocs ~man in let arch = let doc = "data model" in - Arg.(value & opt int 32 & info [ "arch"; "m" ] ~doc) + Arg.(value & opt int 32 & info [ "arch"; "m" ] ~doc) in let property = let doc = "property file" in Arg.( - value & opt (some existing_non_dir_file) None & info [ "property" ] ~doc ) + value & opt (some existing_non_dir_file) None & info [ "property" ] ~doc ) in let includes = let doc = "headers path" in - Arg.(value & opt_all dir_file [] & info [ "I" ] ~doc) + Arg.(value & opt_all dir_file [] & info [ "I" ] ~doc) in let opt_lvl = let doc = "specify which optimization level to use" in - Arg.(value & opt string "3" & info [ "O" ] ~doc) + Arg.(value & opt string "3" & info [ "O" ] ~doc) in let testcomp = let doc = "test-comp mode" in - Arg.(value & flag & info [ "testcomp" ] ~doc) + Arg.(value & flag & info [ "testcomp" ] ~doc) in let output = let doc = "write results to dir" in - Arg.(value & opt string "owi-out" & info [ "output"; "o" ] ~doc) + Arg.(value & opt string "owi-out" & info [ "output"; "o" ] ~doc) in let concolic = let doc = "concolic mode" in - Arg.(value & flag & info [ "concolic" ] ~doc) + Arg.(value & flag & info [ "concolic" ] ~doc) in - Cmd.v info + Cmd.v info Term.( - const Cmd_c.cmd $ debug $ arch $ property $ testcomp $ output $ workers - $ opt_lvl $ includes $ files $ profiling $ unsafe $ optimize - $ no_stop_at_failure $ no_values $ deterministic_result_order $ fail_mode - $ concolic $ eacsl $ solver ) + const Cmd_c.cmd $ debug $ arch $ property $ testcomp $ output $ workers + $ opt_lvl $ includes $ files $ profiling $ unsafe $ optimize + $ no_stop_at_failure $ no_values $ deterministic_result_order $ fail_mode + $ concolic $ eacsl $ solver ) let fmt_cmd = let open Cmdliner in let info = let doc = "Format a .wat or .wast file" in let man = [] @ shared_man in - Cmd.info "fmt" ~version ~doc ~sdocs ~man + Cmd.info "fmt" ~version ~doc ~sdocs ~man in let inplace = let doc = "Format in-place, overwriting input file" in - Cmdliner.Arg.(value & flag & info [ "inplace"; "i" ] ~doc) + Cmdliner.Arg.(value & flag & info [ "inplace"; "i" ] ~doc) in - Cmd.v info Term.(const Cmd_fmt.cmd $ inplace $ files) + Cmd.v info Term.(const Cmd_fmt.cmd $ inplace $ files) let opt_cmd = let open Cmdliner in let info = let doc = "Optimize a module" in let man = [] @ shared_man in - Cmd.info "opt" ~version ~doc ~sdocs ~man + Cmd.info "opt" ~version ~doc ~sdocs ~man in - Cmd.v info Term.(const Cmd_opt.cmd $ debug $ unsafe $ files) + Cmd.v info Term.(const Cmd_opt.cmd $ debug $ unsafe $ files) let run_cmd = let open Cmdliner in let info = let doc = "Run the concrete interpreter" in let man = [] @ shared_man in - Cmd.info "run" ~version ~doc ~sdocs ~man + Cmd.info "run" ~version ~doc ~sdocs ~man in - Cmd.v info - Term.(const Cmd_run.cmd $ profiling $ debug $ unsafe $ optimize $ files) + Cmd.v info + Term.(const Cmd_run.cmd $ profiling $ debug $ unsafe $ optimize $ files) let validate_cmd = let open Cmdliner in let info = let doc = "Validate a module" in let man = [] @ shared_man in - Cmd.info "validate" ~version ~doc ~sdocs ~man + Cmd.info "validate" ~version ~doc ~sdocs ~man in - Cmd.v info Term.(const Cmd_validate.cmd $ debug $ files) + Cmd.v info Term.(const Cmd_validate.cmd $ debug $ files) let script_cmd = let open Cmdliner in let info = let doc = "Run a reference test suite script" in let man = [] @ shared_man in - Cmd.info "script" ~version ~doc ~sdocs ~man + Cmd.info "script" ~version ~doc ~sdocs ~man in - Cmd.v info + Cmd.v info Term.( - const Cmd_script.cmd $ profiling $ debug $ optimize $ files - $ no_exhaustion ) + const Cmd_script.cmd $ profiling $ debug $ optimize $ files + $ no_exhaustion ) let sym_cmd = let open Cmdliner in let info = let doc = "Run the symbolic interpreter" in let man = [] @ shared_man in - Cmd.info "sym" ~version ~doc ~sdocs ~man + Cmd.info "sym" ~version ~doc ~sdocs ~man in - Cmd.v info + Cmd.v info Term.( - const Cmd_sym.cmd $ profiling $ debug $ unsafe $ optimize $ workers - $ no_stop_at_failure $ no_values $ deterministic_result_order $ fail_mode - $ workspace $ solver $ files ) + const Cmd_sym.cmd $ profiling $ debug $ unsafe $ optimize $ workers + $ no_stop_at_failure $ no_values $ deterministic_result_order $ fail_mode + $ workspace $ solver $ files ) let conc_cmd = let open Cmdliner in let info = let doc = "Run the concolic interpreter" in let man = [] @ shared_man in - Cmd.info "conc" ~version ~doc ~sdocs ~man + Cmd.info "conc" ~version ~doc ~sdocs ~man in - Cmd.v info + Cmd.v info Term.( - const Cmd_conc.cmd $ profiling $ debug $ unsafe $ optimize $ workers - $ no_stop_at_failure $ no_values $ deterministic_result_order $ fail_mode - $ workspace $ solver $ files ) + const Cmd_conc.cmd $ profiling $ debug $ unsafe $ optimize $ workers + $ no_stop_at_failure $ no_values $ deterministic_result_order $ fail_mode + $ workspace $ solver $ files ) let wasm2wat_cmd = let open Cmdliner in @@ -1043,9 +1043,9 @@

81.08%

"Generate a text format file (.wat) from a binary format file (.wasm)" in let man = [] @ shared_man in - Cmd.info "wasm2wat" ~version ~doc ~sdocs ~man + Cmd.info "wasm2wat" ~version ~doc ~sdocs ~man in - Cmd.v info Term.(const Cmd_wasm2wat.cmd $ files $ emit_files) + Cmd.v info Term.(const Cmd_wasm2wat.cmd $ files $ emit_files) let wat2wasm_cmd = let open Cmdliner in @@ -1054,10 +1054,10 @@

81.08%

"Generate a binary format file (.wasm) from a text format file (.wat)" in let man = [] @ shared_man in - Cmd.info "wat2wasm" ~version ~doc ~sdocs ~man + Cmd.info "wat2wasm" ~version ~doc ~sdocs ~man in - Cmd.v info - Term.(const Cmd_wat2wasm.cmd $ profiling $ debug $ unsafe $ optimize $ files) + Cmd.v info + Term.(const Cmd_wat2wasm.cmd $ profiling $ debug $ unsafe $ optimize $ files) let cli = let open Cmdliner in @@ -1065,12 +1065,12 @@

81.08%

let doc = "OCaml WebAssembly Interpreter" in let sdocs = Manpage.s_common_options in let man = [ `S Manpage.s_bugs; `P "Email them to <contact@ndrs.fr>." ] in - Cmd.info "owi" ~version ~doc ~sdocs ~man + Cmd.info "owi" ~version ~doc ~sdocs ~man in let default = - Term.(ret (const (fun (_ : _ list) -> `Help (`Plain, None)) $ copts_t)) + Term.(ret (const (fun (_ : _ list) -> `Help (`Plain, None)) $ copts_t)) in - Cmd.group info ~default + Cmd.group info ~default [ c_cmd ; fmt_cmd ; opt_cmd @@ -1087,9 +1087,9 @@

81.08%

let open Cmdliner.Cmd.Exit in match Cmdliner.Cmd.eval_value cli with | Ok (`Help | `Version) -> ok - | Ok (`Ok result) -> begin + | Ok (`Ok result) -> begin match result with - | Ok () -> ok + | Ok () -> ok | Error e -> begin Fmt.epr "%s" (Result.err_to_string e); match e with diff --git a/coverage/src/cmd/cmd_c.ml.html b/coverage/src/cmd/cmd_c.ml.html index 5b477ac88..6d74b449e 100644 --- a/coverage/src/cmd/cmd_c.ml.html +++ b/coverage/src/cmd/cmd_c.ml.html @@ -446,9 +446,9 @@

92.31%

; files : Fpath.t list } -let binc_location = List.map Fpath.v C_share_site.Sites.binc +let binc_location = List.map Fpath.v C_share_site.Sites.binc -let libc_location = List.map Fpath.v C_share_site.Sites.libc +let libc_location = List.map Fpath.v C_share_site.Sites.libc let find location file : Fpath.t Result.t = let* l = diff --git a/coverage/src/cmd/cmd_conc.ml.html b/coverage/src/cmd/cmd_conc.ml.html index 9da76a51d..c0b556b06 100644 --- a/coverage/src/cmd/cmd_conc.ml.html +++ b/coverage/src/cmd/cmd_conc.ml.html @@ -990,7 +990,7 @@

89.43%

module Choice = Concolic.P.Choice (* let () = Random.self_init () *) -let () = Random.init 42 +let () = Random.init 42 (* TODO: add a flag for this *) let print_paths = false diff --git a/coverage/src/cmd/cmd_sym.ml.html b/coverage/src/cmd/cmd_sym.ml.html index 8d902dccc..abf43730d 100644 --- a/coverage/src/cmd/cmd_sym.ml.html +++ b/coverage/src/cmd/cmd_sym.ml.html @@ -309,30 +309,30 @@

88.76%

let ( let*/ ) (t : 'a Result.t) (f : 'a -> 'b Result.t Choice.t) : 'b Result.t Choice.t = - match t with Error e -> Choice.return (Error e) | Ok x -> f x + match t with Error e -> Choice.return (Error e) | Ok x -> f x let link_state = lazy - (let func_typ = Symbolic.P.Extern_func.extern_type in + (let func_typ = Symbolic.P.Extern_func.extern_type in let link_state = Link.extern_module' Link.empty_state ~name:"symbolic" ~func_typ Symbolic_wasm_ffi.symbolic_extern_module in - Link.extern_module' link_state ~name:"summaries" ~func_typ + Link.extern_module' link_state ~name:"summaries" ~func_typ Symbolic_wasm_ffi.summaries_extern_module ) let run_file ~unsafe ~optimize pc filename = - let*/ m = Compile.File.until_binary_validate ~unsafe filename in - let*/ m = Cmd_utils.add_main_as_start m in - let link_state = Lazy.force link_state in + let*/ m = Compile.File.until_binary_validate ~unsafe filename in + let*/ m = Cmd_utils.add_main_as_start m in + let link_state = Lazy.force link_state in - let*/ m, link_state = - Compile.Binary.until_link ~unsafe link_state ~optimize ~name:None m + let*/ m, link_state = + Compile.Binary.until_link ~unsafe link_state ~optimize ~name:None m in - let m = Symbolic.convert_module_to_run m in - let c = Interpret.SymbolicP.modul link_state.envs m in - Choice.bind pc (fun r -> - match r with Error _ -> Choice.return r | Ok () -> c ) + let m = Symbolic.convert_module_to_run m in + let c = Interpret.SymbolicP.modul link_state.envs m in + Choice.bind pc (fun r -> + match r with Error _ -> Choice.return r | Ok () -> c ) (* NB: This function propagates potential errors (Result.err) occurring during evaluation (OS, syntax error, etc.), except for Trap and Assert, @@ -340,38 +340,38 @@

88.76%

monad, hence the let*. *) let cmd profiling debug unsafe optimize workers no_stop_at_failure no_values deterministic_result_order fail_mode (workspace : Fpath.t) solver files = - if profiling then Log.profiling_on := true; - if debug then Log.debug_on := true; + if profiling then Log.profiling_on := true; + if debug then Log.debug_on := true; (* deterministic_result_order implies no_stop_at_failure *) - let no_stop_at_failure = deterministic_result_order || no_stop_at_failure in - let* _created_dir = Bos.OS.Dir.create ~path:true ~mode:0o755 workspace in - let pc = Choice.return (Ok ()) in - let result = List.fold_left (run_file ~unsafe ~optimize) pc files in - let thread = Thread_with_memory.init () in - let res_queue = Wq.make () in - let path_count = ref 0 in + let no_stop_at_failure = deterministic_result_order || no_stop_at_failure in + let* _created_dir = Bos.OS.Dir.create ~path:true ~mode:0o755 workspace in + let pc = Choice.return (Ok ()) in + let result = List.fold_left (run_file ~unsafe ~optimize) pc files in + let thread = Thread_with_memory.init () in + let res_queue = Wq.make () in + let path_count = ref 0 in let callback v = - let open Symbolic_choice_intf in + let open Symbolic_choice_intf in incr path_count; - match (fail_mode, v) with - | _, (EVal (Ok ()), _) -> () + match (fail_mode, v) with + | _, (EVal (Ok ()), _) -> () | _, (EVal (Error e), thread) -> Wq.push (`Error e, thread) res_queue | (`Both | `Trap_only), (ETrap (t, m), thread) -> Wq.push (`ETrap (t, m), thread) res_queue - | (`Both | `Assertion_only), (EAssert (e, m), thread) -> + | (`Both | `Assertion_only), (EAssert (e, m), thread) -> Wq.push (`EAssert (e, m), thread) res_queue | (`Trap_only | `Assertion_only), _ -> () in let join_handles = Symbolic_choice_with_memory.run ~workers solver result thread ~callback - ~callback_init:(fun () -> Wq.make_pledge res_queue) - ~callback_end:(fun () -> Wq.end_pledge res_queue) + ~callback_init:(fun () -> Wq.make_pledge res_queue) + ~callback_end:(fun () -> Wq.end_pledge res_queue) in - let results = + let results = Wq.read_as_seq res_queue ~finalizer:(fun () -> - Array.iter Domain.join join_handles ) + Array.iter Domain.join join_handles ) in - let print_bug = function + let print_bug = function | `ETrap (tr, model) -> Fmt.pr "Trap: %s@\n" (Trap.to_string tr); Fmt.pr "Model:@\n @[<v>%a@]@." (Smtml.Model.pp ~no_values) model @@ -380,8 +380,8 @@

88.76%

Fmt.pr "Model:@\n @[<v>%a@]@." (Smtml.Model.pp ~no_values) model in let rec print_and_count_failures count_acc results = - match results () with - | Seq.Nil -> Ok count_acc + match results () with + | Seq.Nil -> Ok count_acc | Seq.Cons ((result, _thread), tl) -> let* model = match result with @@ -409,14 +409,14 @@

88.76%

|> List.sort (fun (_, bc1) (_, bc2) -> List.compare Prelude.Int32.compare bc1 bc2 ) |> List.to_seq |> Seq.map fst - else results + else results in - let* count = print_and_count_failures 0 results in - if print_paths then Fmt.pr "Completed paths: %d@." !path_count; - if count > 0 then Error (`Found_bug count) - else begin + let* count = print_and_count_failures 0 results in + if print_paths then Fmt.pr "Completed paths: %d@." !path_count; + if count > 0 then Error (`Found_bug count) + else begin Fmt.pr "All OK@."; - Ok () + Ok () end diff --git a/coverage/src/cmd/cmd_utils.ml.html b/coverage/src/cmd/cmd_utils.ml.html index ec5fbc5c4..f463c9059 100644 --- a/coverage/src/cmd/cmd_utils.ml.html +++ b/coverage/src/cmd/cmd_utils.ml.html @@ -255,7 +255,7 @@

77.78%

let add_main_as_start (m : Binary.modul) = (* We are checking if there's a start function *) - if Option.is_some m.start then Ok m + if Option.is_some m.start then Ok m else (* If there is none, we look for a function exported with the name `main` *) match diff --git a/coverage/src/cmd/cmd_wasm2wat.ml.html b/coverage/src/cmd/cmd_wasm2wat.ml.html index 2eb3fd76f..c65942cd9 100644 --- a/coverage/src/cmd/cmd_wasm2wat.ml.html +++ b/coverage/src/cmd/cmd_wasm2wat.ml.html @@ -75,18 +75,18 @@

100.00%

(** Utility function to handle writing to a file or printing to stdout *) let cmd_one emitfile file = - let ext = Fpath.get_ext file in - let wat_file = Fpath.set_ext "wat" file in + let ext = Fpath.get_ext file in + let wat_file = Fpath.set_ext "wat" file in - match ext with - | ".wasm" -> - let* m = Parse.Binary.Module.from_file file in - let m = Binary_to_text.modul m in - if emitfile then Bos.OS.File.writef wat_file "%a@\n" Text.pp_modul m - else Ok (Fmt.pr "%a@\n" Text.pp_modul m) + match ext with + | ".wasm" -> + let* m = Parse.Binary.Module.from_file file in + let m = Binary_to_text.modul m in + if emitfile then Bos.OS.File.writef wat_file "%a@\n" Text.pp_modul m + else Ok (Fmt.pr "%a@\n" Text.pp_modul m) | ext -> Error (`Unsupported_file_extension ext) -let cmd files emitfile = list_iter (cmd_one emitfile) files +let cmd files emitfile = list_iter (cmd_one emitfile) files diff --git a/coverage/src/cmd/cmd_wat2wasm.ml.html b/coverage/src/cmd/cmd_wat2wasm.ml.html index 4ad66e780..1aa8a1d66 100644 --- a/coverage/src/cmd/cmd_wat2wasm.ml.html +++ b/coverage/src/cmd/cmd_wat2wasm.ml.html @@ -72,17 +72,17 @@

81.82%

open Syntax let cmd_one ~unsafe ~optimize file = - let ext = Fpath.get_ext file in - match ext with - | ".wat" -> - let* modul = Parse.Text.Module.from_file file in - Binary_encoder.convert file ~unsafe ~optimize modul + let ext = Fpath.get_ext file in + match ext with + | ".wat" -> + let* modul = Parse.Text.Module.from_file file in + Binary_encoder.convert file ~unsafe ~optimize modul | ext -> Error (`Unsupported_file_extension ext) let cmd profiling debug unsafe optimize files = - if profiling then Log.profiling_on := true; - if debug then Log.debug_on := true; - list_iter (cmd_one ~unsafe ~optimize) files + if profiling then Log.profiling_on := true; + if debug then Log.debug_on := true; + list_iter (cmd_one ~unsafe ~optimize) files diff --git a/coverage/src/concolic/concolic_value.ml.html b/coverage/src/concolic/concolic_value.ml.html index d17370cd4..84d45c595 100644 --- a/coverage/src/concolic/concolic_value.ml.html +++ b/coverage/src/concolic/concolic_value.ml.html @@ -1121,7 +1121,7 @@

66.87%

| F64 of float64 | Ref of ref_value - let pair concrete symbolic = { concrete; symbolic } + let pair concrete symbolic = { concrete; symbolic } (* Bof... *) let value_pair (c : C.t) (s : S.t) = @@ -1159,7 +1159,7 @@

66.87%

} [@@inline always] - let f_pair_1_cst fc fs v = { concrete = fc v; symbolic = fs v } + let f_pair_1_cst fc fs v = { concrete = fc v; symbolic = fs v } [@@inline always] let f_pair_2_cst fc fs v1 v2 = { concrete = fc v1 v2; symbolic = fs v1 v2 } @@ -1169,9 +1169,9 @@

66.87%

{ concrete = fc cs.concrete v2; symbolic = fs cs.symbolic v2 } [@@inline always] - let const_i32 v = f_pair_1_cst C.const_i32 S.const_i32 v + let const_i32 v = f_pair_1_cst C.const_i32 S.const_i32 v - let const_i64 v = f_pair_1_cst C.const_i64 S.const_i64 v + let const_i64 v = f_pair_1_cst C.const_i64 S.const_i64 v let const_f32 v = f_pair_1_cst C.const_f32 S.const_f32 v @@ -1229,17 +1229,17 @@

66.87%

end module Bool = struct - let const = f_pair_1_cst C.Bool.const S.Bool.const + let const = f_pair_1_cst C.Bool.const S.Bool.const - let not = f_pair_1 C.Bool.not S.Bool.not + let not = f_pair_1 C.Bool.not S.Bool.not - let or_ = f_pair_2 C.Bool.or_ S.Bool.or_ + let or_ = f_pair_2 C.Bool.or_ S.Bool.or_ - let and_ = f_pair_2 C.Bool.and_ S.Bool.and_ + let and_ = f_pair_2 C.Bool.and_ S.Bool.and_ - let int32 = f_pair_1 C.Bool.int32 S.Bool.int32 + let int32 = f_pair_1 C.Bool.int32 S.Bool.int32 - let pp = mk_pp C.Bool.pp S.Bool.pp + let pp = mk_pp C.Bool.pp S.Bool.pp end module type CFop = sig @@ -1283,59 +1283,59 @@

66.87%

and type int32 := int32 and type int64 := int64 and type same_size_int := (CIT.t, SIT.t) cs = struct - let zero = pair CFop.zero SFop.zero + let zero = pair CFop.zero SFop.zero - let abs = f_pair_1 CFop.abs SFop.abs + let abs = f_pair_1 CFop.abs SFop.abs - let neg = f_pair_1 CFop.neg SFop.neg + let neg = f_pair_1 CFop.neg SFop.neg - let sqrt = f_pair_1 CFop.sqrt SFop.sqrt + let sqrt = f_pair_1 CFop.sqrt SFop.sqrt - let ceil = f_pair_1 CFop.ceil SFop.ceil + let ceil = f_pair_1 CFop.ceil SFop.ceil - let floor = f_pair_1 CFop.floor SFop.floor + let floor = f_pair_1 CFop.floor SFop.floor - let trunc = f_pair_1 CFop.trunc SFop.trunc + let trunc = f_pair_1 CFop.trunc SFop.trunc - let nearest = f_pair_1 CFop.nearest SFop.nearest + let nearest = f_pair_1 CFop.nearest SFop.nearest - let add = f_pair_2 CFop.add SFop.add + let add = f_pair_2 CFop.add SFop.add - let sub = f_pair_2 CFop.sub SFop.sub + let sub = f_pair_2 CFop.sub SFop.sub - let mul = f_pair_2 CFop.mul SFop.mul + let mul = f_pair_2 CFop.mul SFop.mul - let div = f_pair_2 CFop.div SFop.div + let div = f_pair_2 CFop.div SFop.div - let min = f_pair_2 CFop.min SFop.min + let min = f_pair_2 CFop.min SFop.min - let max = f_pair_2 CFop.max SFop.max + let max = f_pair_2 CFop.max SFop.max - let copy_sign = f_pair_2 CFop.copy_sign SFop.copy_sign + let copy_sign = f_pair_2 CFop.copy_sign SFop.copy_sign - let eq = f_pair_2 CFop.eq SFop.eq + let eq = f_pair_2 CFop.eq SFop.eq - let ne = f_pair_2 CFop.ne SFop.ne + let ne = f_pair_2 CFop.ne SFop.ne - let lt = f_pair_2 CFop.lt SFop.lt + let lt = f_pair_2 CFop.lt SFop.lt - let gt = f_pair_2 CFop.gt SFop.gt + let gt = f_pair_2 CFop.gt SFop.gt - let le = f_pair_2 CFop.le SFop.le + let le = f_pair_2 CFop.le SFop.le - let ge = f_pair_2 CFop.ge SFop.ge + let ge = f_pair_2 CFop.ge SFop.ge - let convert_i32_s = f_pair_1 CFop.convert_i32_s SFop.convert_i32_s + let convert_i32_s = f_pair_1 CFop.convert_i32_s SFop.convert_i32_s - let convert_i32_u = f_pair_1 CFop.convert_i32_u SFop.convert_i32_u + let convert_i32_u = f_pair_1 CFop.convert_i32_u SFop.convert_i32_u - let convert_i64_s = f_pair_1 CFop.convert_i64_s SFop.convert_i64_s + let convert_i64_s = f_pair_1 CFop.convert_i64_s SFop.convert_i64_s - let convert_i64_u = f_pair_1 CFop.convert_i64_u SFop.convert_i64_u + let convert_i64_u = f_pair_1 CFop.convert_i64_u SFop.convert_i64_u - let of_bits = f_pair_1 CFop.of_bits SFop.of_bits + let of_bits = f_pair_1 CFop.of_bits SFop.of_bits - let to_bits = f_pair_1 CFop.to_bits SFop.to_bits + let to_bits = f_pair_1 CFop.to_bits SFop.to_bits end module type CIop = sig @@ -1378,81 +1378,81 @@

66.87%

and type vbool := vbool and type float32 := float32 and type float64 := float64 = struct - let zero = pair CIop.zero SIop.zero + let zero = pair CIop.zero SIop.zero - let clz = f_pair_1 CIop.clz SIop.clz + let clz = f_pair_1 CIop.clz SIop.clz - let ctz = f_pair_1 CIop.ctz SIop.ctz + let ctz = f_pair_1 CIop.ctz SIop.ctz - let popcnt = f_pair_1 CIop.popcnt SIop.popcnt + let popcnt = f_pair_1 CIop.popcnt SIop.popcnt - let add = f_pair_2 CIop.add SIop.add + let add = f_pair_2 CIop.add SIop.add - let sub = f_pair_2 CIop.sub SIop.sub + let sub = f_pair_2 CIop.sub SIop.sub - let mul = f_pair_2 CIop.mul SIop.mul + let mul = f_pair_2 CIop.mul SIop.mul - let div = f_pair_2 CIop.div SIop.div + let div = f_pair_2 CIop.div SIop.div - let unsigned_div = f_pair_2 CIop.unsigned_div SIop.unsigned_div + let unsigned_div = f_pair_2 CIop.unsigned_div SIop.unsigned_div - let rem = f_pair_2 CIop.rem SIop.rem + let rem = f_pair_2 CIop.rem SIop.rem - let unsigned_rem = f_pair_2 CIop.unsigned_rem SIop.unsigned_rem + let unsigned_rem = f_pair_2 CIop.unsigned_rem SIop.unsigned_rem - let logand = f_pair_2 CIop.logand SIop.logand + let logand = f_pair_2 CIop.logand SIop.logand - let logor = f_pair_2 CIop.logor SIop.logor + let logor = f_pair_2 CIop.logor SIop.logor - let logxor = f_pair_2 CIop.logxor SIop.logxor + let logxor = f_pair_2 CIop.logxor SIop.logxor - let shl = f_pair_2 CIop.shl SIop.shl + let shl = f_pair_2 CIop.shl SIop.shl - let shr_s = f_pair_2 CIop.shr_s SIop.shr_s + let shr_s = f_pair_2 CIop.shr_s SIop.shr_s - let shr_u = f_pair_2 CIop.shr_u SIop.shr_u + let shr_u = f_pair_2 CIop.shr_u SIop.shr_u - let rotl = f_pair_2 CIop.rotl SIop.rotl + let rotl = f_pair_2 CIop.rotl SIop.rotl - let rotr = f_pair_2 CIop.rotr SIop.rotr + let rotr = f_pair_2 CIop.rotr SIop.rotr - let eq_const = f_pair_2_cst' CIop.eq_const SIop.eq_const + let eq_const = f_pair_2_cst' CIop.eq_const SIop.eq_const - let eq = f_pair_2 CIop.eq SIop.eq + let eq = f_pair_2 CIop.eq SIop.eq - let ne = f_pair_2 CIop.ne SIop.ne + let ne = f_pair_2 CIop.ne SIop.ne - let lt = f_pair_2 CIop.lt SIop.lt + let lt = f_pair_2 CIop.lt SIop.lt - let gt = f_pair_2 CIop.gt SIop.gt + let gt = f_pair_2 CIop.gt SIop.gt - let lt_u = f_pair_2 CIop.lt_u SIop.lt_u + let lt_u = f_pair_2 CIop.lt_u SIop.lt_u - let gt_u = f_pair_2 CIop.gt_u SIop.gt_u + let gt_u = f_pair_2 CIop.gt_u SIop.gt_u - let le = f_pair_2 CIop.le SIop.le + let le = f_pair_2 CIop.le SIop.le - let ge = f_pair_2 CIop.ge SIop.ge + let ge = f_pair_2 CIop.ge SIop.ge - let le_u = f_pair_2 CIop.le_u SIop.le_u + let le_u = f_pair_2 CIop.le_u SIop.le_u - let ge_u = f_pair_2 CIop.ge_u SIop.ge_u + let ge_u = f_pair_2 CIop.ge_u SIop.ge_u - let trunc_f32_s = f_pair_1 CIop.trunc_f32_s SIop.trunc_f32_s + let trunc_f32_s = f_pair_1 CIop.trunc_f32_s SIop.trunc_f32_s - let trunc_f32_u = f_pair_1 CIop.trunc_f32_u SIop.trunc_f32_u + let trunc_f32_u = f_pair_1 CIop.trunc_f32_u SIop.trunc_f32_u - let trunc_f64_s = f_pair_1 CIop.trunc_f64_s SIop.trunc_f64_s + let trunc_f64_s = f_pair_1 CIop.trunc_f64_s SIop.trunc_f64_s - let trunc_f64_u = f_pair_1 CIop.trunc_f64_u SIop.trunc_f64_u + let trunc_f64_u = f_pair_1 CIop.trunc_f64_u SIop.trunc_f64_u - let trunc_sat_f32_s = f_pair_1 CIop.trunc_sat_f32_s SIop.trunc_sat_f32_s + let trunc_sat_f32_s = f_pair_1 CIop.trunc_sat_f32_s SIop.trunc_sat_f32_s - let trunc_sat_f32_u = f_pair_1 CIop.trunc_sat_f32_u SIop.trunc_sat_f32_u + let trunc_sat_f32_u = f_pair_1 CIop.trunc_sat_f32_u SIop.trunc_sat_f32_u - let trunc_sat_f64_s = f_pair_1 CIop.trunc_sat_f64_s SIop.trunc_sat_f64_s + let trunc_sat_f64_s = f_pair_1 CIop.trunc_sat_f64_s SIop.trunc_sat_f64_s - let trunc_sat_f64_u = f_pair_1 CIop.trunc_sat_f64_u SIop.trunc_sat_f64_u + let trunc_sat_f64_u = f_pair_1 CIop.trunc_sat_f64_u SIop.trunc_sat_f64_u let extend_s symbolic cs = { concrete = CIop.extend_s symbolic cs.concrete @@ -1478,9 +1478,9 @@

66.87%

(C.F32) (S.F32) - let demote_f64 = f_pair_1 C.F32.demote_f64 S.F32.demote_f64 + let demote_f64 = f_pair_1 C.F32.demote_f64 S.F32.demote_f64 - let reinterpret_i32 = f_pair_1 C.F32.reinterpret_i32 S.F32.reinterpret_i32 + let reinterpret_i32 = f_pair_1 C.F32.reinterpret_i32 S.F32.reinterpret_i32 end module F64 = struct @@ -1501,9 +1501,9 @@

66.87%

(C.F64) (S.F64) - let promote_f32 = f_pair_1 C.F64.promote_f32 S.F64.promote_f32 + let promote_f32 = f_pair_1 C.F64.promote_f32 S.F64.promote_f32 - let reinterpret_i64 = f_pair_1 C.F64.reinterpret_i64 S.F64.reinterpret_i64 + let reinterpret_i64 = f_pair_1 C.F64.reinterpret_i64 S.F64.reinterpret_i64 end module I32 = struct @@ -1521,11 +1521,11 @@

66.87%

(C.I32) (S.I32) - let to_bool = f_pair_1 C.I32.to_bool S.I32.to_bool + let to_bool = f_pair_1 C.I32.to_bool S.I32.to_bool - let reinterpret_f32 = f_pair_1 C.I32.reinterpret_f32 S.I32.reinterpret_f32 + let reinterpret_f32 = f_pair_1 C.I32.reinterpret_f32 S.I32.reinterpret_f32 - let wrap_i64 = f_pair_1 C.I32.wrap_i64 S.I32.wrap_i64 + let wrap_i64 = f_pair_1 C.I32.wrap_i64 S.I32.wrap_i64 end module I64 = struct @@ -1543,15 +1543,15 @@

66.87%

(C.I64) (S.I64) - let of_int32 = f_pair_1 C.I64.of_int32 S.I64.of_int32 + let of_int32 = f_pair_1 C.I64.of_int32 S.I64.of_int32 - let to_int32 = f_pair_1 C.I64.to_int32 S.I64.to_int32 + let to_int32 = f_pair_1 C.I64.to_int32 S.I64.to_int32 - let reinterpret_f64 = f_pair_1 C.I64.reinterpret_f64 S.I64.reinterpret_f64 + let reinterpret_f64 = f_pair_1 C.I64.reinterpret_f64 S.I64.reinterpret_f64 - let extend_i32_s = f_pair_1 C.I64.extend_i32_s S.I64.extend_i32_s + let extend_i32_s = f_pair_1 C.I64.extend_i32_s S.I64.extend_i32_s - let extend_i32_u = f_pair_1 C.I64.extend_i32_u S.I64.extend_i32_u + let extend_i32_u = f_pair_1 C.I64.extend_i32_u S.I64.extend_i32_u end end diff --git a/coverage/src/concrete/concrete_value.ml.html b/coverage/src/concrete/concrete_value.ml.html index e690a752d..0a2ee1988 100644 --- a/coverage/src/concrete/concrete_value.ml.html +++ b/coverage/src/concrete/concrete_value.ml.html @@ -418,43 +418,43 @@

66.67%

type extern_func = Extern_func : 'a func_type * 'a -> extern_func let elt_type (type t) (e : t telt) : binary val_type = - match e with - | I32 -> Num_type I32 - | I64 -> Num_type I64 - | F32 -> Num_type F32 - | F64 -> Num_type F64 + match e with + | I32 -> Num_type I32 + | I64 -> Num_type I64 + | F32 -> Num_type F32 + | F64 -> Num_type F64 | Externref _ -> Ref_type (Null, Extern_ht) let res_type (type t) (r : t rtype) : binary result_type = - match r with - | R0 -> [] - | R1 a -> [ elt_type a ] + match r with + | R0 -> [] + | R1 a -> [ elt_type a ] | R2 (a, b) -> [ elt_type a; elt_type b ] | R3 (a, b, c) -> [ elt_type a; elt_type b; elt_type c ] | R4 (a, b, c, d) -> [ elt_type a; elt_type b; elt_type c; elt_type d ] let rec arg_type : type t r. (t, r) atype -> binary param_type = function - | Mem tl -> arg_type tl - | UArg tl -> arg_type tl - | Arg (hd, tl) -> (None, elt_type hd) :: arg_type tl + | Mem tl -> arg_type tl + | UArg tl -> arg_type tl + | Arg (hd, tl) -> (None, elt_type hd) :: arg_type tl | NArg (name, hd, tl) -> (Some name, elt_type hd) :: arg_type tl - | Res -> [] + | Res -> [] (* let extern_type (Func (arg, res)) : Simplified.func_type = *) (* (arg_type arg, res_type res) *) let extern_type (Extern_func (Func (arg, res), _)) : binary Types.func_type = - (arg_type arg, res_type res) + (arg_type arg, res_type res) type t = Func_intf.t let fresh = - let r = ref ~-1 in + let r = ref ~-1 in fun () -> - incr r; - !r + incr r; + !r - let wasm func env : t = WASM (fresh (), func, env) + let wasm func env : t = WASM (fresh (), func, env) (* let typ = function *) (* | Func_intf.WASM (_, func, _env) -> func.type_f *) diff --git a/coverage/src/concrete/v.ml.html b/coverage/src/concrete/v.ml.html index 0c4300840..16511d8fc 100644 --- a/coverage/src/concrete/v.ml.html +++ b/coverage/src/concrete/v.ml.html @@ -256,9 +256,9 @@

82.35%

let pp_float64 = Float64.pp - let const_i32 x = x + let const_i32 x = x - let const_i64 x = x + let const_i64 x = x let const_f32 x = x diff --git a/coverage/src/data_structures/env_id.ml.html b/coverage/src/data_structures/env_id.ml.html index 4a4ef6334..7c6bb142b 100644 --- a/coverage/src/data_structures/env_id.ml.html +++ b/coverage/src/data_structures/env_id.ml.html @@ -106,20 +106,20 @@

77.78%

let empty = { c = Map.empty; last = 0 } let with_fresh_id f { c; last } = - let open Syntax in - let+ e, r = f last in - let c = Map.add last e c in - let last = succ last in - ({ c; last }, r) + let open Syntax in + let+ e, r = f last in + let c = Map.add last e c in + let last = succ last in + ({ c; last }, r) -let get i c = Map.find i c.c +let get i c = Map.find i c.c let map f c = { c with c = Map.map f c.c } module Tbl = Hashtbl.Make (struct include Int - let hash x = x + let hash x = x end) diff --git a/coverage/src/data_structures/func_id.ml.html b/coverage/src/data_structures/func_id.ml.html index 1f6fdaa6c..a8c1a2c43 100644 --- a/coverage/src/data_structures/func_id.ml.html +++ b/coverage/src/data_structures/func_id.ml.html @@ -101,12 +101,12 @@

100.00%

let empty = { c = IMap.empty; last = 0 } let add f t { last; c } = - let c = IMap.add last (f, t) c in - (last, { c; last = succ last }) + let c = IMap.add last (f, t) c in + (last, { c; last = succ last }) let get i c = - let v, _ = IMap.find i c.c in - v + let v, _ = IMap.find i c.c in + v let get_typ i c = let _, t = IMap.find i c.c in diff --git a/coverage/src/data_structures/indexed.ml.html b/coverage/src/data_structures/indexed.ml.html index e689b2773..1027fb3f0 100644 --- a/coverage/src/data_structures/indexed.ml.html +++ b/coverage/src/data_structures/indexed.ml.html @@ -83,20 +83,20 @@

80.00%

; value : 'a } -let get v = v.value +let get v = v.value -let get_index v = v.index +let get_index v = v.index let map f v = { index = v.index; value = f v.value } -let return index value = { index; value } +let return index value = { index; value } -let has_index idx { index; _ } = idx = index +let has_index idx { index; _ } = idx = index let get_at i values = - match List.find_opt (has_index i) values with + match List.find_opt (has_index i) values with | None -> None - | Some { value; _ } -> Some value + | Some { value; _ } -> Some value diff --git a/coverage/src/data_structures/named.ml.html b/coverage/src/data_structures/named.ml.html index c824f03c5..8dd336fbf 100644 --- a/coverage/src/data_structures/named.ml.html +++ b/coverage/src/data_structures/named.ml.html @@ -105,8 +105,8 @@

82.35%

let empty = { values = []; named = String_map.empty } let fold f v acc = - List.fold_left - (fun acc v -> f (Indexed.get_index v) (Indexed.get v) acc) + List.fold_left + (fun acc v -> f (Indexed.get_index v) (Indexed.get v) acc) acc v.values let map f v = @@ -114,15 +114,15 @@

82.35%

{ v with values } let to_array v = - let tbl = Hashtbl.create 512 in - List.iter + let tbl = Hashtbl.create 512 in + List.iter (fun v -> - let i = Indexed.get_index v in - let v = Indexed.get v in - if Hashtbl.mem tbl i then assert false else Hashtbl.add tbl i v ) + let i = Indexed.get_index v in + let v = Indexed.get v in + if Hashtbl.mem tbl i then assert false else Hashtbl.add tbl i v ) v.values; - Array.init (List.length v.values) (fun i -> - match Hashtbl.find_opt tbl i with None -> assert false | Some v -> v ) + Array.init (List.length v.values) (fun i -> + match Hashtbl.find_opt tbl i with None -> assert false | Some v -> v ) diff --git a/coverage/src/data_structures/stack.ml.html b/coverage/src/data_structures/stack.ml.html index f8e05f657..40824b80e 100644 --- a/coverage/src/data_structures/stack.ml.html +++ b/coverage/src/data_structures/stack.ml.html @@ -525,17 +525,17 @@

96.00%

let empty = [] - let push s v = v :: s + let push s v = v :: s - let push_bool s b = push s (I32 (V.Bool.int32 b)) + let push_bool s b = push s (I32 (V.Bool.int32 b)) - let push_const_i32 s i = push s (I32 (V.const_i32 i)) + let push_const_i32 s i = push s (I32 (V.const_i32 i)) - let push_i32 s i = push s (I32 i) + let push_i32 s i = push s (I32 i) let push_i32_of_int s i = push_const_i32 s (Int32.of_int i) - let push_const_i64 s i = push s (I64 (V.const_i64 i)) + let push_const_i64 s i = push s (I64 (V.const_i64 i)) let push_i64 s i = push s (I64 i) @@ -554,22 +554,22 @@

96.00%

let pp fmt (s : t) = Fmt.list ~sep:(fun fmt () -> Fmt.string fmt " ; ") V.pp fmt s - let pop = function [] -> raise Empty | hd :: tl -> (hd, tl) + let pop = function [] -> raise Empty | hd :: tl -> (hd, tl) - let drop = function [] -> raise Empty | _hd :: tl -> tl + let drop = function [] -> raise Empty | _hd :: tl -> tl let pop_i32 s = - let hd, tl = pop s in - match hd with I32 n -> (n, tl) | _ -> assert false + let hd, tl = pop s in + match hd with I32 n -> (n, tl) | _ -> assert false let pop2_i32 s = - let n2, s = pop s in - let n1, tl = pop s in - match (n1, n2) with I32 n1, I32 n2 -> ((n1, n2), tl) | _ -> assert false + let n2, s = pop s in + let n1, tl = pop s in + match (n1, n2) with I32 n1, I32 n2 -> ((n1, n2), tl) | _ -> assert false let pop_i64 s = - let hd, tl = pop s in - match hd with I64 n -> (n, tl) | _ -> assert false + let hd, tl = pop s in + match hd with I64 n -> (n, tl) | _ -> assert false let pop2_i64 s = let n2, s = pop s in @@ -603,17 +603,17 @@

96.00%

match hd with Ref hd -> (hd, tl) | _ -> assert false let pop_bool s = - let hd, tl = pop s in - match hd with I32 n -> (V.I32.to_bool n, tl) | _ -> assert false + let hd, tl = pop s in + match hd with I32 n -> (V.I32.to_bool n, tl) | _ -> assert false let pop_n s n = - (List.filteri (fun i _hd -> i < n) s, List.filteri (fun i _hd -> i >= n) s) + (List.filteri (fun i _hd -> i < n) s, List.filteri (fun i _hd -> i >= n) s) - let keep s n = List.filteri (fun i _hd -> i < n) s + let keep s n = List.filteri (fun i _hd -> i < n) s let rec drop_n s n = - if n = 0 then s - else match s with [] -> assert false | _ :: tl -> drop_n tl (n - 1) + if n = 0 then s + else match s with [] -> assert false | _ :: tl -> drop_n tl (n - 1) end diff --git a/coverage/src/data_structures/synchronizer.ml.html b/coverage/src/data_structures/synchronizer.ml.html index 437077a38..e446571b4 100644 --- a/coverage/src/data_structures/synchronizer.ml.html +++ b/coverage/src/data_structures/synchronizer.ml.html @@ -173,8 +173,8 @@

87.50%

} let init getter writter = - { mutex = Mutex.create () - ; cond = Condition.create () + { mutex = Mutex.create () + ; cond = Condition.create () ; getter ; writter ; pledges = 0 @@ -182,33 +182,33 @@

87.50%

} let get synchro pledge = - let rec inner_loop synchro pledge = - match synchro.getter () with - | None when synchro.pledges = 0 || synchro.closed -> - Condition.broadcast synchro.cond; - None - | None -> + let rec inner_loop synchro pledge = + match synchro.getter () with + | None when synchro.pledges = 0 || synchro.closed -> + Condition.broadcast synchro.cond; + None + | None -> Condition.wait synchro.cond synchro.mutex; - inner_loop synchro pledge - | Some _ as v -> - if pledge then synchro.pledges <- synchro.pledges + 1; - v + inner_loop synchro pledge + | Some _ as v -> + if pledge then synchro.pledges <- synchro.pledges + 1; + v in - Mutex.protect synchro.mutex (fun () -> inner_loop synchro pledge) + Mutex.protect synchro.mutex (fun () -> inner_loop synchro pledge) let write v { writter; cond; mutex; _ } = - Mutex.protect mutex (fun () -> writter v cond) + Mutex.protect mutex (fun () -> writter v cond) let make_pledge synchro = - Mutex.lock synchro.mutex; - synchro.pledges <- synchro.pledges + 1; + Mutex.lock synchro.mutex; + synchro.pledges <- synchro.pledges + 1; Mutex.unlock synchro.mutex let end_pledge synchro = - Mutex.lock synchro.mutex; - synchro.pledges <- synchro.pledges - 1; + Mutex.lock synchro.mutex; + synchro.pledges <- synchro.pledges - 1; Condition.broadcast synchro.cond; - Mutex.unlock synchro.mutex + Mutex.unlock synchro.mutex let fail q = Mutex.lock q.mutex; @@ -217,12 +217,12 @@

87.50%

Mutex.unlock q.mutex let rec work_while f q = - match get q true with - | None -> () - | Some v -> - let () = f v (fun v -> write v q) in - end_pledge q; - work_while f q + match get q true with + | None -> () + | Some v -> + let () = f v (fun v -> write v q) in + end_pledge q; + work_while f q diff --git a/coverage/src/data_structures/wq.ml.html b/coverage/src/data_structures/wq.ml.html index c3b8d5e64..f9366edb9 100644 --- a/coverage/src/data_structures/wq.ml.html +++ b/coverage/src/data_structures/wq.ml.html @@ -101,34 +101,34 @@

100.00%

type 'a t = ('a, 'a) Synchronizer.t -let pop q pledge = Synchronizer.get q pledge +let pop q pledge = Synchronizer.get q pledge let make_pledge = Synchronizer.make_pledge let end_pledge = Synchronizer.end_pledge let rec read_as_seq (q : 'a t) ~finalizer : 'a Seq.t = - fun () -> - match pop q false with - | None -> + fun () -> + match pop q false with + | None -> finalizer (); - Nil + Nil | Some v -> Cons (v, read_as_seq q ~finalizer) -let push v q = Synchronizer.write v q +let push v q = Synchronizer.write v q -let work_while f q = Synchronizer.work_while f q +let work_while f q = Synchronizer.work_while f q let fail = Synchronizer.fail let make () = - let q = Queue.create () in - let writter v condvar = - let was_empty = Queue.is_empty q in - Queue.push v q; - if was_empty then Condition.broadcast condvar + let q = Queue.create () in + let writter v condvar = + let was_empty = Queue.is_empty q in + Queue.push v q; + if was_empty then Condition.broadcast condvar in - Synchronizer.init (fun () -> Queue.take_opt q) writter + Synchronizer.init (fun () -> Queue.take_opt q) writter diff --git a/coverage/src/interpret/interpret.ml.html b/coverage/src/interpret/interpret.ml.html index 0aaf3b022..317a4ce15 100644 --- a/coverage/src/interpret/interpret.ml.html +++ b/coverage/src/interpret/interpret.ml.html @@ -3255,9 +3255,9 @@

91.97%

let ( = ) = eq - let eqz v = v = zero + let eqz v = v = zero - let min_int = const_i32 Int32.min_int + let min_int = const_i32 Int32.min_int end module I64 = struct @@ -3287,27 +3287,27 @@

91.97%

let eqz v = v = zero - let min_int = const_i64 Int64.min_int + let min_int = const_i64 Int64.min_int end - let page_size = const_i64 65_536L + let page_size = const_i64 65_536L let pop_choice stack = - let b, stack = Stack.pop_bool stack in - let* b = select b in - return (b, stack) + let b, stack = Stack.pop_bool stack in + let* b = select b in + return (b, stack) let ( let> ) v f = - let* v = select v in - f v + let* v = select v in + f v let const = const_i32 - let consti i = const_i32 (Int32.of_int i) + let consti i = const_i32 (Int32.of_int i) let exec_iunop stack nn op = match nn with - | S32 -> + | S32 -> let n, stack = Stack.pop_i32 stack in let res = let open I32 in @@ -3354,15 +3354,15 @@

91.97%

Stack.push_f64 stack res let exec_ibinop (stack : Stack.t) nn (op : ibinop) : Stack.t Choice.t = - match nn with - | S32 -> + match nn with + | S32 -> let (n1, n2), stack = Stack.pop2_i32 stack in - let+ res = + let+ res = let open I32 in match op with - | Add -> Choice.return @@ add n1 n2 - | Sub -> Choice.return @@ sub n1 n2 - | Mul -> Choice.return @@ mul n1 n2 + | Add -> Choice.return @@ add n1 n2 + | Sub -> Choice.return @@ sub n1 n2 + | Mul -> Choice.return @@ mul n1 n2 | Div s -> begin let> cond = eqz n2 in if cond then Choice.trap Integer_divide_by_zero @@ -3374,24 +3374,24 @@

91.97%

else Choice.return @@ div n1 n2 | U -> Choice.return @@ unsigned_div n1 n2 end - | Rem s -> begin - let> cond = eqz n2 in - if cond then Choice.trap Integer_divide_by_zero + | Rem s -> begin + let> cond = eqz n2 in + if cond then Choice.trap Integer_divide_by_zero else - match s with + match s with | S -> Choice.return @@ rem n1 n2 - | U -> Choice.return @@ unsigned_rem n1 n2 + | U -> Choice.return @@ unsigned_rem n1 n2 end - | And -> Choice.return @@ logand n1 n2 + | And -> Choice.return @@ logand n1 n2 | Or -> Choice.return @@ logor n1 n2 - | Xor -> Choice.return @@ logxor n1 n2 - | Shl -> Choice.return @@ shl n1 n2 - | Shr S -> Choice.return @@ shr_s n1 n2 - | Shr U -> Choice.return @@ shr_u n1 n2 + | Xor -> Choice.return @@ logxor n1 n2 + | Shl -> Choice.return @@ shl n1 n2 + | Shr S -> Choice.return @@ shr_s n1 n2 + | Shr U -> Choice.return @@ shr_u n1 n2 | Rotl -> Choice.return @@ rotl n1 n2 | Rotr -> Choice.return @@ rotr n1 n2 in - Stack.push_i32 stack res + Stack.push_i32 stack res | S64 -> let (n1, n2), stack = Stack.pop2_i64 stack in let+ res = @@ -3461,10 +3461,10 @@

91.97%

| Copysign -> copy_sign f1 f2 ) let exec_itestop stack nn op = - match nn with - | S32 -> + match nn with + | S32 -> let n, stack = Stack.pop_i32 stack in - let res = match op with Eqz -> I32.eq_const n 0l in + let res = match op with Eqz -> I32.eq_const n 0l in Stack.push_bool stack res | S64 -> let n, stack = Stack.pop_i64 stack in @@ -3472,19 +3472,19 @@

91.97%

Stack.push_bool stack res let exec_irelop stack nn (op : irelop) = - match nn with - | S32 -> + match nn with + | S32 -> let (n1, n2), stack = Stack.pop2_i32 stack in - let res = + let res = let open I32 in match op with - | Eq -> eq n1 n2 - | Ne -> ne n1 n2 - | Lt S -> lt n1 n2 - | Lt U -> lt_u n1 n2 - | Gt S -> gt n1 n2 + | Eq -> eq n1 n2 + | Ne -> ne n1 n2 + | Lt S -> lt n1 n2 + | Lt U -> lt_u n1 n2 + | Gt S -> gt n1 n2 | Gt U -> gt_u n1 n2 - | Le S -> le n1 n2 + | Le S -> le n1 n2 | Le U -> le_u n1 n2 | Ge S -> ge n1 n2 | Ge U -> ge_u n1 n2 @@ -3682,8 +3682,8 @@

91.97%

end let init_local (_id, t) : Value.t = - match t with - | Num_type I32 -> I32 I32.zero + match t with + | Num_type I32 -> I32 I32.zero | Num_type I64 -> I64 I64.zero | Num_type F32 -> F32 F32.zero | Num_type F64 -> F64 F64.zero @@ -3695,10 +3695,10 @@

91.97%

type extern_func = Extern_func.extern_func let exec_extern_func env stack (f : extern_func) = - let pop_arg (type ty) stack (arg : ty Extern_func.telt) : + let pop_arg (type ty) stack (arg : ty Extern_func.telt) : (ty * Stack.t) Choice.t = - match arg with - | I32 -> Choice.return @@ Stack.pop_i32 stack + match arg with + | I32 -> Choice.return @@ Stack.pop_i32 stack | I64 -> Choice.return @@ Stack.pop_i64 stack | F32 -> Choice.return @@ Stack.pop_f32 stack | F64 -> Choice.return @@ Stack.pop_f64 stack @@ -3712,48 +3712,48 @@

91.97%

let rec split_args : type f r. Stack.t -> (f, r) Extern_func.atype -> Stack.t * Stack.t = fun stack ty -> - let[@local] split_one_arg args = - let elt, stack = Stack.pop stack in - let elts, stack = split_args stack args in - (elt :: elts, stack) + let[@local] split_one_arg args = + let elt, stack = Stack.pop stack in + let elts, stack = split_args stack args in + (elt :: elts, stack) in match ty with - | Mem args -> split_args stack args - | Arg (_, args) -> split_one_arg args + | Mem args -> split_args stack args + | Arg (_, args) -> split_one_arg args | UArg args -> split_args stack args | NArg (_, _, args) -> split_one_arg args - | Res -> ([], stack) + | Res -> ([], stack) in let rec apply : type f r. Stack.t -> (f, r) Extern_func.atype -> f -> r Choice.t = fun stack ty f -> - match ty with - | Mem args -> - let* mem = Env.get_memory env mem_0 in - apply stack args (f mem) - | Arg (arg, args) -> - let* v, stack = pop_arg stack arg in - apply stack args (f v) + match ty with + | Mem args -> + let* mem = Env.get_memory env mem_0 in + apply stack args (f mem) + | Arg (arg, args) -> + let* v, stack = pop_arg stack arg in + apply stack args (f v) | UArg args -> apply stack args (f ()) | NArg (_, arg, args) -> let* v, stack = pop_arg stack arg in apply stack args (f v) - | Res -> Choice.return f + | Res -> Choice.return f in let (Extern_func.Extern_func (Func (atype, rtype), func)) = f in let args, stack = split_args stack atype in - let* r = apply (List.rev args) atype func in - let push_val (type ty) (arg : ty Extern_func.telt) (v : ty) stack = - match arg with - | I32 -> Stack.push_i32 stack v + let* r = apply (List.rev args) atype func in + let push_val (type ty) (arg : ty Extern_func.telt) (v : ty) stack = + match arg with + | I32 -> Stack.push_i32 stack v | I64 -> Stack.push_i64 stack v | F32 -> Stack.push_f32 stack v | F64 -> Stack.push_f64 stack v | Externref ty -> Stack.push_as_externref stack ty v in let+ r in - match (rtype, r) with - | R0, () -> stack + match (rtype, r) with + | R0, () -> stack | R1 t1, v1 -> push_val t1 v1 stack | R2 (t1, t2), (v1, v2) -> push_val t1 v1 stack |> push_val t2 v2 | R3 (t1, t2, t3), (v1, v2, v3) -> @@ -3779,12 +3779,12 @@

91.97%

let of_list = Array.of_list - let get t i = Array.unsafe_get t i + let get t i = Array.unsafe_get t i let set t i v = - let locals = Array.copy t in - Array.unsafe_set locals i v; - locals + let locals = Array.copy t in + Array.unsafe_set locals i v; + locals end type pc = binary instr list @@ -3865,19 +3865,19 @@

91.97%

calls count.calls let empty_count name = - { name; enter = 0; instructions = 0; calls = Hashtbl.create 0 } + { name; enter = 0; instructions = 0; calls = Hashtbl.create 0 } let count_instruction state = - state.count.instructions <- state.count.instructions + 1 + state.count.instructions <- state.count.instructions + 1 let enter_function_count count func_name func = - let c = + let c = match Hashtbl.find_opt count.calls func with - | None -> + | None -> let c = empty_count func_name in - Hashtbl.add count.calls func c; - c - | Some c -> c + Hashtbl.add count.calls func c; + c + | Some c -> c in c.enter <- c.enter + 1; c @@ -3887,50 +3887,50 @@

91.97%

| Continue of exec_state let return (state : exec_state) = - let args = Stack.keep state.stack (List.length state.func_rt) in - match state.return_state with - | None -> Return args - | Some state -> + let args = Stack.keep state.stack (List.length state.func_rt) in + match state.return_state with + | None -> Return args + | Some state -> let stack = args @ state.stack in Continue { state with stack } let branch (state : exec_state) n = - let block_stack = Stack.drop_n state.block_stack n in - match block_stack with + let block_stack = Stack.drop_n state.block_stack n in + match block_stack with | [] -> Choice.return (return state) - | block :: block_stack_tl -> + | block :: block_stack_tl -> let block_stack = - if block.is_loop then block_stack else block_stack_tl + if block.is_loop then block_stack else block_stack_tl in - let args = Stack.keep state.stack (List.length block.branch_rt) in - let stack = args @ block.stack in + let args = Stack.keep state.stack (List.length block.branch_rt) in + let stack = args @ block.stack in Choice.return (Continue { state with block_stack; pc = block.branch; stack }) let end_block (state : exec_state) = - match state.block_stack with - | [] -> Choice.return (return state) - | block :: block_stack -> - let args = Stack.keep state.stack (List.length block.continue_rt) in - let stack = args @ block.stack in + match state.block_stack with + | [] -> Choice.return (return state) + | block :: block_stack -> + let args = Stack.keep state.stack (List.length block.continue_rt) in + let stack = args @ block.stack in Choice.return (Continue { state with block_stack; pc = block.continue; stack }) end let exec_block (state : State.exec_state) ~is_loop (bt : binary block_type option) expr = - let pt, rt = + let pt, rt = match bt with - | None -> ([], []) - | Some (Bt_raw ((None | Some _), (pt, rt))) -> (List.map snd pt, rt) + | None -> ([], []) + | Some (Bt_raw ((None | Some _), (pt, rt))) -> (List.map snd pt, rt) in let block : State.block = - let branch_rt, branch = if is_loop then (pt, expr) else (rt, state.pc) in + let branch_rt, branch = if is_loop then (pt, expr) else (rt, state.pc) in { branch ; branch_rt ; continue = state.pc ; continue_rt = rt - ; stack = Stack.drop_n state.stack (List.length pt) + ; stack = Stack.drop_n state.stack (List.length pt) ; is_loop } in @@ -3940,17 +3940,17 @@

91.97%

let exec_func ~return ~id (state : State.exec_state) env (func : binary Types.func) = - Log.debug1 "calling func : func %s@." - (Option.value func.id ~default:"anonymous"); - let (Bt_raw ((None | Some _), (param_type, result_type))) = func.type_f in - let args, stack = Stack.pop_n state.stack (List.length param_type) in - let return_state = - if return then state.return_state else Some { state with stack } + Log.debug1 "calling func : func %s@." + (Option.value func.id ~default:"anonymous"); + let (Bt_raw ((None | Some _), (param_type, result_type))) = func.type_f in + let args, stack = Stack.pop_n state.stack (List.length param_type) in + let return_state = + if return then state.return_state else Some { state with stack } in let locals = - State.Locals.of_list @@ List.rev args @ List.map init_local func.locals + State.Locals.of_list @@ List.rev args @ List.map init_local func.locals in - State. + State. { stack = [] ; locals ; pc = func.body @@ -3959,24 +3959,24 @@

91.97%

; return_state ; env ; envs = state.envs - ; count = enter_function_count state.count func.id id + ; count = enter_function_count state.count func.id id } let exec_vfunc ~return (state : State.exec_state) (func : Func_intf.t) = - match func with - | WASM (id, func, env_id) -> + match func with + | WASM (id, func, env_id) -> let env = Env_id.get env_id state.envs in - let id = Raw id in - Choice.return (State.Continue (exec_func ~return ~id state env func)) - | Extern f -> + let id = Raw id in + Choice.return (State.Continue (exec_func ~return ~id state env func)) + | Extern f -> let f = Env.get_extern_func state.env f in - let+ stack = exec_extern_func state.env state.stack f in - let state = { state with stack } in - if return then State.return state else State.Continue state + let+ stack = exec_extern_func state.env state.stack f in + let state = { state with stack } in + if return then State.return state else State.Continue state let func_type (state : State.exec_state) (f : Func_intf.t) = - match f with - | WASM (_, func, _) -> + match f with + | WASM (_, func, _) -> let (Bt_raw ((None | Some _), t)) = func.type_f in t | Extern f -> @@ -4003,57 +4003,57 @@

91.97%

let call_indirect ~return (state : State.exec_state) (tbl_i, (Bt_raw ((None | Some _), typ_i) : binary block_type)) = - let fun_i, stack = Stack.pop_i32 state.stack in - let state = { state with stack } in - let* t = Env.get_table state.env tbl_i in - let _null, ref_kind = Table.typ t in - match ref_kind with - | Func_ht -> + let fun_i, stack = Stack.pop_i32 state.stack in + let state = { state with stack } in + let* t = Env.get_table state.env tbl_i in + let _null, ref_kind = Table.typ t in + match ref_kind with + | Func_ht -> let size = Table.size t in - let> out_of_bounds = I32.(le_u (consti size) fun_i) in - if out_of_bounds then Choice.trap Undefined_element + let> out_of_bounds = I32.(le_u (consti size) fun_i) in + if out_of_bounds then Choice.trap Undefined_element else - let* fun_i = Choice.select_i32 fun_i in - let fun_i = Int32.to_int fun_i in - let f_ref = Table.get t fun_i in - begin + let* fun_i = Choice.select_i32 fun_i in + let fun_i = Int32.to_int fun_i in + let f_ref = Table.get t fun_i in + begin match Ref.get_func f_ref with | Null -> Choice.trap (Uninitialized_element fun_i) | Type_mismatch -> Choice.trap Element_type_error - | Ref_value func -> + | Ref_value func -> let ft = func_type state func in - let ft' = typ_i in - if not (Types.func_type_eq ft ft') then + let ft' = typ_i in + if not (Types.func_type_eq ft ft') then Choice.trap Indirect_call_type_mismatch - else exec_vfunc ~return state func + else exec_vfunc ~return state func end | _ -> Choice.trap Indirect_call_type_mismatch let exec_instr instr (state : State.exec_state) : State.instr_result Choice.t = - State.count_instruction state; - let stack = state.stack in + State.count_instruction state; + let stack = state.stack in let env = state.env in let locals = state.locals in - let st stack = Choice.return (State.Continue { state with stack }) in + let st stack = Choice.return (State.Continue { state with stack }) in Log.debug2 "stack : [ %a ]@." Stack.pp stack; - Log.debug2 "running instr: %a@." Types.pp_instr instr; - match instr with - | Return -> Choice.return (State.return state) + Log.debug2 "running instr: %a@." Types.pp_instr instr; + match instr with + | Return -> Choice.return (State.return state) | Nop -> Choice.return (State.Continue state) | Unreachable -> Choice.trap Unreachable - | I32_const n -> st @@ Stack.push_const_i32 stack n - | I64_const n -> st @@ Stack.push_const_i64 stack n + | I32_const n -> st @@ Stack.push_const_i32 stack n + | I64_const n -> st @@ Stack.push_const_i64 stack n | F32_const f -> st @@ Stack.push_const_f32 stack f | F64_const f -> st @@ Stack.push_const_f64 stack f - | I_unop (nn, op) -> st @@ exec_iunop stack nn op + | I_unop (nn, op) -> st @@ exec_iunop stack nn op | F_unop (nn, op) -> st @@ exec_funop stack nn op - | I_binop (nn, op) -> - let* stack = exec_ibinop stack nn op in - st stack + | I_binop (nn, op) -> + let* stack = exec_ibinop stack nn op in + st stack | F_binop (nn, op) -> st @@ exec_fbinop stack nn op - | I_testop (nn, op) -> st @@ exec_itestop stack nn op - | I_relop (nn, op) -> st @@ exec_irelop stack nn op + | I_testop (nn, op) -> st @@ exec_itestop stack nn op + | I_relop (nn, op) -> st @@ exec_irelop stack nn op | F_relop (nn, op) -> st @@ exec_frelop stack nn op | I_extend8_s nn -> begin match nn with @@ -4112,31 +4112,31 @@

91.97%

| Ref_func (Raw i) -> let f = Env.get_func env i in st @@ Stack.push stack (ref_func f) - | Drop -> st @@ Stack.drop stack - | Local_get (Raw i) -> st @@ Stack.push stack (State.Locals.get locals i) - | Local_set (Raw i) -> + | Drop -> st @@ Stack.drop stack + | Local_get (Raw i) -> st @@ Stack.push stack (State.Locals.get locals i) + | Local_set (Raw i) -> let v, stack = Stack.pop stack in - let locals = State.Locals.set locals i v in - Choice.return (State.Continue { state with locals; stack }) + let locals = State.Locals.set locals i v in + Choice.return (State.Continue { state with locals; stack }) | If_else (_id, bt, e1, e2) -> let* b, stack = pop_choice stack in - let state = { state with stack } in - exec_block state ~is_loop:false bt (if b then e1 else e2) - | Call (Raw i) -> begin + let state = { state with stack } in + exec_block state ~is_loop:false bt (if b then e1 else e2) + | Call (Raw i) -> begin let func = Env.get_func env i in - exec_vfunc ~return:false state func + exec_vfunc ~return:false state func end | Return_call (Raw i) -> begin let func = Env.get_func env i in exec_vfunc ~return:true state func end - | Br (Raw i) -> State.branch state i - | Br_if (Raw i) -> - let* b, stack = pop_choice stack in - let state = { state with stack } in - if b then State.branch state i else Choice.return (State.Continue state) - | Loop (_id, bt, e) -> exec_block state ~is_loop:true bt e - | Block (_id, bt, e) -> exec_block state ~is_loop:false bt e + | Br (Raw i) -> State.branch state i + | Br_if (Raw i) -> + let* b, stack = pop_choice stack in + let state = { state with stack } in + if b then State.branch state i else Choice.return (State.Continue state) + | Loop (_id, bt, e) -> exec_block state ~is_loop:true bt e + | Block (_id, bt, e) -> exec_block state ~is_loop:false bt e | Memory_size -> let* mem = Env.get_memory env mem_0 in let len = Memory.size_in_pages mem in @@ -4204,9 +4204,9 @@

91.97%

| Select _t -> if use_ite_for_select then begin let b, stack = Stack.pop_bool stack in - let o2, stack = Stack.pop stack in - let o1, stack = Stack.pop stack in - let* res = P.select b ~if_true:o1 ~if_false:o2 in + let o2, stack = Stack.pop stack in + let o1, stack = Stack.pop stack in + let* res = P.select b ~if_true:o1 ~if_false:o2 in st @@ Stack.push stack res end else begin @@ -4215,24 +4215,24 @@

91.97%

let o1, stack = Stack.pop stack in st @@ Stack.push stack (if b then o1 else o2) end - | Local_tee (Raw i) -> + | Local_tee (Raw i) -> let v, stack = Stack.pop stack in let locals = State.Locals.set locals i v in - let stack = Stack.push stack v in - Choice.return (State.Continue { state with locals; stack }) - | Global_get (Raw i) -> + let stack = Stack.push stack v in + Choice.return (State.Continue { state with locals; stack }) + | Global_get (Raw i) -> let* g = Env.get_global env i in - st @@ Stack.push stack (Global.value g) - | Global_set (Raw i) -> - let* global = Env.get_global env i in - let v, stack = + st @@ Stack.push stack (Global.value g) + | Global_set (Raw i) -> + let* global = Env.get_global env i in + let v, stack = match Global.typ global with | Ref_type _rt -> Stack.pop_ref stack - | Num_type nt -> ( + | Num_type nt -> ( match nt with - | I32 -> + | I32 -> let v, stack = Stack.pop_i32 stack in - (I32 v, stack) + (I32 v, stack) | I64 -> let v, stack = Stack.pop_i64 stack in (I64 v, stack) @@ -4244,7 +4244,7 @@

91.97%

(F64 v, stack) ) in Global.set_value global v; - st stack + st stack | Table_get (Raw i) -> let* t = Env.get_table env i in let i, stack = Stack.pop_i32 stack in @@ -4390,71 +4390,71 @@

91.97%

match nn with | S32 -> Stack.push_i32 stack res | S64 -> Stack.push_i64 stack (I64.of_int32 res) ) - | I_load8 (nn, sx, { offset; _ }) -> ( - let* mem = Env.get_memory env mem_0 in - let pos, stack = Stack.pop_i32 stack in - let offset = const offset in - let addr = I32.(pos + offset) in + | I_load8 (nn, sx, { offset; _ }) -> ( + let* mem = Env.get_memory env mem_0 in + let pos, stack = Stack.pop_i32 stack in + let offset = const offset in + let addr = I32.(pos + offset) in let> out_of_bounds = - Bool.or_ I32.(offset < const 0l) - @@ Bool.or_ - I32.(lt_u (Memory.size mem) (addr + const 1l)) - I32.(pos < const 0l) + Bool.or_ I32.(offset < const 0l) + @@ Bool.or_ + I32.(lt_u (Memory.size mem) (addr + const 1l)) + I32.(pos < const 0l) in - if out_of_bounds then Choice.trap Out_of_bounds_memory_access + if out_of_bounds then Choice.trap Out_of_bounds_memory_access else - let* res = - (match sx with S -> Memory.load_8_s | U -> Memory.load_8_u) mem addr + let* res = + (match sx with S -> Memory.load_8_s | U -> Memory.load_8_u) mem addr in - st + st @@ match nn with - | S32 -> Stack.push_i32 stack res + | S32 -> Stack.push_i32 stack res | S64 -> Stack.push_i64 stack (I64.of_int32 res) ) - | I_store8 (nn, { offset; _ }) -> - let* mem = Env.get_memory env mem_0 in - let n, stack = + | I_store8 (nn, { offset; _ }) -> + let* mem = Env.get_memory env mem_0 in + let n, stack = match nn with - | S32 -> + | S32 -> let n, stack = Stack.pop_i32 stack in - (n, stack) + (n, stack) | S64 -> let n, stack = Stack.pop_i64 stack in (I64.to_int32 n, stack) in let pos, stack = Stack.pop_i32 stack in - let offset = const offset in - let addr = I32.(pos + offset) in + let offset = const offset in + let addr = I32.(pos + offset) in let> out_of_bounds = - Bool.or_ I32.(offset < const 0l) - @@ Bool.or_ - I32.(lt_u (Memory.size mem) (addr + const 1l)) - I32.(pos < const 0l) + Bool.or_ I32.(offset < const 0l) + @@ Bool.or_ + I32.(lt_u (Memory.size mem) (addr + const 1l)) + I32.(pos < const 0l) in - if out_of_bounds then Choice.trap Out_of_bounds_memory_access - else begin - let* () = Memory.store_8 mem ~addr n in + if out_of_bounds then Choice.trap Out_of_bounds_memory_access + else begin + let* () = Memory.store_8 mem ~addr n in (* Thread memory ? *) - st stack + st stack end - | I_load (nn, { offset; _ }) -> - let* mem = Env.get_memory env mem_0 in - let pos, stack = Stack.pop_i32 stack in - let memory_length = Memory.size mem in - let offset = const offset in - let addr = I32.(pos + offset) in + | I_load (nn, { offset; _ }) -> + let* mem = Env.get_memory env mem_0 in + let pos, stack = Stack.pop_i32 stack in + let memory_length = Memory.size mem in + let offset = const offset in + let addr = I32.(pos + offset) in let> out_of_bounds = - Bool.or_ I32.(offset < const 0l) I32.(pos < const 0l) + Bool.or_ I32.(offset < const 0l) I32.(pos < const 0l) in - if out_of_bounds then Choice.trap Out_of_bounds_memory_access - else begin + if out_of_bounds then Choice.trap Out_of_bounds_memory_access + else begin match nn with - | S32 -> - let> out_of_bounds = I32.(lt_u memory_length (addr + const 4l)) in - if out_of_bounds then Choice.trap Out_of_bounds_memory_access + | S32 -> + let> out_of_bounds = I32.(lt_u memory_length (addr + const 4l)) in + if out_of_bounds then Choice.trap Out_of_bounds_memory_access else - let* res = Memory.load_32 mem addr in - st @@ Stack.push_i32 stack res + let* res = Memory.load_32 mem addr in + st @@ Stack.push_i32 stack res | S64 -> let> out_of_bounds = I32.(lt_u memory_length (addr + const 8l)) in if out_of_bounds then Choice.trap Out_of_bounds_memory_access @@ -4489,36 +4489,36 @@

91.97%

let res = F64.of_bits res in st @@ Stack.push_f64 stack res end - | I_store (nn, { offset; _ }) -> ( - let* mem = Env.get_memory env mem_0 in - let memory_length = Memory.size mem in - let offset = const offset in - match nn with - | S32 -> + | I_store (nn, { offset; _ }) -> ( + let* mem = Env.get_memory env mem_0 in + let memory_length = Memory.size mem in + let offset = const offset in + match nn with + | S32 -> let n, stack = Stack.pop_i32 stack in - let pos, stack = Stack.pop_i32 stack in - let addr = I32.(pos + offset) in + let pos, stack = Stack.pop_i32 stack in + let addr = I32.(pos + offset) in let> out_of_bounds = - Bool.or_ I32.(lt_u memory_length (addr + const 4l)) - @@ I32.(pos < const 0l) + Bool.or_ I32.(lt_u memory_length (addr + const 4l)) + @@ I32.(pos < const 0l) in - if out_of_bounds then Choice.trap Out_of_bounds_memory_access - else begin - let* () = Memory.store_32 mem ~addr n in - st stack + if out_of_bounds then Choice.trap Out_of_bounds_memory_access + else begin + let* () = Memory.store_32 mem ~addr n in + st stack end - | S64 -> + | S64 -> let n, stack = Stack.pop_i64 stack in let pos, stack = Stack.pop_i32 stack in - let addr = I32.(pos + offset) in + let addr = I32.(pos + offset) in let> out_of_bounds = - Bool.or_ I32.(lt_u memory_length (addr + const 8l)) - @@ I32.(pos < const 0l) + Bool.or_ I32.(lt_u memory_length (addr + const 8l)) + @@ I32.(pos < const 0l) in - if out_of_bounds then Choice.trap Out_of_bounds_memory_access - else begin - let* () = Memory.store_64 mem ~addr n in - st stack + if out_of_bounds then Choice.trap Out_of_bounds_memory_access + else begin + let* () = Memory.store_64 mem ~addr n in + st stack end ) | F_store (nn, { offset; _ }) -> ( let* mem = Env.get_memory env mem_0 in @@ -4621,20 +4621,20 @@

91.97%

let* data = Env.get_data env i in Env.drop_data data; st stack - | Br_table (inds, Raw i) -> + | Br_table (inds, Raw i) -> let target, stack = Stack.pop_i32 stack in - let> out = I32.(ge_u target (const (Int32.of_int (Array.length inds)))) in - let* target = - if out then return i + let> out = I32.(ge_u target (const (Int32.of_int (Array.length inds)))) in + let* target = + if out then return i else - let+ target = Choice.select_i32 target in - let target = Int32.to_int target in - let (Raw i) = inds.(target) in - i + let+ target = Choice.select_i32 target in + let target = Int32.to_int target in + let (Raw i) = inds.(target) in + i in - let state = { state with stack } in + let state = { state with stack } in State.branch state target - | Call_indirect (Raw tbl_i, typ_i) -> + | Call_indirect (Raw tbl_i, typ_i) -> call_indirect ~return:false state (tbl_i, typ_i) | Return_call_indirect (Raw tbl_i, typ_i) -> call_indirect ~return:true state (tbl_i, typ_i) @@ -4664,25 +4664,25 @@

91.97%

st stack let rec loop (state : State.exec_state) = - match state.pc with - | instr :: pc -> begin - let* state = exec_instr instr { state with pc } in - match state with - | State.Continue state -> loop state + match state.pc with + | instr :: pc -> begin + let* state = exec_instr instr { state with pc } in + match state with + | State.Continue state -> loop state | State.Return res -> Choice.return res end - | [] -> ( + | [] -> ( Log.debug2 "stack : [ %a ]@." Stack.pp state.stack; - let* state = State.end_block state in - match state with - | State.Continue state -> loop state - | State.Return res -> Choice.return res ) + let* state = State.end_block state in + match state with + | State.Continue state -> loop state + | State.Return res -> Choice.return res ) let exec_expr envs env locals stack expr bt = - let count = State.empty_count (Some "start") in - count.enter <- count.enter + 1; + let count = State.empty_count (Some "start") in + count.enter <- count.enter + 1; let state : State.exec_state = - let func_rt = match bt with None -> [] | Some rt -> rt in + let func_rt = match bt with None -> [] | Some rt -> rt in { stack ; locals ; env @@ -4694,31 +4694,31 @@

91.97%

; count } in - let+ state = loop state in - (state, count) + let+ state = loop state in + (state, count) let modul envs (modul : Module_to_run.t) = - Log.debug0 "interpreting ...@\n"; + Log.debug0 "interpreting ...@\n"; - try + try begin let+ () = - List.fold_left + List.fold_left (fun u to_run -> - let* () = u in - let+ _end_stack, count = + let* () = u in + let+ _end_stack, count = let env = Module_to_run.env modul in - exec_expr envs env (State.Locals.of_list []) Stack.empty to_run + exec_expr envs env (State.Locals.of_list []) Stack.empty to_run None in - Log.profile3 "Exec module %s@.%a@." - (Option.value (Module_to_run.modul modul).id + Log.profile3 "Exec module %s@.%a@." + (Option.value (Module_to_run.modul modul).id ~default:"anonymous" ) State.print_count count ) - (Choice.return ()) - (Module_to_run.to_run modul) + (Choice.return ()) + (Module_to_run.to_run modul) in - Ok () + Ok () end with | Trap msg -> Choice.return (Error (`Msg msg)) diff --git a/coverage/src/link/link.ml.html b/coverage/src/link/link.ml.html index d1ed3836e..041ba920e 100644 --- a/coverage/src/link/link.ml.html +++ b/coverage/src/link/link.ml.html @@ -1097,15 +1097,15 @@

91.76%

| Imported import -> load_global ls import let eval_globals ls env globals : Link_env.Build.t Result.t = - let+ env, _i = - array_fold_left + let+ env, _i = + array_fold_left (fun (env, i) global -> let+ global = eval_global ls env global in let env = Link_env.Build.add_global i global env in (env, succ i) ) (env, 0) globals in - env + env (* let eval_in_data (env : Link_env.t) (data : _ data') : (int, value) data' = @@ -1141,15 +1141,15 @@

91.76%

| Imported import -> load_memory ls import let eval_memories ls env memories = - let+ env, _i = - array_fold_left + let+ env, _i = + array_fold_left (fun (env, id) mem -> let+ memory = eval_memory ls mem in let env = Link_env.Build.add_memory id memory env in (env, succ id) ) (env, 0) memories in - env + env let table_types_are_compatible (import, (t1 : binary ref_type)) (imported, t2) = limit_is_included ~import ~imported && Types.ref_type_eq t1 t2 @@ -1167,15 +1167,15 @@

91.76%

| Imported import -> load_table ls import let eval_tables ls env tables = - let+ env, _i = - array_fold_left + let+ env, _i = + array_fold_left (fun (env, i) table -> let+ table = eval_table ls table in let env = Link_env.Build.add_table i table env in (env, succ i) ) (env, 0) tables in - env + env let load_func (ls : 'f state) (import : binary block_type Imported.t) : func Result.t = @@ -1192,20 +1192,20 @@

91.76%

else Error `Incompatible_import_type let eval_func ls (finished_env : Link_env.t') func : func Result.t = - match func with - | Runtime.Local func -> ok @@ Concrete_value.Func.wasm func finished_env + match func with + | Runtime.Local func -> ok @@ Concrete_value.Func.wasm func finished_env | Imported import -> load_func ls import let eval_functions ls (finished_env : Link_env.t') env functions = - let+ env, _i = - array_fold_left + let+ env, _i = + array_fold_left (fun (env, i) func -> - let+ func = eval_func ls finished_env func in - let env = Link_env.Build.add_func i func env in - (env, succ i) ) + let+ func = eval_func ls finished_env func in + let env = Link_env.Build.add_func i func env in + (env, succ i) ) (env, 0) functions in - env + env let active_elem_expr ~offset ~length ~table ~elem = [ I32_const offset @@ -1231,8 +1231,8 @@

91.76%

| _ -> Error (`Type_mismatch "get_i32") let define_data env data = - let+ env, init, _i = - array_fold_left + let+ env, init, _i = + array_fold_left (fun (env, init, i) (data : Binary.data) -> let data' : Link_env.data = { value = data.init } in let env = Link_env.Build.add_data i data' env in @@ -1250,11 +1250,11 @@

91.76%

(env, init, succ i) ) (env, [], 0) data in - (env, List.rev init) + (env, List.rev init) let define_elem env elem = - let+ env, inits, _i = - array_fold_left + let+ env, inits, _i = + array_fold_left (fun (env, inits, i) (elem : Binary.elem) -> let* init = list_map (Eval_const.expr env) elem.init in let* init_as_ref = @@ -1285,11 +1285,11 @@

91.76%

(env, inits, succ i) ) (env, [], 0) elem in - (env, List.rev inits) + (env, List.rev inits) let populate_exports env (exports : Binary.exports) : exports Result.t = - let fill_exports get_env exports names = - list_fold_left + let fill_exports get_env exports names = + list_fold_left (fun (acc, names) (export : Binary.export) -> let value = get_env env export.id in if StringSet.mem export.name names then Error `Duplicate_export_name @@ -1300,71 +1300,71 @@

91.76%

(StringMap.empty, names) exports in let names = StringSet.empty in - let* globals, names = fill_exports Link_env.get_global exports.global names in - let* memories, names = fill_exports Link_env.get_memory exports.mem names in - let* tables, names = fill_exports Link_env.get_table exports.table names in - let* functions, names = fill_exports Link_env.get_func exports.func names in - Ok { globals; memories; tables; functions; defined_names = names } + let* globals, names = fill_exports Link_env.get_global exports.global names in + let* memories, names = fill_exports Link_env.get_memory exports.mem names in + let* tables, names = fill_exports Link_env.get_table exports.table names in + let* functions, names = fill_exports Link_env.get_func exports.func names in + Ok { globals; memories; tables; functions; defined_names = names } let modul (ls : 'f state) ~name (modul : Binary.modul) = - Log.debug0 "linking ...@\n"; - let* envs, (env, init_active_data, init_active_elem) = - Env_id.with_fresh_id + Log.debug0 "linking ...@\n"; + let* envs, (env, init_active_data, init_active_elem) = + Env_id.with_fresh_id (fun env_id -> - let env = Link_env.Build.empty in - let* env = eval_functions ls env_id env modul.func in - let* env = eval_globals ls env modul.global in - let* env = eval_memories ls env modul.mem in - let* env = eval_tables ls env modul.table in - let* env, init_active_data = define_data env modul.data in - let+ env, init_active_elem = define_elem env modul.elem in - let finished_env = Link_env.freeze env_id env ls.collection in - (finished_env, (finished_env, init_active_data, init_active_elem)) ) + let env = Link_env.Build.empty in + let* env = eval_functions ls env_id env modul.func in + let* env = eval_globals ls env modul.global in + let* env = eval_memories ls env modul.mem in + let* env = eval_tables ls env modul.table in + let* env, init_active_data = define_data env modul.data in + let+ env, init_active_elem = define_elem env modul.elem in + let finished_env = Link_env.freeze env_id env ls.collection in + (finished_env, (finished_env, init_active_data, init_active_elem)) ) ls.envs in - let* by_id_exports = populate_exports env modul.exports in - let by_id = + let* by_id_exports = populate_exports env modul.exports in + let by_id = match modul.id with - | None -> ls.by_id + | None -> ls.by_id | Some id -> StringMap.add id (by_id_exports, Link_env.id env) ls.by_id in let by_name = match name with - | None -> ls.by_name + | None -> ls.by_name | Some name -> StringMap.add name by_id_exports ls.by_name in let start = - Option.map (fun start_id -> [ Call (Raw start_id) ]) modul.start + Option.map (fun start_id -> [ Call (Raw start_id) ]) modul.start in - let start = Option.fold ~none:[] ~some:(fun s -> [ s ]) start in - let to_run = (init_active_data @ init_active_elem) @ start in + let start = Option.fold ~none:[] ~some:(fun s -> [ s ]) start in + let to_run = (init_active_data @ init_active_elem) @ start in let module_to_run = { modul; env; to_run } in Ok ( module_to_run , { by_id ; by_name - ; last = Some (by_id_exports, Link_env.id env) + ; last = Some (by_id_exports, Link_env.id env) ; collection = ls.collection ; envs } ) let extern_module' (ls : 'f state) ~name ~(func_typ : 'f -> binary func_type) (module_ : 'f extern_module) = - let functions, collection = + let functions, collection = List.fold_left (fun (functions, collection) (name, func) -> - let typ = func_typ func in - let id, collection = Func_id.add func typ collection in - ((name, Func_intf.Extern id) :: functions, collection) ) + let typ = func_typ func in + let id, collection = Func_id.add func typ collection in + ((name, Func_intf.Extern id) :: functions, collection) ) ([], ls.collection) module_.functions in - let functions = StringMap.of_seq (List.to_seq functions) in - let defined_names = + let functions = StringMap.of_seq (List.to_seq functions) in + let defined_names = StringMap.fold - (fun name _ set -> StringSet.add name set) + (fun name _ set -> StringSet.add name set) functions StringSet.empty in - let exports = + let exports = { functions ; globals = StringMap.empty ; memories = StringMap.empty @@ -1372,7 +1372,7 @@

91.76%

; defined_names } in - { ls with by_name = StringMap.add name exports ls.by_name; collection } + { ls with by_name = StringMap.add name exports ls.by_name; collection } let extern_module ls ~name modul = extern_module' ls ~name ~func_typ:Concrete_value.Func.extern_type modul diff --git a/coverage/src/link/link_env.ml.html b/coverage/src/link/link_env.ml.html index 71384b546..8ffbf4065 100644 --- a/coverage/src/link/link_env.ml.html +++ b/coverage/src/link/link_env.ml.html @@ -477,21 +477,21 @@

94.74%

let _ : _ IMap.t = IMap.merge (apply recover_elem) backup.elem into.elem in () -let id (env : _ t) = env.id +let id (env : _ t) = env.id -let get_global (env : _ t) id = IMap.find id env.globals +let get_global (env : _ t) id = IMap.find id env.globals -let get_memory (env : _ t) id = IMap.find id env.memories +let get_memory (env : _ t) id = IMap.find id env.memories -let get_table (env : _ t) id = IMap.find id env.tables +let get_table (env : _ t) id = IMap.find id env.tables -let get_func (env : _ t) id = IMap.find id env.functions +let get_func (env : _ t) id = IMap.find id env.functions let get_data (env : _ t) id = IMap.find id env.data let get_elem (env : _ t) id = IMap.find id env.elem -let get_extern_func env id = Func_id.get id env.extern_funcs +let get_extern_func env id = Func_id.get id env.extern_funcs module Build = struct type t = @@ -522,7 +522,7 @@

94.74%

{ env with tables = IMap.add id table env.tables } let add_func id func (env : t) = - { env with functions = IMap.add id func env.functions } + { env with functions = IMap.add id func env.functions } let add_data id data (env : t) = { env with data = IMap.add id data env.data } @@ -593,7 +593,7 @@

94.74%

let freeze id ({ globals; memories; tables; functions; data; elem } : Build.t) extern_funcs = - { id; globals; memories; tables; functions; data; elem; extern_funcs } + { id; globals; memories; tables; functions; data; elem; extern_funcs } diff --git a/coverage/src/parser/binary_parser.ml.html b/coverage/src/parser/binary_parser.ml.html index 62e1f4e40..d6a0fae1a 100644 --- a/coverage/src/parser/binary_parser.ml.html +++ b/coverage/src/parser/binary_parser.ml.html @@ -3,7 +3,7 @@ binary_parser.ml — Coverage report - + @@ -15,7 +15,7 @@

src/parser/binary_parser.ml

-

71.31%

+

71.59%

diff --git a/coverage/src/parser/parse.ml.html b/coverage/src/parser/parse.ml.html index 4f70cfcb8..819c97f43 100644 --- a/coverage/src/parser/parse.ml.html +++ b/coverage/src/parser/parse.ml.html @@ -1463,14 +1463,14 @@

10.40%

struct let from_lexbuf = let parser = MenhirLib.Convert.Simplified.traditional2revised M.rule in - fun buf -> - Log.debug0 "parsing ...@\n"; - let provider () = - let tok = Text_lexer.token buf in - let start, stop = Sedlexing.lexing_positions buf in - (tok, start, stop) + fun buf -> + Log.debug0 "parsing ...@\n"; + let provider () = + let tok = Text_lexer.token buf in + let start, stop = Sedlexing.lexing_positions buf in + (tok, start, stop) in - try Ok (parser provider) with + try Ok (parser provider) with | Types.Parse_fail msg -> Error (`Parse_fail msg) | Text_lexer.Illegal_escape msg -> Error (`Illegal_escape msg) | Text_lexer.Unknown_operator msg -> Error (`Lexer_unknown_operator msg) @@ -1481,16 +1481,16 @@

10.40%

Error (`Unexpected_token tok) let from_file filename = - let open Syntax in + let open Syntax in let* res = - Bos.OS.File.with_ic filename + Bos.OS.File.with_ic filename (fun chan () -> - let lb = Sedlexing.Utf8.from_channel chan in - Sedlexing.set_filename lb (Fpath.to_string filename); - from_lexbuf lb ) + let lb = Sedlexing.Utf8.from_channel chan in + Sedlexing.set_filename lb (Fpath.to_string filename); + from_lexbuf lb ) () in - res + res let from_string s = from_lexbuf (Sedlexing.Utf8.from_string s) @@ -1522,16 +1522,16 @@

10.40%

end let guess_from_file file = - match Fpath.get_ext ~multi:false file with + match Fpath.get_ext ~multi:false file with | ".wat" -> let+ m = Text.Module.from_file file in Kind.Wat m | ".wast" -> let+ m = Text.Script.from_file file in Kind.Wast m - | ".wasm" -> - let+ m = Binary.Module.from_file file in - Kind.Wasm m + | ".wasm" -> + let+ m = Binary.Module.from_file file in + Kind.Wasm m | ext -> Error (`Unsupported_file_extension ext) diff --git a/coverage/src/primitives/convert.ml.html b/coverage/src/primitives/convert.ml.html index d03aa790a..e1b262a9e 100644 --- a/coverage/src/primitives/convert.ml.html +++ b/coverage/src/primitives/convert.ml.html @@ -688,7 +688,7 @@

99.71%

let extend_i32_s x = Int64.of_int32 x - let extend_i32_u x = Int64.logand (Int64.of_int32 x) 0x0000_0000_ffff_ffffL + let extend_i32_u x = Int64.logand (Int64.of_int32 x) 0x0000_0000_ffff_ffffL let trunc_f32_s x = if Float32.ne x x then raise @@ Types.Trap "invalid conversion to integer" diff --git a/coverage/src/primitives/float32.ml.html b/coverage/src/primitives/float32.ml.html index 5663fd2ec..07c4b68d2 100644 --- a/coverage/src/primitives/float32.ml.html +++ b/coverage/src/primitives/float32.ml.html @@ -781,13 +781,13 @@

96.93%

let bare_nan = 0x7f80_0000l -let to_hex_string = Fmt.str "%lx" +let to_hex_string = Fmt.str "%lx" type t = Int32.t -let pos_inf = Int32.bits_of_float (1.0 /. 0.0) +let pos_inf = Int32.bits_of_float (1.0 /. 0.0) -let neg_inf = Int32.bits_of_float (-.(1.0 /. 0.0)) +let neg_inf = Int32.bits_of_float (-.(1.0 /. 0.0)) let of_float = Int32.bits_of_float @@ -795,7 +795,7 @@

96.93%

let of_bits x = x -let to_bits x = x +let to_bits x = x let is_inf x = Int32.eq x pos_inf || Int32.eq x neg_inf @@ -852,7 +852,7 @@

96.93%

let t = op (to_float x) in if not @@ Float.is_nan t then of_float t else determine_unary_nan x -let zero = of_float 0.0 +let zero = of_float 0.0 let add x y = binary x ( +. ) y @@ -1130,7 +1130,7 @@

96.93%

(if Char.equal s.[String.length s - 1] '.' then Fmt.str "%s0" s else s) ) -let to_string = to_string' (Fmt.str "%.17g") is_digit 3 +let to_string = to_string' (Fmt.str "%.17g") is_digit 3 let pp fmt v = Fmt.string fmt (to_string v) diff --git a/coverage/src/primitives/float64.ml.html b/coverage/src/primitives/float64.ml.html index fdf80cd54..b5e5090ff 100644 --- a/coverage/src/primitives/float64.ml.html +++ b/coverage/src/primitives/float64.ml.html @@ -783,13 +783,13 @@

96.69%

let bare_nan = 0x7ff0_0000_0000_0000L -let to_hex_string = Fmt.str "%Lx" +let to_hex_string = Fmt.str "%Lx" type t = Int64.t -let pos_inf = Int64.bits_of_float (1.0 /. 0.0) +let pos_inf = Int64.bits_of_float (1.0 /. 0.0) -let neg_inf = Int64.bits_of_float (-.(1.0 /. 0.0)) +let neg_inf = Int64.bits_of_float (-.(1.0 /. 0.0)) let of_float = Int64.bits_of_float @@ -797,7 +797,7 @@

96.69%

let of_bits x = x -let to_bits x = x +let to_bits x = x let is_inf x = Int64.eq x pos_inf || Int64.eq x neg_inf @@ -854,7 +854,7 @@

96.69%

let t = op (to_float x) in if not @@ Float.is_nan t then of_float t else determine_unary_nan x -let zero = of_float 0.0 +let zero = of_float 0.0 let add x y = binary x ( +. ) y @@ -1131,7 +1131,7 @@

96.69%

(if Char.equal s.[String.length s - 1] '.' then Fmt.str "%s0" s else s) ) -let to_string = to_string' (Fmt.str "%.17g") is_digit 3 +let to_string = to_string' (Fmt.str "%.17g") is_digit 3 let to_hex_string x = if is_inf x then to_string x else to_string' (Fmt.str "%h") is_hex_digit 4 x diff --git a/coverage/src/primitives/int32.ml.html b/coverage/src/primitives/int32.ml.html index a4a453ebf..c28f6b4a0 100644 --- a/coverage/src/primitives/int32.ml.html +++ b/coverage/src/primitives/int32.ml.html @@ -358,21 +358,21 @@

98.47%

let to_int64 = Int64.of_int32 (* Unsigned comparison in terms of signed comparison. *) -let cmp_u x op y = op (add x min_int) (add y min_int) +let cmp_u x op y = op (add x min_int) (add y min_int) -let eq (x : int32) y = equal x y +let eq (x : int32) y = equal x y -let ne (x : int32) y = compare x y <> 0 +let ne (x : int32) y = compare x y <> 0 -let lt (x : int32) y = compare x y < 0 +let lt (x : int32) y = compare x y < 0 let gt (x : int32) y = compare x y > 0 -let le (x : int32) y = compare x y <= 0 +let le (x : int32) y = compare x y <= 0 let ge (x : int32) y = compare x y >= 0 -let lt_u x y = cmp_u x lt y +let lt_u x y = cmp_u x lt y let le_u x y = cmp_u x le y @@ -383,24 +383,24 @@

98.47%

(* If bit (32 - 1) is set, sx will sign-extend t to maintain the * invariant that small ints are stored sign-extended inside a wider int. *) let sx x = - Int64.to_int32 - @@ Int64.shift_right (Int64.shift_left (Int64.of_int32 x) 32) 32 + Int64.to_int32 + @@ Int64.shift_right (Int64.shift_left (Int64.of_int32 x) 32) 32 (* We don't override min_int and max_int since those are used * by other functions (like parsing), and rely on it being * min/max for int32 *) (* The smallest signed |32|-bits int. *) -let low_int = shift_left minus_one 31 +let low_int = shift_left minus_one 31 (* The largest signed |32|-bits int. *) -let high_int = logxor low_int minus_one +let high_int = logxor low_int minus_one (* WebAssembly's shifts mask the shift count according to the 32. *) -let shift f x y = f x (to_int (logand y 31l)) +let shift f x y = f x (to_int (logand y 31l)) -let shl x y = sx (shift shift_left x y) +let shl x y = sx (shift shift_left x y) -let shr_s x y = shift shift_right x y +let shr_s x y = shift shift_right x y let shr_u x y = sx (shift shift_right_logical x y) @@ -413,15 +413,15 @@

98.47%

logor (shr_u x n) (shl x (sub 32l n)) let extend_s n x = - let shift = 32 - n in - shift_right (shift_left x shift) shift + let shift = 32 - n in + shift_right (shift_left x shift) shift (* String conversion that allows leading signs and unsigned values *) -let require b = if not b then Log.err "of_string (int32)" +let require b = if not b then Log.err "of_string (int32)" let dec_digit = function - | '0' .. '9' as c -> Char.code c - Char.code '0' + | '0' .. '9' as c -> Char.code c - Char.code '0' | _ -> Log.err "of_string" let hex_digit = function @@ -430,21 +430,21 @@

98.47%

| 'A' .. 'F' as c -> 0xa + Char.code c - Char.code 'A' | _ -> Log.err "of_string" -let max_upper = unsigned_div minus_one 10l +let max_upper = unsigned_div minus_one 10l -let max_lower = unsigned_rem minus_one 10l +let max_lower = unsigned_rem minus_one 10l let sign_extend i = - let sign_bit = logand (of_int (1 lsl (32 - 1))) i in - if eq sign_bit zero then i + let sign_bit = logand (of_int (1 lsl (32 - 1))) i in + if eq sign_bit zero then i else (* Build a sign-extension mask *) let sign_mask = shift_left minus_one 32 in logor sign_mask i let of_string s = - let len = String.length s in - let rec parse_hex i num = + let len = String.length s in + let rec parse_hex i num = if i = len then num else if Char.equal s.[i] '_' then parse_hex (i + 1) num else @@ -453,32 +453,32 @@

98.47%

parse_hex (i + 1) (logor (shift_left num 4) digit) in let rec parse_dec i num = - if i = len then num - else if Char.equal s.[i] '_' then parse_dec (i + 1) num + if i = len then num + else if Char.equal s.[i] '_' then parse_dec (i + 1) num else - let digit = of_int (dec_digit s.[i]) in - require (lt_u num max_upper || (eq num max_upper && le_u digit max_lower)); - parse_dec (i + 1) (add (mul num 10l) digit) + let digit = of_int (dec_digit s.[i]) in + require (lt_u num max_upper || (eq num max_upper && le_u digit max_lower)); + parse_dec (i + 1) (add (mul num 10l) digit) in let parse_int i = - require (len - i > 0); - if i + 2 <= len && Char.equal s.[i] '0' && Char.equal s.[i + 1] 'x' then + require (len - i > 0); + if i + 2 <= len && Char.equal s.[i] '0' && Char.equal s.[i + 1] 'x' then parse_hex (i + 2) zero - else parse_dec i zero + else parse_dec i zero in require (len > 0); - let parsed = + let parsed = match s.[0] with | '+' -> parse_int 1 | '-' -> let n = parse_int 1 in require (ge (sub n one) minus_one); neg n - | _ -> parse_int 0 + | _ -> parse_int 0 in let parsed = sign_extend parsed in - require (le low_int parsed && le parsed high_int); - parsed + require (le low_int parsed && le parsed high_int); + parsed diff --git a/coverage/src/primitives/int64.ml.html b/coverage/src/primitives/int64.ml.html index f6f4dac89..2201f11bc 100644 --- a/coverage/src/primitives/int64.ml.html +++ b/coverage/src/primitives/int64.ml.html @@ -405,21 +405,21 @@

96.92%

(* * Unsigned comparison in terms of signed comparison. *) -let cmp_u x op y = op (add x min_int) (add y min_int) +let cmp_u x op y = op (add x min_int) (add y min_int) let eq (x : int64) y = equal x y let ne (x : int64) y = not (equal x y) -let lt (x : int64) y = compare x y < 0 +let lt (x : int64) y = compare x y < 0 let gt (x : int64) y = compare x y > 0 -let le (x : int64) y = compare x y <= 0 +let le (x : int64) y = compare x y <= 0 -let ge (x : int64) y = compare x y >= 0 +let ge (x : int64) y = compare x y >= 0 -let lt_u x y = cmp_u x lt y +let lt_u x y = cmp_u x lt y let le_u x y = cmp_u x le y @@ -433,29 +433,29 @@

96.92%

* "Unsigned Short Division from Signed Division". *) let divrem_u n d = - if equal d zero then raise Division_by_zero + if equal d zero then raise Division_by_zero else - let t = shift_right d 63 in - let n' = logand n (lognot t) in - let q = shift_left (div (shift_right_logical n' 1) d) 1 in - let r = sub n (mul q d) in - if cmp_u r lt d then (q, r) else (add q one, sub r d) + let t = shift_right d 63 in + let n' = logand n (lognot t) in + let q = shift_left (div (shift_right_logical n' 1) d) 1 in + let r = sub n (mul q d) in + if cmp_u r lt d then (q, r) else (add q one, sub r d) (* We don't override min_int and max_int since those are used * by other functions (like parsing), and rely on it being * min/max for int32 *) (* The smallest signed |bitwidth|-bits int. *) -let low_int = shift_left minus_one 63 +let low_int = shift_left minus_one 63 (* The largest signed |bitwidth|-bits int. *) -let high_int = logxor low_int minus_one +let high_int = logxor low_int minus_one (* WebAssembly's shifts mask the shift count according to the bitwidth. *) -let shift f x y = f x (to_int (logand y (of_int 63))) +let shift f x y = f x (to_int (logand y (of_int 63))) let shl x y = shift shift_left x y -let shr_s x y = shift shift_right x y +let shr_s x y = shift shift_right x y let shr_u x y = shift shift_right_logical x y @@ -485,7 +485,7 @@

96.92%

| 'A' .. 'F' as c -> 0xa + Char.code c - Char.code 'A' | _ -> Log.err "of_string" -let max_upper, max_lower = divrem_u minus_one 10L +let max_upper, max_lower = divrem_u minus_one 10L let of_string s = let len = String.length s in diff --git a/coverage/src/script/script.ml.html b/coverage/src/script/script.ml.html index a3210d324..8ebe950af 100644 --- a/coverage/src/script/script.ml.html +++ b/coverage/src/script/script.ml.html @@ -660,7 +660,7 @@

80.09%

module Host_externref = struct type t = int - let ty : t Type.Id.t = Type.Id.make () + let ty : t Type.Id.t = Type.Id.make () let value i = Concrete_value.Externref (Some (Concrete_value.E (ty, i))) end diff --git a/coverage/src/script/spectest.ml.html b/coverage/src/script/spectest.ml.html index c9eebb9e4..f667be7bc 100644 --- a/coverage/src/script/spectest.ml.html +++ b/coverage/src/script/spectest.ml.html @@ -605,12 +605,12 @@

83.33%

} ; MGlobal { typ = (Const, Num_type F32) - ; init = [ F32_const (Float32.of_float 666.6) ] + ; init = [ F32_const (Float32.of_float 666.6) ] ; id = Some "global_f32" } ; MGlobal { typ = (Const, Num_type F64) - ; init = [ F64_const (Float64.of_float 666.6) ] + ; init = [ F64_const (Float64.of_float 666.6) ] ; id = Some "global_f64" } ; MExport { name = "func"; desc = Export_func (Some (Text "func")) } diff --git a/coverage/src/symbolic/solver.ml.html b/coverage/src/symbolic/solver.ml.html index 255984fd4..6ae3396d5 100644 --- a/coverage/src/symbolic/solver.ml.html +++ b/coverage/src/symbolic/solver.ml.html @@ -94,24 +94,24 @@

100.00%

type t = S : ('a solver_module * 'a) -> t [@@unboxed] let fresh solver () = - let module Mapping = (val Smtml.Solver_dispatcher.mappings_of_solver solver) + let module Mapping = (val Smtml.Solver_dispatcher.mappings_of_solver solver) in let module Mapping = Mapping.Fresh.Make () in let module Batch = Smtml.Solver.Batch (Mapping) in let solver = Batch.create ~logic:QF_BVFP () in - S ((module Batch), solver) + S ((module Batch), solver) let check (S (solver_module, s)) pc = - let module Solver = (val solver_module) in + let module Solver = (val solver_module) in Solver.check s pc let model (S (solver_module, s)) ~symbols ~pc = - let module Solver = (val solver_module) in + let module Solver = (val solver_module) in match Solver.check s pc with - | `Sat -> begin + | `Sat -> begin match Solver.model ?symbols s with | None -> assert false - | Some model -> model + | Some model -> model end | `Unsat | `Unknown -> assert false diff --git a/coverage/src/symbolic/symbolic.ml.html b/coverage/src/symbolic/symbolic.ml.html index 7b6ee5baa..a6122b1e0 100644 --- a/coverage/src/symbolic/symbolic.ml.html +++ b/coverage/src/symbolic/symbolic.ml.html @@ -354,9 +354,9 @@

83.87%

let select (c : Value.vbool) ~(if_true : Value.t) ~(if_false : Value.t) : Value.t Choice.t = - match (if_true, if_false) with - | I32 if_true, I32 if_false -> - Choice.return (Value.I32 (Value.Bool.select_expr c ~if_true ~if_false)) + match (if_true, if_false) with + | I32 if_true, I32 if_false -> + Choice.return (Value.I32 (Value.Bool.select_expr c ~if_true ~if_false)) | I64 if_true, I64 if_false -> Choice.return (Value.I64 (Value.Bool.select_expr c ~if_true ~if_false)) | F32 if_true, F32 if_false -> @@ -381,25 +381,25 @@

83.87%

module Memory = struct include Memory - let load_8_s m a = Choice.lift_mem @@ load_8_s m a + let load_8_s m a = Choice.lift_mem @@ load_8_s m a - let load_8_u m a = Choice.lift_mem @@ load_8_u m a + let load_8_u m a = Choice.lift_mem @@ load_8_u m a let load_16_s m a = Choice.lift_mem @@ load_16_s m a let load_16_u m a = Choice.lift_mem @@ load_16_u m a - let load_32 m a = Choice.lift_mem @@ load_32 m a + let load_32 m a = Choice.lift_mem @@ load_32 m a let load_64 m a = Choice.lift_mem @@ load_64 m a - let store_8 m ~addr v = Choice.lift_mem @@ store_8 m ~addr v + let store_8 m ~addr v = Choice.lift_mem @@ store_8 m ~addr v let store_16 m ~addr v = Choice.lift_mem @@ store_16 m ~addr v - let store_32 m ~addr v = Choice.lift_mem @@ store_32 m ~addr v + let store_32 m ~addr v = Choice.lift_mem @@ store_32 m ~addr v - let store_64 m ~addr v = Choice.lift_mem @@ store_64 m ~addr v + let store_64 m ~addr v = Choice.lift_mem @@ store_64 m ~addr v end module Data = struct @@ -414,10 +414,10 @@

83.87%

type t' = Env_id.t let get_memory env id = - let orig_mem = Link_env.get_memory env id in - let f (t : thread) = - let memories = Thread.memories t in - Memory.get_memory (Link_env.id env) orig_mem memories id + let orig_mem = Link_env.get_memory env id in + let f (t : thread) = + let memories = Thread.memories t in + Memory.get_memory (Link_env.id env) orig_mem memories id in Choice.with_thread f @@ -426,10 +426,10 @@

83.87%

let get_extern_func = Link_env.get_extern_func let get_table (env : t) i : Table.t Choice.t = - let orig_table = Link_env.get_table env i in - let f (t : thread) = - let tables = Thread.tables t in - Symbolic_table.get_table (Link_env.id env) orig_table tables i + let orig_table = Link_env.get_table env i in + let f (t : thread) = + let tables = Thread.tables t in + Symbolic_table.get_table (Link_env.id env) orig_table tables i in Choice.with_thread f @@ -440,10 +440,10 @@

83.87%

Choice.return data let get_global (env : t) i : Global.t Choice.t = - let orig_global = Link_env.get_global env i in - let f (t : thread) = - let globals = Thread.globals t in - Symbolic_global.get_global (Link_env.id env) orig_global globals i + let orig_global = Link_env.get_global env i in + let f (t : thread) = + let globals = Thread.globals t in + Symbolic_global.get_global (Link_env.id env) orig_global globals i in Choice.with_thread f @@ -462,11 +462,11 @@

83.87%

; to_run : Types.binary Types.expr list } - let env (t : t) = t.env + let env (t : t) = t.env - let modul (t : t) = t.modul + let modul (t : t) = t.modul - let to_run (t : t) = t.to_run + let to_run (t : t) = t.to_run end end @@ -478,7 +478,7 @@

83.87%

(Symbolic_choice_minimalist) let convert_module_to_run (m : 'f Link.module_to_run) = - P.Module_to_run.{ modul = m.modul; env = m.env; to_run = m.to_run } + P.Module_to_run.{ modul = m.modul; env = m.env; to_run = m.to_run } let convert_module_to_run_minimalist (m : 'f Link.module_to_run) = M.Module_to_run.{ modul = m.modul; env = m.env; to_run = m.to_run } diff --git a/coverage/src/symbolic/symbolic_choice.ml.html b/coverage/src/symbolic/symbolic_choice.ml.html index 9e0bf3ccc..60a1c4f03 100644 --- a/coverage/src/symbolic/symbolic_choice.ml.html +++ b/coverage/src/symbolic/symbolic_choice.ml.html @@ -1023,42 +1023,42 @@

95.69%

| Stop let run (Sched mxf : ('a, 'wls) t) (wls : 'wls) : ('a, 'wls) status = - mxf wls + mxf wls - let return x : _ t = Sched (Fun.const (Now x)) + let return x : _ t = Sched (Fun.const (Now x)) - let return_status status = Sched (Fun.const status) + let return_status status = Sched (Fun.const status) let rec bind (mx : ('a, 'wls) t) (f : 'a -> ('b, 'wls) t) : ('b, 'wls) t = - Sched + Sched (fun wls -> - let rec unfold_status (x : ('a, 'wls) status) : ('b, 'wls) status = - match x with - | Now x -> run (f x) wls - | Yield (prio, lx) -> Yield (prio, bind lx f) - | Choice (mx1, mx2) -> + let rec unfold_status (x : ('a, 'wls) status) : ('b, 'wls) status = + match x with + | Now x -> run (f x) wls + | Yield (prio, lx) -> Yield (prio, bind lx f) + | Choice (mx1, mx2) -> let mx1' = unfold_status mx1 in - let mx2' = unfold_status mx2 in - Choice (mx1', mx2') - | Stop -> Stop + let mx2' = unfold_status mx2 in + Choice (mx1', mx2') + | Stop -> Stop in - unfold_status (run mx wls) ) + unfold_status (run mx wls) ) let ( let* ) = bind let map x f = - let* x in - return (f x) + let* x in + return (f x) let ( let+ ) = map - let yield prio = return_status (Yield (prio, Sched (Fun.const (Now ())))) + let yield prio = return_status (Yield (prio, Sched (Fun.const (Now ())))) - let choose a b = Sched (fun wls -> Choice (run a wls, run b wls)) + let choose a b = Sched (fun wls -> Choice (run a wls, run b wls)) - let stop : ('a, 'b) t = return_status Stop + let stop : ('a, 'b) t = return_status Stop - let worker_local : ('a, 'a) t = Sched (fun wls -> Now wls) + let worker_local : ('a, 'a) t = Sched (fun wls -> Now wls) end module Scheduler = struct @@ -1070,33 +1070,33 @@

95.69%

type ('a, 'wls) t = { work_queue : ('a, 'wls) work_queue } [@@unboxed] let init_scheduler () = - let work_queue = Wq.make () in - { work_queue } + let work_queue = Wq.make () in + { work_queue } - let add_init_task sched task = Wq.push task sched.work_queue + let add_init_task sched task = Wq.push task sched.work_queue let work wls sched callback = - let rec handle_status (t : _ Schedulable.status) write_back = - match t with - | Stop -> () - | Now x -> callback x - | Yield (_prio, f) -> write_back f - | Choice (m1, m2) -> + let rec handle_status (t : _ Schedulable.status) write_back = + match t with + | Stop -> () + | Now x -> callback x + | Yield (_prio, f) -> write_back f + | Choice (m1, m2) -> handle_status m1 write_back; - handle_status m2 write_back + handle_status m2 write_back in Wq.work_while - (fun f write_back -> handle_status (Schedulable.run f wls) write_back) + (fun f write_back -> handle_status (Schedulable.run f wls) write_back) sched.work_queue let spawn_worker sched wls_init callback callback_init callback_close = - callback_init (); - Domain.spawn (fun () -> - Fun.protect - ~finally:(fun () -> callback_close ()) + callback_init (); + Domain.spawn (fun () -> + Fun.protect + ~finally:(fun () -> callback_close ()) (fun () -> - let wls = wls_init () in - try work wls sched callback + let wls = wls_init () in + try work wls sched callback with e -> let bt = Printexc.get_raw_backtrace () in Wq.fail sched.work_queue; @@ -1112,46 +1112,46 @@

95.69%

type ('a, 's) t = St of ('s -> ('a * 's, Solver.t) M.t) [@@unboxed] - let run (St mxf) st = mxf st + let run (St mxf) st = mxf st - let return x = St (fun st -> M.return (x, st)) + let return x = St (fun st -> M.return (x, st)) let lift (x : ('a, _) M.t) : ('a, 's) t = - let ( let+ ) = M.( let+ ) in + let ( let+ ) = M.( let+ ) in St (fun (st : 's) -> - let+ x in - (x, st) ) + let+ x in + (x, st) ) let bind mx f = - St + St (fun st -> - let ( let* ) = M.( let* ) in - let* x, new_st = run mx st in - run (f x) new_st ) + let ( let* ) = M.( let* ) in + let* x, new_st = run mx st in + run (f x) new_st ) let ( let* ) = bind let map x f = - let* x in - return (f x) + let* x in + return (f x) - let liftF2 f x y = St (fun st -> f (run x st) (run y st)) + let liftF2 f x y = St (fun st -> f (run x st) (run y st)) let ( let+ ) = map - let with_state f = St (fun st -> M.return (f st)) + let with_state f = St (fun st -> M.return (f st)) - let modify_state f = St (fun st -> M.return ((), f st)) + let modify_state f = St (fun st -> M.return ((), f st)) let project_state (project_and_backup : 'st1 -> 'st2 * 'backup) restore other = - St + St (fun st -> - let ( let+ ) = M.( let+ ) in + let ( let+ ) = M.( let+ ) in let proj, backup = project_and_backup st in - let+ res, new_state = run other proj in - (res, restore backup new_state) ) + let+ res, new_state = run other proj in + (res, restore backup new_state) ) end module Eval = struct @@ -1163,28 +1163,28 @@

95.69%

type ('a, 's) t = ('a eval, 's) M.t - let return x : _ t = M.return (EVal x) + let return x : _ t = M.return (EVal x) let lift x = - let ( let+ ) = M.( let+ ) in + let ( let+ ) = M.( let+ ) in let+ x in - EVal x + EVal x let bind (mx : _ t) f : _ t = - let ( let* ) = M.( let* ) in + let ( let* ) = M.( let* ) in let* mx in - match mx with - | EVal x -> f x + match mx with + | EVal x -> f x | ETrap _ as mx -> M.return mx | EAssert _ as mx -> M.return mx let ( let* ) = bind let map mx f = - let ( let+ ) = M.( let+ ) in + let ( let+ ) = M.( let+ ) in let+ mx in - match mx with - | EVal x -> EVal (f x) + match mx with + | EVal x -> EVal (f x) | ETrap _ as mx -> mx | EAssert _ as mx -> mx @@ -1258,46 +1258,46 @@

95.69%

*) let lift_schedulable (v : ('a, _) Schedulable.t) : 'a t = - let v = State.lift v in - lift v + let v = State.lift v in + lift v let with_thread (f : Thread.t -> 'a) : 'a t = - let x = State.with_state (fun st -> (f st, st)) in - lift x + let x = State.with_state (fun st -> (f st, st)) in + lift x - let thread = with_thread Fun.id + let thread = with_thread Fun.id - let modify_thread f = lift (State.modify_state f) + let modify_thread f = lift (State.modify_state f) - let set_thread st = modify_thread (Fun.const st) + let set_thread st = modify_thread (Fun.const st) - let clone_thread = modify_thread Thread.clone + let clone_thread = modify_thread Thread.clone - let solver = lift_schedulable Schedulable.worker_local + let solver = lift_schedulable Schedulable.worker_local let choose a b = - let a = + let a = let* () = clone_thread in - a + a in let b = let* () = clone_thread in - b + b in State.liftF2 Schedulable.choose a b - let yield = lift_schedulable @@ Schedulable.yield Prio.default + let yield = lift_schedulable @@ Schedulable.yield Prio.default - let stop = lift_schedulable Schedulable.stop + let stop = lift_schedulable Schedulable.stop type 'a run_result = ('a eval * Thread.t) Seq.t let run ~workers solver t thread ~callback ~callback_init ~callback_end = - let open Scheduler in + let open Scheduler in let sched = init_scheduler () in - add_init_task sched (State.run t thread); - Array.init workers (fun _i -> - spawn_worker sched (Solver.fresh solver) callback callback_init + add_init_task sched (State.run t thread); + Array.init workers (fun _i -> + spawn_worker sched (Solver.fresh solver) callback callback_init callback_end ) let trap t = @@ -1320,17 +1320,17 @@

95.69%

include CoreImpl.Make (Thread) let add_pc (c : Symbolic_value.vbool) = - match Smtml.Expr.view c with + match Smtml.Expr.view c with | Val True -> return () - | Val False -> stop - | _ -> + | Val False -> stop + | _ -> let* thread in - let new_thread = Thread.add_pc thread c in - set_thread new_thread + let new_thread = Thread.add_pc thread c in + set_thread new_thread [@@inline] let add_breadcrumb crumb = - modify_thread (fun t -> Thread.add_breadcrumb t crumb) + modify_thread (fun t -> Thread.add_breadcrumb t crumb) let with_new_symbol ty f = let* thread in @@ -1349,113 +1349,113 @@

95.69%

*) let check_reachability = let* () = yield in - let* thread in - let* solver in - let pc = Thread.pc thread in - match Solver.check solver pc with - | `Sat -> return () - | `Unsat | `Unknown -> stop + let* thread in + let* solver in + let pc = Thread.pc thread in + match Solver.check solver pc with + | `Sat -> return () + | `Unsat | `Unknown -> stop let get_model_or_stop symbol = - let* () = yield in - let* solver in - let+ thread in - let pc = Thread.pc thread in - match Solver.check solver pc with - | `Unsat | `Unknown -> stop - | `Sat -> begin + let* () = yield in + let* solver in + let+ thread in + let pc = Thread.pc thread in + match Solver.check solver pc with + | `Unsat | `Unknown -> stop + | `Sat -> begin let symbols = [ symbol ] |> Option.some in - let model = Solver.model solver ~symbols ~pc in - match Smtml.Model.evaluate model symbol with + let model = Solver.model solver ~symbols ~pc in + match Smtml.Model.evaluate model symbol with | None -> Fmt.failwith "Unreachable: The model exists so this symbol should evaluate" - | Some v -> return v + | Some v -> return v end let select_inner ~explore_first (cond : Symbolic_value.vbool) = - let v = Smtml.Expr.simplify cond in - match Smtml.Expr.view v with - | Val True -> return true - | Val False -> return false + let v = Smtml.Expr.simplify cond in + match Smtml.Expr.view v with + | Val True -> return true + | Val False -> return false | Val (Num (I32 _)) -> Fmt.failwith "unreachable (type error)" - | _ -> + | _ -> let true_branch = - let* () = add_pc v in - let* () = add_breadcrumb 1l in - let+ () = check_reachability in - true + let* () = add_pc v in + let* () = add_breadcrumb 1l in + let+ () = check_reachability in + true in let false_branch = - let* () = add_pc (Symbolic_value.Bool.not v) in - let* () = add_breadcrumb 0l in - let+ () = check_reachability in - false + let* () = add_pc (Symbolic_value.Bool.not v) in + let* () = add_breadcrumb 0l in + let+ () = check_reachability in + false in - if explore_first then choose true_branch false_branch - else choose false_branch true_branch + if explore_first then choose true_branch false_branch + else choose false_branch true_branch [@@inline] let select (cond : Symbolic_value.vbool) = - select_inner cond ~explore_first:true + select_inner cond ~explore_first:true [@@inline] let summary_symbol (e : Smtml.Expr.t) = - let* thread in - match Smtml.Expr.view e with + let* thread in + match Smtml.Expr.view e with | Symbol sym -> return (None, sym) - | _ -> + | _ -> let num_symbols = Thread.symbols thread in - let+ () = modify_thread Thread.incr_symbols in - let sym_name = Fmt.str "choice_i32_%i" num_symbols in - let sym_type = Smtml.Ty.Ty_bitv 32 in + let+ () = modify_thread Thread.incr_symbols in + let sym_name = Fmt.str "choice_i32_%i" num_symbols in + let sym_type = Smtml.Ty.Ty_bitv 32 in let sym = Smtml.Symbol.make sym_type sym_name in - let assign = Smtml.Expr.(relop Ty_bool Eq (mk_symbol sym) e) in + let assign = Smtml.Expr.(relop Ty_bool Eq (mk_symbol sym) e) in (Some assign, sym) let select_i32 (i : Symbolic_value.int32) = - let sym_int = Smtml.Expr.simplify i in - match Smtml.Expr.view sym_int with - | Val (Num (I32 i)) -> return i - | _ -> - let* assign, symbol = summary_symbol sym_int in - let* () = - match assign with Some assign -> add_pc assign | None -> return () + let sym_int = Smtml.Expr.simplify i in + match Smtml.Expr.view sym_int with + | Val (Num (I32 i)) -> return i + | _ -> + let* assign, symbol = summary_symbol sym_int in + let* () = + match assign with Some assign -> add_pc assign | None -> return () in - let rec generator () = - let* possible_value = get_model_or_stop symbol in - let* possible_value in - let i = + let rec generator () = + let* possible_value = get_model_or_stop symbol in + let* possible_value in + let i = match possible_value with - | Smtml.Value.Num (I32 i) -> i + | Smtml.Value.Num (I32 i) -> i | _ -> Fmt.failwith "Unreachable: found symbol must be a value" in let s = Smtml.Expr.mk_symbol symbol in - let this_value_cond = + let this_value_cond = let open Smtml.Expr in - Bitv.I32.(s = v i) + Bitv.I32.(s = v i) in let not_this_value_cond = let open Smtml.Expr in (* != is **not** the physical inequality here *) - Bitv.I32.(s != v i) + Bitv.I32.(s != v i) in let this_val_branch = - let* () = add_breadcrumb i in - let+ () = add_pc this_value_cond in - i + let* () = add_breadcrumb i in + let+ () = add_pc this_value_cond in + i in let not_this_val_branch = - let* () = add_pc not_this_value_cond in - generator () + let* () = add_pc not_this_value_cond in + generator () in choose this_val_branch not_this_val_branch in generator () let assertion c = - let* assertion_true = select_inner c ~explore_first:false in - if assertion_true then return () + let* assertion_true = select_inner c ~explore_first:false in + if assertion_true then return () else let* thread in let* solver in diff --git a/coverage/src/symbolic/symbolic_choice_with_memory.ml.html b/coverage/src/symbolic/symbolic_choice_with_memory.ml.html index 7fb03b7d9..73f0736e1 100644 --- a/coverage/src/symbolic/symbolic_choice_with_memory.ml.html +++ b/coverage/src/symbolic/symbolic_choice_with_memory.ml.html @@ -52,7 +52,7 @@

100.00%

include Symbolic_choice.Make (Thread_with_memory) let lift_mem (mem_op : 'a Symbolic_choice_without_memory.t) : 'a t = - Symbolic_choice.CoreImpl.State.project_state Thread_with_memory.project + Symbolic_choice.CoreImpl.State.project_state Thread_with_memory.project Thread_with_memory.restore mem_op diff --git a/coverage/src/symbolic/symbolic_global.ml.html b/coverage/src/symbolic/symbolic_global.ml.html index b288592a2..a2001586d 100644 --- a/coverage/src/symbolic/symbolic_global.ml.html +++ b/coverage/src/symbolic/symbolic_global.ml.html @@ -172,7 +172,7 @@

94.87%

module ITbl = Hashtbl.Make (struct include Int - let hash x = x + let hash x = x end) type t = @@ -182,18 +182,18 @@

94.87%

type collection = t ITbl.t Env_id.Tbl.t -let init () = Env_id.Tbl.create 0 +let init () = Env_id.Tbl.create 0 -let global_copy r = { r with value = r.value } +let global_copy r = { r with value = r.value } let clone collection = (* TODO: this is ugly and should be rewritten... *) - let s = Env_id.Tbl.to_seq collection in - Env_id.Tbl.of_seq - @@ Seq.map + let s = Env_id.Tbl.to_seq collection in + Env_id.Tbl.of_seq + @@ Seq.map (fun (i, t) -> - let s = ITbl.to_seq t in - (i, ITbl.of_seq @@ Seq.map (fun (i, a) -> (i, global_copy a)) s) ) + let s = ITbl.to_seq t in + (i, ITbl.of_seq @@ Seq.map (fun (i, a) -> (i, global_copy a)) s) ) s let convert_values (v : Concrete_value.t) : Symbolic_value.t = @@ -210,29 +210,29 @@

94.87%

{ value = convert_values orig_global.value; orig = orig_global } let get_env env_id tables = - match Env_id.Tbl.find_opt tables env_id with - | Some env -> env + match Env_id.Tbl.find_opt tables env_id with + | Some env -> env | None -> let t = ITbl.create 0 in Env_id.Tbl.add tables env_id t; t let get_global env_id (orig_global : Concrete_global.t) collection g_id = - let env = get_env env_id collection in - match ITbl.find_opt env g_id with - | Some t -> t + let env = get_env env_id collection in + match ITbl.find_opt env g_id with + | Some t -> t | None -> let t = convert orig_global in ITbl.add env g_id t; t -let value v = v.value +let value v = v.value -let set_value v x = v.value <- x +let set_value v x = v.value <- x let mut v = v.orig.mut -let typ v = v.orig.typ +let typ v = v.orig.typ diff --git a/coverage/src/symbolic/symbolic_memory.ml.html b/coverage/src/symbolic/symbolic_memory.ml.html index ed0856d75..f8393d67b 100644 --- a/coverage/src/symbolic/symbolic_memory.ml.html +++ b/coverage/src/symbolic/symbolic_memory.ml.html @@ -562,7 +562,7 @@

66.67%

module Ty = Smtml.Ty open Expr -let page_size = Symbolic_value.const_i32 65_536l +let page_size = Symbolic_value.const_i32 65_536l type t = { data : (Int32.t, Value.int32) Hashtbl.t diff --git a/coverage/src/symbolic/symbolic_memory_concretizing.ml.html b/coverage/src/symbolic/symbolic_memory_concretizing.ml.html index 548638c15..103feefab 100644 --- a/coverage/src/symbolic/symbolic_memory_concretizing.ml.html +++ b/coverage/src/symbolic/symbolic_memory_concretizing.ml.html @@ -362,47 +362,47 @@

92.06%

let clone m = (* TODO: Make chunk copying lazy *) - { data = Hashtbl.create 16 + { data = Hashtbl.create 16 ; parent = Some m - ; chunks = Hashtbl.copy m.chunks + ; chunks = Hashtbl.copy m.chunks } let address a = - let open Symbolic_choice_without_memory in + let open Symbolic_choice_without_memory in match Expr.view a with - | Val (Num (I32 i)) -> return i - | Ptr { base; offset } -> - select_i32 Symbolic_value.(I32.add (const_i32 base) offset) + | Val (Num (I32 i)) -> return i + | Ptr { base; offset } -> + select_i32 Symbolic_value.(I32.add (const_i32 base) offset) | _ -> select_i32 a let address_i32 a = a let rec load_byte { parent; data; _ } a = - try Hashtbl.find data a - with Not_found -> ( + try Hashtbl.find data a + with Not_found -> ( match parent with - | None -> Expr.value (Num (I8 0)) - | Some parent -> load_byte parent a ) + | None -> Expr.value (Num (I8 0)) + | Some parent -> load_byte parent a ) (* TODO: don't rebuild so many values it generates unecessary hc lookups *) let merge_extracts (e1, h, m1) (e2, m2, l) = - let ty = Expr.ty e1 in - if m1 = m2 && Expr.equal e1 e2 then - if h - l = Ty.size ty then e1 else Expr.make (Extract (e1, h, l)) + let ty = Expr.ty e1 in + if m1 = m2 && Expr.equal e1 e2 then + if h - l = Ty.size ty then e1 else Expr.make (Extract (e1, h, l)) else - Expr.( - make (Concat (make (Extract (e1, h, m1)), make (Extract (e2, m2, l)))) ) + Expr.( + make (Concat (make (Extract (e1, h, m1)), make (Extract (e2, m2, l)))) ) let concat ~msb ~lsb offset = - assert (offset > 0 && offset <= 8); - match (Expr.view msb, Expr.view lsb) with - | Val (Num (I8 i1)), Val (Num (I8 i2)) -> - Symbolic_value.const_i32 Int32.(logor (shl (of_int i1) 8l) (of_int i2)) - | Val (Num (I8 i1)), Val (Num (I32 i2)) -> + assert (offset > 0 && offset <= 8); + match (Expr.view msb, Expr.view lsb) with + | Val (Num (I8 i1)), Val (Num (I8 i2)) -> + Symbolic_value.const_i32 Int32.(logor (shl (of_int i1) 8l) (of_int i2)) + | Val (Num (I8 i1)), Val (Num (I32 i2)) -> let offset = offset * 8 in if offset < 32 then - Symbolic_value.const_i32 - Int32.(logor (shl (of_int i1) (of_int offset)) i2) + Symbolic_value.const_i32 + Int32.(logor (shl (of_int i1) (of_int offset)) i2) else let i1' = Int64.of_int i1 in let i2' = Int64.of_int32 i2 in @@ -410,31 +410,31 @@

92.06%

| Val (Num (I8 i1)), Val (Num (I64 i2)) -> let offset = Int64.of_int (offset * 8) in Symbolic_value.const_i64 Int64.(logor (shl (of_int i1) offset) i2) - | Extract (e1, h, m1), Extract (e2, m2, l) -> + | Extract (e1, h, m1), Extract (e2, m2, l) -> merge_extracts (e1, h, m1) (e2, m2, l) - | Extract (e1, h, m1), Concat ({ node = Extract (e2, m2, l); _ }, e3) -> - Expr.(make (Concat (merge_extracts (e1, h, m1) (e2, m2, l), e3))) - | _ -> Expr.make (Concat (msb, lsb)) + | Extract (e1, h, m1), Concat ({ node = Extract (e2, m2, l); _ }, e3) -> + Expr.(make (Concat (merge_extracts (e1, h, m1) (e2, m2, l), e3))) + | _ -> Expr.make (Concat (msb, lsb)) let loadn m a n = - let rec loop addr size i acc = - if i = size then acc + let rec loop addr size i acc = + if i = size then acc else - let addr' = Int32.(add addr (of_int i)) in + let addr' = Int32.(add addr (of_int i)) in let byte = load_byte m addr' in - loop addr size (i + 1) (concat i ~msb:byte ~lsb:acc) + loop addr size (i + 1) (concat i ~msb:byte ~lsb:acc) in let v0 = load_byte m a in - loop a n 1 v0 + loop a n 1 v0 let extract v pos = - match Expr.view v with + match Expr.view v with | Val (Num (I8 _)) -> v - | Val (Num (I32 i)) -> - let i' = Int32.(to_int @@ logand 0xffl @@ shr_s i @@ of_int (pos * 8)) in + | Val (Num (I32 i)) -> + let i' = Int32.(to_int @@ logand 0xffl @@ shr_s i @@ of_int (pos * 8)) in Expr.value (Num (I8 i')) - | Val (Num (I64 i)) -> - let i' = Int64.(to_int @@ logand 0xffL @@ shr_s i @@ of_int (pos * 8)) in + | Val (Num (I64 i)) -> + let i' = Int64.(to_int @@ logand 0xffL @@ shr_s i @@ of_int (pos * 8)) in Expr.value (Num (I8 i')) | Cvtop (_, Zero_extend 24, ({ node = Symbol { ty = Ty_bitv 8; _ }; _ } as sym)) @@ -442,63 +442,63 @@

92.06%

(_, Sign_extend 24, ({ node = Symbol { ty = Ty_bitv 8; _ }; _ } as sym)) -> sym - | _ -> Expr.make (Extract (v, pos + 1, pos)) + | _ -> Expr.make (Extract (v, pos + 1, pos)) let storen m a v n = - for i = 0 to n - 1 do - let a' = Int32.add a (Int32.of_int i) in - let v' = extract v i in - Hashtbl.replace m.data a' v' + for i = 0 to n - 1 do + let a' = Int32.add a (Int32.of_int i) in + let v' = extract v i in + Hashtbl.replace m.data a' v' done let validate_address m a range = - let open Symbolic_choice_without_memory in + let open Symbolic_choice_without_memory in match Smtml.Expr.view a with - | Val (Num (I32 _)) -> + | Val (Num (I32 _)) -> (* An i32 is not a pointer to a heap chunk, so its valid *) return (Ok a) - | Ptr { base; offset = start_offset } -> ( + | Ptr { base; offset = start_offset } -> ( let open Symbolic_value in match Hashtbl.find m.chunks base with | exception Not_found -> return (Error Trap.Memory_leak_use_after_free) - | chunk_size -> + | chunk_size -> let+ is_out_of_bounds = - let range = const_i32 (Int32.of_int (range - 1)) in + let range = const_i32 (Int32.of_int (range - 1)) in (* end_offset: last byte we will read/write *) - let end_offset = I32.add start_offset range in - select - (Bool.or_ - (I32.ge_u start_offset chunk_size) - (I32.ge_u end_offset chunk_size) ) + let end_offset = I32.add start_offset range in + select + (Bool.or_ + (I32.ge_u start_offset chunk_size) + (I32.ge_u end_offset chunk_size) ) in - if is_out_of_bounds then Error Trap.Memory_heap_buffer_overflow - else Ok a ) + if is_out_of_bounds then Error Trap.Memory_heap_buffer_overflow + else Ok a ) | _ -> (* A symbolic expression is valid, but we print to check if Ptr's are passing through here *) Log.debug2 "Saw a symbolic address: %a@." Expr.pp a; return (Ok a) let ptr v = - let open Symbolic_choice_without_memory in + let open Symbolic_choice_without_memory in match Expr.view v with - | Ptr { base; _ } -> return base + | Ptr { base; _ } -> return base | _ -> Log.debug2 {|free: cannot fetch pointer base of "%a"|} Expr.pp v; let* () = add_pc @@ Expr.value False in assert false let free m p = - let open Symbolic_choice_without_memory in - let+ base = ptr p in - if not @@ Hashtbl.mem m.chunks base then + let open Symbolic_choice_without_memory in + let+ base = ptr p in + if not @@ Hashtbl.mem m.chunks base then Fmt.failwith "Memory leak double free"; - Hashtbl.remove m.chunks base + Hashtbl.remove m.chunks base let realloc m ~ptr ~size = - let open Symbolic_choice_without_memory in - let+ base = address ptr in - Hashtbl.replace m.chunks base size; - Expr.ptr base (Symbolic_value.const_i32 0l) + let open Symbolic_choice_without_memory in + let+ base = address ptr in + Hashtbl.replace m.chunks base size; + Expr.ptr base (Symbolic_value.const_i32 0l) end include Symbolic_memory_make.Make (Backend) diff --git a/coverage/src/symbolic/symbolic_memory_make.ml.html b/coverage/src/symbolic/symbolic_memory_make.ml.html index e5a3ac3e9..96c6aadde 100644 --- a/coverage/src/symbolic/symbolic_memory_make.ml.html +++ b/coverage/src/symbolic/symbolic_memory_make.ml.html @@ -417,7 +417,7 @@

87.60%

include Symbolic_memory_intf -let page_size = Symbolic_value.const_i32 65_536l +let page_size = Symbolic_value.const_i32 65_536l module Make (Backend : M) = struct type t = @@ -439,7 +439,7 @@

87.60%

(Symbolic_value.I32.gt new_size m.size) ~if_true:new_size ~if_false:m.size - let size { size; _ } = Symbolic_value.I32.mul size page_size + let size { size; _ } = Symbolic_value.I32.mul size page_size let size_in_pages { size; _ } = size @@ -468,29 +468,29 @@

87.60%

Symbolic_value.Bool.const false end - let clone m = { data = Backend.clone m.data; size = m.size } + let clone m = { data = Backend.clone m.data; size = m.size } let must_be_valid_address m a n = - let open Symbolic_choice_without_memory in - let* addr = Backend.validate_address m a n in - match addr with Error t -> trap t | Ok ptr -> Backend.address ptr + let open Symbolic_choice_without_memory in + let* addr = Backend.validate_address m a n in + match addr with Error t -> trap t | Ok ptr -> Backend.address ptr let load_8_s m a = - let open Symbolic_choice_without_memory in - let+ a = must_be_valid_address m.data a 1 in - let v = Backend.loadn m.data a 1 in - match Smtml.Expr.view v with + let open Symbolic_choice_without_memory in + let+ a = must_be_valid_address m.data a 1 in + let v = Backend.loadn m.data a 1 in + match Smtml.Expr.view v with | Val (Num (I8 i8)) -> Symbolic_value.const_i32 (Int32.extend_s 8 (Int32.of_int i8)) - | _ -> Smtml.Expr.cvtop (Ty_bitv 32) (Sign_extend 24) v + | _ -> Smtml.Expr.cvtop (Ty_bitv 32) (Sign_extend 24) v let load_8_u m a = - let open Symbolic_choice_without_memory in - let+ a = must_be_valid_address m.data a 1 in - let v = Backend.loadn m.data a 1 in - match Smtml.Expr.view v with - | Val (Num (I8 i)) -> Symbolic_value.const_i32 (Int32.of_int i) - | _ -> Smtml.Expr.cvtop (Ty_bitv 32) (Zero_extend 24) v + let open Symbolic_choice_without_memory in + let+ a = must_be_valid_address m.data a 1 in + let v = Backend.loadn m.data a 1 in + match Smtml.Expr.view v with + | Val (Num (I8 i)) -> Symbolic_value.const_i32 (Int32.of_int i) + | _ -> Smtml.Expr.cvtop (Ty_bitv 32) (Zero_extend 24) v let load_16_s m a = let open Symbolic_choice_without_memory in @@ -510,17 +510,17 @@

87.60%

(* TODO: Smtml should do this. Make call to Expr.simplify *) let try_to_remove_extract v = - match Smtml.Expr.view v with + match Smtml.Expr.view v with | Extract ({ node = Concat (({ node = Ptr _; _ } as ptr), _); _ }, 8, 4) -> ptr | Extract ({ node = Concat (_, ({ node = Ptr _; _ } as ptr)); _ }, 4, 0) -> ptr - | _ -> v + | _ -> v let load_32 m a = - let open Symbolic_choice_without_memory in - let+ a = must_be_valid_address m.data a 4 in - try_to_remove_extract @@ Backend.loadn m.data a 4 + let open Symbolic_choice_without_memory in + let+ a = must_be_valid_address m.data a 4 in + try_to_remove_extract @@ Backend.loadn m.data a 4 let load_64 m a = let open Symbolic_choice_without_memory in @@ -528,9 +528,9 @@

87.60%

Backend.loadn m.data a 8 let store_8 m ~addr v = - let open Symbolic_choice_without_memory in - let+ a = must_be_valid_address m.data addr 1 in - Backend.storen m.data a v 1 + let open Symbolic_choice_without_memory in + let+ a = must_be_valid_address m.data addr 1 in + Backend.storen m.data a v 1 let store_16 m ~addr v = let open Symbolic_choice_without_memory in @@ -538,42 +538,42 @@

87.60%

Backend.storen m.data a v 2 let store_32 m ~addr v = - let open Symbolic_choice_without_memory in - let+ a = must_be_valid_address m.data addr 4 in - Backend.storen m.data a v 4 + let open Symbolic_choice_without_memory in + let+ a = must_be_valid_address m.data addr 4 in + Backend.storen m.data a v 4 let store_64 m ~addr v = - let open Symbolic_choice_without_memory in - let+ a = must_be_valid_address m.data addr 8 in - Backend.storen m.data a v 8 + let open Symbolic_choice_without_memory in + let+ a = must_be_valid_address m.data addr 8 in + Backend.storen m.data a v 8 let get_limit_max _m = None (* TODO *) - let free m base = Backend.free m.data base + let free m base = Backend.free m.data base - let realloc m ~ptr ~size = Backend.realloc m.data ~ptr ~size + let realloc m ~ptr ~size = Backend.realloc m.data ~ptr ~size (* TODO: Move this into a separate module? *) module ITbl = Hashtbl.Make (struct include Int - let hash x = x + let hash x = x end) type collection = t ITbl.t Env_id.Tbl.t - let init () = Env_id.Tbl.create 0 + let init () = Env_id.Tbl.create 0 let iter f collection = Env_id.Tbl.iter (fun _ tbl -> f tbl) collection let clone collection = (* TODO: this is ugly and should be rewritten *) - let s = Env_id.Tbl.to_seq collection in - Env_id.Tbl.of_seq - @@ Seq.map + let s = Env_id.Tbl.to_seq collection in + Env_id.Tbl.of_seq + @@ Seq.map (fun (i, t) -> - let s = ITbl.to_seq t in - (i, ITbl.of_seq @@ Seq.map (fun (i, a) -> (i, clone a)) s) ) + let s = ITbl.to_seq t in + (i, ITbl.of_seq @@ Seq.map (fun (i, a) -> (i, clone a)) s) ) s let convert (orig_mem : Concrete_memory.t) : t = @@ -581,17 +581,17 @@

87.60%

create s let get_env env_id memories = - match Env_id.Tbl.find_opt memories env_id with - | Some env -> env + match Env_id.Tbl.find_opt memories env_id with + | Some env -> env | None -> let t = ITbl.create 0 in Env_id.Tbl.add memories env_id t; t let get_memory env_id (orig_memory : Concrete_memory.t) collection g_id = - let env = get_env env_id collection in - match ITbl.find_opt env g_id with - | Some t -> t + let env = get_env env_id collection in + match ITbl.find_opt env g_id with + | Some t -> t | None -> let t = convert orig_memory in ITbl.add env g_id t; diff --git a/coverage/src/symbolic/symbolic_table.ml.html b/coverage/src/symbolic/symbolic_table.ml.html index 8317cc0f8..c4630ea14 100644 --- a/coverage/src/symbolic/symbolic_table.ml.html +++ b/coverage/src/symbolic/symbolic_table.ml.html @@ -224,7 +224,7 @@

71.11%

module ITbl = Hashtbl.Make (struct include Int - let hash x = x + let hash x = x end) type t = @@ -233,20 +233,20 @@

71.11%

; typ : binary ref_type } -let clone_t { limits; data; typ } = { typ; limits; data = Array.copy data } +let clone_t { limits; data; typ } = { typ; limits; data = Array.copy data } type collection = t ITbl.t Env_id.Tbl.t -let init () = Env_id.Tbl.create 0 +let init () = Env_id.Tbl.create 0 let clone (collection : collection) = (* TODO: this is ugly and should be rewritten *) - let s = Env_id.Tbl.to_seq collection in - Env_id.Tbl.of_seq - @@ Seq.map + let s = Env_id.Tbl.to_seq collection in + Env_id.Tbl.of_seq + @@ Seq.map (fun (i, t) -> - let s = ITbl.to_seq t in - (i, ITbl.of_seq @@ Seq.map (fun (i, a) -> (i, clone_t a)) s) ) + let s = ITbl.to_seq t in + (i, ITbl.of_seq @@ Seq.map (fun (i, a) -> (i, clone_t a)) s) ) s let convert_ref_values (v : Concrete_value.ref_value) : Symbolic_value.ref_value @@ -260,8 +260,8 @@

71.11%

} let get_env env_id tables = - match Env_id.Tbl.find_opt tables env_id with - | Some env -> env + match Env_id.Tbl.find_opt tables env_id with + | Some env -> env | None -> let t = ITbl.create 0 in Env_id.Tbl.add tables env_id t; @@ -269,21 +269,21 @@

71.11%

let get_table env_id (orig_table : Concrete_table.t) (collection : collection) t_id = - let env = get_env env_id collection in - match ITbl.find_opt env t_id with - | Some t -> t + let env = get_env env_id collection in + match ITbl.find_opt env t_id with + | Some t -> t | None -> let t = convert orig_table in ITbl.add env t_id t; t -let get t i = t.data.(i) +let get t i = t.data.(i) let set t i v = t.data.(i) <- v -let size t = Array.length t.data +let size t = Array.length t.data -let typ t = t.typ +let typ t = t.typ let max_size t = t.limits.max diff --git a/coverage/src/symbolic/symbolic_value.ml.html b/coverage/src/symbolic/symbolic_value.ml.html index 2af9026d3..e0404a224 100644 --- a/coverage/src/symbolic/symbolic_value.ml.html +++ b/coverage/src/symbolic/symbolic_value.ml.html @@ -1014,13 +1014,13 @@

84.84%

| F64 of float64 | Ref of ref_value -let const_i32 (i : Int32.t) : int32 = value (Num (I32 i)) +let const_i32 (i : Int32.t) : int32 = value (Num (I32 i)) -let const_i64 (i : Int64.t) : int64 = value (Num (I64 i)) +let const_i64 (i : Int64.t) : int64 = value (Num (I64 i)) -let const_f32 (f : Float32.t) : float32 = value (Num (F32 (Float32.to_bits f))) +let const_f32 (f : Float32.t) : float32 = value (Num (F32 (Float32.to_bits f))) -let const_f64 (f : Float64.t) : float64 = value (Num (F64 (Float64.to_bits f))) +let const_f64 (f : Float64.t) : float64 = value (Num (F64 (Float64.to_bits f))) let ref_null _ty = Ref (Funcref None) @@ -1045,8 +1045,8 @@

84.84%

module Ref = struct let get_func (r : ref_value) : Func_intf.t Value_intf.get_ref = - match r with - | Funcref (Some f) -> Ref_value f + match r with + | Funcref (Some f) -> Ref_value f | Funcref None -> Null | Externref _ -> Type_mismatch @@ -1061,22 +1061,22 @@

84.84%

end module Bool = struct - let const b = Bool.v b + let const b = Bool.v b - let not e = Bool.not e + let not e = Bool.not e - let or_ e1 e2 = Bool.or_ e1 e2 + let or_ e1 e2 = Bool.or_ e1 e2 - let and_ e1 e2 = Bool.and_ e1 e2 + let and_ e1 e2 = Bool.and_ e1 e2 let int32 e = - match view e with - | Val True -> const_i32 1l - | Val False -> const_i32 0l + match view e with + | Val True -> const_i32 1l + | Val False -> const_i32 0l | Cvtop (Ty_bitv 32, ToBool, e') -> e' - | _ -> make (Cvtop (Ty_bitv 32, OfBool, e)) + | _ -> make (Cvtop (Ty_bitv 32, OfBool, e)) - let select_expr c ~if_true ~if_false = Bool.ite c if_true if_false + let select_expr c ~if_true ~if_false = Bool.ite c if_true if_false let pp ppf (e : vbool) = Expr.pp ppf e end @@ -1084,9 +1084,9 @@

84.84%

module I32 = struct let ty = Ty_bitv 32 - let zero = const_i32 0l + let zero = const_i32 0l - let clz e = unop ty Clz e + let clz e = unop ty Clz e let ctz e = unop ty Ctz e @@ -1094,11 +1094,11 @@

84.84%

(* TODO *) assert false - let add e1 e2 = binop ty Add e1 e2 + let add e1 e2 = binop ty Add e1 e2 - let sub e1 e2 = binop ty Sub e1 e2 + let sub e1 e2 = binop ty Sub e1 e2 - let mul e1 e2 = binop ty Mul e1 e2 + let mul e1 e2 = binop ty Mul e1 e2 let div e1 e2 = binop ty Div e1 e2 @@ -1106,78 +1106,78 @@

84.84%

let rem e1 e2 = binop ty Rem e1 e2 - let unsigned_rem e1 e2 = binop ty RemU e1 e2 + let unsigned_rem e1 e2 = binop ty RemU e1 e2 let boolify e = - match view e with - | Val (Num (I32 0l)) -> Some (Bool.const false) - | Val (Num (I32 1l)) -> Some (Bool.const true) - | Cvtop (_, OfBool, cond) -> Some cond - | _ -> None + match view e with + | Val (Num (I32 0l)) -> Some (Bool.const false) + | Val (Num (I32 1l)) -> Some (Bool.const true) + | Cvtop (_, OfBool, cond) -> Some cond + | _ -> None let logand e1 e2 = - match (boolify e1, boolify e2) with - | Some b1, Some b2 -> Bool.int32 (Bool.and_ b1 b2) - | _ -> binop ty And e1 e2 + match (boolify e1, boolify e2) with + | Some b1, Some b2 -> Bool.int32 (Bool.and_ b1 b2) + | _ -> binop ty And e1 e2 let logor e1 e2 = match (boolify e1, boolify e2) with | Some b1, Some b2 -> Bool.int32 (Bool.or_ b1 b2) | _ -> binop ty Or e1 e2 - let logxor e1 e2 = binop ty Xor e1 e2 + let logxor e1 e2 = binop ty Xor e1 e2 - let shl e1 e2 = binop ty Shl e1 e2 + let shl e1 e2 = binop ty Shl e1 e2 - let shr_s e1 e2 = binop ty ShrA e1 e2 + let shr_s e1 e2 = binop ty ShrA e1 e2 - let shr_u e1 e2 = binop ty ShrL e1 e2 + let shr_u e1 e2 = binop ty ShrL e1 e2 let rotl e1 e2 = binop ty Rotl e1 e2 let rotr e1 e2 = binop ty Rotr e1 e2 let eq_const e c = - match view e with - | Cvtop (_, OfBool, cond) -> begin - match c with 0l -> Bool.not cond | 1l -> cond | _ -> Bool.const false + match view e with + | Cvtop (_, OfBool, cond) -> begin + match c with 0l -> Bool.not cond | 1l -> cond | _ -> Bool.const false end - | _ -> relop Ty_bool Eq e (const_i32 c) + | _ -> relop Ty_bool Eq e (const_i32 c) let eq e1 e2 = - if phys_equal e1 e2 then Bool.const true else relop Ty_bool Eq e1 e2 + if phys_equal e1 e2 then Bool.const true else relop Ty_bool Eq e1 e2 let ne e1 e2 = - if phys_equal e1 e2 then Bool.const false else relop Ty_bool Ne e1 e2 + if phys_equal e1 e2 then Bool.const false else relop Ty_bool Ne e1 e2 let lt e1 e2 = - if phys_equal e1 e2 then Bool.const false else relop ty Lt e1 e2 + if phys_equal e1 e2 then Bool.const false else relop ty Lt e1 e2 let gt e1 e2 = - if phys_equal e1 e2 then Bool.const false else relop ty Gt e1 e2 + if phys_equal e1 e2 then Bool.const false else relop ty Gt e1 e2 let lt_u e1 e2 = - if phys_equal e1 e2 then Bool.const false else relop ty LtU e1 e2 + if phys_equal e1 e2 then Bool.const false else relop ty LtU e1 e2 let gt_u e1 e2 = if phys_equal e1 e2 then Bool.const false else relop ty GtU e1 e2 - let le e1 e2 = if phys_equal e1 e2 then Bool.const true else relop ty Le e1 e2 + let le e1 e2 = if phys_equal e1 e2 then Bool.const true else relop ty Le e1 e2 let ge e1 e2 = if phys_equal e1 e2 then Bool.const true else relop ty Ge e1 e2 let le_u e1 e2 = - if phys_equal e1 e2 then Bool.const true else relop ty LeU e1 e2 + if phys_equal e1 e2 then Bool.const true else relop ty LeU e1 e2 let ge_u e1 e2 = - if phys_equal e1 e2 then Bool.const true else relop ty GeU e1 e2 + if phys_equal e1 e2 then Bool.const true else relop ty GeU e1 e2 let to_bool (e : vbool) = - match view e with - | Val (Num (I32 i)) -> Bool.const @@ Int32.ne i 0l - | Ptr _ -> Bool.const true - | Cvtop (_, OfBool, cond) -> cond - | _ -> make (Cvtop (ty, ToBool, e)) + match view e with + | Val (Num (I32 i)) -> Bool.const @@ Int32.ne i 0l + | Ptr _ -> Bool.const true + | Cvtop (_, OfBool, cond) -> cond + | _ -> make (Cvtop (ty, ToBool, e)) let trunc_f32_s x = cvtop ty TruncSF32 x @@ -1207,7 +1207,7 @@

84.84%

module I64 = struct let ty = Ty_bitv 64 - let zero = const_i64 0L + let zero = const_i64 0L let clz e = unop ty Clz e @@ -1303,7 +1303,7 @@

84.84%

module F32 = struct let ty = Ty_fp 32 - let zero = const_f32 Float32.zero + let zero = const_f32 Float32.zero let abs x = unop ty Abs x @@ -1368,7 +1368,7 @@

84.84%

module F64 = struct let ty = Ty_fp 64 - let zero = const_f64 Float64.zero + let zero = const_f64 Float64.zero let abs x = unop ty Abs x diff --git a/coverage/src/symbolic/symbolic_wasm_ffi.ml.html b/coverage/src/symbolic/symbolic_wasm_ffi.ml.html index 2d7ab0f97..258869e32 100644 --- a/coverage/src/symbolic/symbolic_wasm_ffi.ml.html +++ b/coverage/src/symbolic/symbolic_wasm_ffi.ml.html @@ -262,13 +262,13 @@

100.00%

module Value = Symbolic_value let assume_i32 (i : Value.int32) : unit Choice.t = - Choice.add_pc @@ Value.I32.to_bool i + Choice.add_pc @@ Value.I32.to_bool i let assume_positive_i32 (i : Value.int32) : unit Choice.t = Choice.add_pc @@ Value.I32.ge i Value.I32.zero let assert_i32 (i : Value.int32) : unit Choice.t = - Choice.assertion @@ Value.I32.to_bool i + Choice.assertion @@ Value.I32.to_bool i let symbol_i8 () = Choice.with_new_symbol (Ty_bitv 8) (fun sym -> @@ -289,10 +289,10 @@

100.00%

let abort () : unit Choice.t = Choice.add_pc @@ Value.Bool.const false let alloc m (base : Value.int32) (size : Value.int32) : Value.int32 Choice.t = - Choice.lift_mem @@ Memory.realloc m ~ptr:base ~size + Choice.lift_mem @@ Memory.realloc m ~ptr:base ~size let free m (ptr : Value.int32) : unit Choice.t = - Choice.lift_mem @@ Memory.free m ptr + Choice.lift_mem @@ Memory.free m ptr let exit (_p : Value.int32) : unit Choice.t = abort () end diff --git a/coverage/src/symbolic/thread.ml.html b/coverage/src/symbolic/thread.ml.html index ed94bad43..a204956fe 100644 --- a/coverage/src/symbolic/thread.ml.html +++ b/coverage/src/symbolic/thread.ml.html @@ -178,46 +178,46 @@

100.00%

} let create symbols symbol_set pc memories tables globals breadcrumbs = - { symbols; symbol_set; pc; memories; tables; globals; breadcrumbs } + { symbols; symbol_set; pc; memories; tables; globals; breadcrumbs } let init () = - let symbols = 0 in + let symbols = 0 in let symbol_set = [] in let pc = [] in let memories = Memory.init () in - let tables = Symbolic_table.init () in - let globals = Symbolic_global.init () in - let breadcrumbs = [] in + let tables = Symbolic_table.init () in + let globals = Symbolic_global.init () in + let breadcrumbs = [] in create symbols symbol_set pc memories tables globals breadcrumbs - let symbols t = t.symbols + let symbols t = t.symbols - let symbols_set t = t.symbol_set + let symbols_set t = t.symbol_set - let pc t = t.pc + let pc t = t.pc - let memories t = t.memories + let memories t = t.memories - let tables t = t.tables + let tables t = t.tables - let globals t = t.globals + let globals t = t.globals - let breadcrumbs t = t.breadcrumbs + let breadcrumbs t = t.breadcrumbs let add_symbol t s = { t with symbol_set = s :: t.symbol_set } - let add_pc t c = { t with pc = c :: t.pc } + let add_pc t c = { t with pc = c :: t.pc } - let add_breadcrumb t crumb = { t with breadcrumbs = crumb :: t.breadcrumbs } + let add_breadcrumb t crumb = { t with breadcrumbs = crumb :: t.breadcrumbs } - let incr_symbols t = { t with symbols = succ t.symbols } + let incr_symbols t = { t with symbols = succ t.symbols } let clone { symbols; symbol_set; pc; memories; tables; globals; breadcrumbs } = - let memories = Memory.clone memories in - let tables = Symbolic_table.clone tables in - let globals = Symbolic_global.clone globals in - { symbols; symbol_set; pc; memories; tables; globals; breadcrumbs } + let memories = Memory.clone memories in + let tables = Symbolic_table.clone tables in + let globals = Symbolic_global.clone globals in + { symbols; symbol_set; pc; memories; tables; globals; breadcrumbs } end diff --git a/coverage/src/symbolic/thread_with_memory.ml.html b/coverage/src/symbolic/thread_with_memory.ml.html index 052d82850..9ca31b8fc 100644 --- a/coverage/src/symbolic/thread_with_memory.ml.html +++ b/coverage/src/symbolic/thread_with_memory.ml.html @@ -102,33 +102,33 @@

100.00%

include Thread.Make (Symbolic_memory_concretizing) let project (th : t) : Thread_without_memory.t * _ = - let projected = + let projected = let symbols = symbols th in - let symbols_set = symbols_set th in - let pc = pc th in - let memories = Thread_without_memory.Memory.init () in - let tables = tables th in - let globals = globals th in - let breadcrumbs = breadcrumbs th in - Thread_without_memory.create symbols symbols_set pc memories tables globals + let symbols_set = symbols_set th in + let pc = pc th in + let memories = Thread_without_memory.Memory.init () in + let tables = tables th in + let globals = globals th in + let breadcrumbs = breadcrumbs th in + Thread_without_memory.create symbols symbols_set pc memories tables globals breadcrumbs in let backup = memories th in - (projected, backup) + (projected, backup) let restore backup th = - let symbols = Thread_without_memory.symbols th in - let symbols_set = Thread_without_memory.symbols_set th in - let pc = Thread_without_memory.pc th in - let memories = + let symbols = Thread_without_memory.symbols th in + let symbols_set = Thread_without_memory.symbols_set th in + let pc = Thread_without_memory.pc th in + let memories = if Thread_without_memory.memories th then - Symbolic_memory_concretizing.clone backup - else backup + Symbolic_memory_concretizing.clone backup + else backup in let tables = Thread_without_memory.tables th in - let globals = Thread_without_memory.globals th in - let breadcrumbs = Thread_without_memory.breadcrumbs th in - create symbols symbols_set pc memories tables globals breadcrumbs + let globals = Thread_without_memory.globals th in + let breadcrumbs = Thread_without_memory.breadcrumbs th in + create symbols symbols_set pc memories tables globals breadcrumbs diff --git a/coverage/src/symbolic/thread_without_memory.ml.html b/coverage/src/symbolic/thread_without_memory.ml.html index 7b83335e4..0f32d7d73 100644 --- a/coverage/src/symbolic/thread_without_memory.ml.html +++ b/coverage/src/symbolic/thread_without_memory.ml.html @@ -56,7 +56,7 @@

100.00%

include Thread.Make (struct type collection = bool - let init () = false + let init () = false let clone _ = true end) diff --git a/coverage/src/text_to_binary/assigned.ml.html b/coverage/src/text_to_binary/assigned.ml.html index 1580c0db6..47487ed24 100644 --- a/coverage/src/text_to_binary/assigned.ml.html +++ b/coverage/src/text_to_binary/assigned.ml.html @@ -402,48 +402,48 @@

100.00%

} let assign_type (acc : type_acc) (name, sub_type) : type_acc Result.t = - let { declared_types; func_types; named_types; last_assigned_int; all_types } + let { declared_types; func_types; named_types; last_assigned_int; all_types } = acc in let+ last_assigned_int, declared_types, named_types, all_types = let _final, _indices, str_type = sub_type in - let+ str_type = Binary_types.convert_str None str_type in - let id = last_assigned_int in + let+ str_type = Binary_types.convert_str None str_type in + let id = last_assigned_int in let last_assigned_int = succ last_assigned_int in - let declared_types = Indexed.return id str_type :: declared_types in + let declared_types = Indexed.return id str_type :: declared_types in let named_types = match name with - | None -> named_types + | None -> named_types | Some name -> String_map.add name id named_types in let all_types = TypeMap.add str_type id all_types in - (last_assigned_int, declared_types, named_types, all_types) + (last_assigned_int, declared_types, named_types, all_types) in (* Is there something to do/check when a type is already declared ? *) - { declared_types; func_types; named_types; last_assigned_int; all_types } + { declared_types; func_types; named_types; last_assigned_int; all_types } let assign_heap_type (acc : type_acc) typ : type_acc Result.t = - let { func_types; last_assigned_int; all_types; _ } = acc in - let+ typ = Binary_types.convert_func_type None typ in - let typ = Def_func_t typ in + let { func_types; last_assigned_int; all_types; _ } = acc in + let+ typ = Binary_types.convert_func_type None typ in + let typ = Def_func_t typ in match TypeMap.find_opt typ all_types with - | Some _id -> acc - | None -> + | Some _id -> acc + | None -> let id = last_assigned_int in let last_assigned_int = succ last_assigned_int in - let all_types = TypeMap.add typ id all_types in - let func_types = + let all_types = TypeMap.add typ id all_types in + let func_types = match typ with - | Def_func_t _ftype -> Indexed.return id typ :: func_types + | Def_func_t _ftype -> Indexed.return id typ :: func_types | Def_array_t (_mut, _storage_type) -> assert false | Def_struct_t _ -> assert false in { acc with func_types; last_assigned_int; all_types } let assign_types (modul : Grouped.t) : binary str_type Named.t Result.t = - let empty_acc : type_acc = + let empty_acc : type_acc = { declared_types = [] ; func_types = [] ; named_types = String_map.empty @@ -451,79 +451,79 @@

100.00%

; all_types = TypeMap.empty } in - let* acc = list_fold_left assign_type empty_acc (List.rev modul.typ) in - let+ acc = - list_fold_left assign_heap_type acc (List.rev modul.function_type) + let* acc = list_fold_left assign_type empty_acc (List.rev modul.typ) in + let+ acc = + list_fold_left assign_heap_type acc (List.rev modul.function_type) in - let values = List.rev acc.declared_types @ List.rev acc.func_types in + let values = List.rev acc.declared_types @ List.rev acc.func_types in { Named.values; named = acc.named_types } let get_runtime_name (get_name : 'a -> string option) (elt : ('a, 'b) Runtime.t) : string option = - match elt with - | Local v -> get_name v + match elt with + | Local v -> get_name v | Imported { assigned_name; _ } -> assigned_name let name kind ~get_name values = - let assign_one (named : int String_map.t) (elt : _ Indexed.t) = - let elt_v = Indexed.get elt in - match get_name elt_v with - | None -> Ok named + let assign_one (named : int String_map.t) (elt : _ Indexed.t) = + let elt_v = Indexed.get elt in + match get_name elt_v with + | None -> Ok named | Some name -> let index = Indexed.get_index elt in if String_map.mem name named then Error (`Msg (Fmt.str "duplicate %s %s" kind name)) else ok @@ String_map.add name index named in - let+ named = list_fold_left assign_one String_map.empty values in - { Named.values; named } + let+ named = list_fold_left assign_one String_map.empty values in + { Named.values; named } let check_type_id (types : binary str_type Named.t) ((id, func_type) : Grouped.type_check) = - let id = - match id with Raw i -> i | Text name -> String_map.find name types.named + let id = + match id with Raw i -> i | Text name -> String_map.find name types.named in (* TODO more efficient version of that *) match Indexed.get_at id types.values with | None -> Error (`Unknown_type (Raw id)) - | Some (Def_func_t func_type') -> - let* func_type = Binary_types.convert_func_type None func_type in - if not (Types.func_type_eq func_type func_type') then - Error `Inline_function_type - else Ok () + | Some (Def_func_t func_type') -> + let* func_type = Binary_types.convert_func_type None func_type in + if not (Types.func_type_eq func_type func_type') then + Error `Inline_function_type + else Ok () | Some _ -> assert false let of_grouped (modul : Grouped.t) : t Result.t = - Log.debug0 "assigning ...@\n"; - let* typ = assign_types modul in - let* global = - name "global" - ~get_name:(get_runtime_name (fun ({ id; _ } : Text.global) -> id)) + Log.debug0 "assigning ...@\n"; + let* typ = assign_types modul in + let* global = + name "global" + ~get_name:(get_runtime_name (fun ({ id; _ } : Text.global) -> id)) modul.global in - let* table = - name "table" - ~get_name:(get_runtime_name (fun ((id, _) : binary table) -> id)) + let* table = + name "table" + ~get_name:(get_runtime_name (fun ((id, _) : binary table) -> id)) modul.table in - let* mem = - name "mem" - ~get_name:(get_runtime_name (fun ((id, _) : mem) -> id)) + let* mem = + name "mem" + ~get_name:(get_runtime_name (fun ((id, _) : mem) -> id)) modul.mem in - let* func = - name "func" - ~get_name:(get_runtime_name (fun ({ id; _ } : text func) -> id)) + let* func = + name "func" + ~get_name:(get_runtime_name (fun ({ id; _ } : text func) -> id)) modul.func in - let* elem = - name "elem" ~get_name:(fun (elem : Text.elem) -> elem.id) modul.elem + let* elem = + name "elem" ~get_name:(fun (elem : Text.elem) -> elem.id) modul.elem in - let* data = - name "data" ~get_name:(fun (data : Text.data) -> data.id) modul.data + let* data = + name "data" ~get_name:(fun (data : Text.data) -> data.id) modul.data in - let+ () = list_iter (check_type_id typ) modul.type_checks in - { id = modul.id + let+ () = list_iter (check_type_id typ) modul.type_checks in + { id = modul.id ; typ ; global ; table diff --git a/coverage/src/text_to_binary/grouped.ml.html b/coverage/src/text_to_binary/grouped.ml.html index b0d3973d2..60f81703a 100644 --- a/coverage/src/text_to_binary/grouped.ml.html +++ b/coverage/src/text_to_binary/grouped.ml.html @@ -129,49 +129,49 @@

100.00%

- + - - + + - - + + - + - - + + - + - + - - - + + + - - - - - - - + + + + + + + - + - + - + @@ -180,39 +180,39 @@

100.00%

- - + + - - + + - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + - + - - - + + + @@ -220,9 +220,24 @@

100.00%

- - + + + + + + + + + + + + + + + + +
@@ -428,6 +443,21 @@

100.00%

199 200 201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216
(* SPDX-License-Identifier: AGPL-3.0-or-later *)
 (* Copyright © 2021-2024 OCamlPro *)
@@ -476,7 +506,7 @@ 

100.00%

{ modul = import.modul; name = import.name; assigned_name; desc } let empty_module id = - { id + { id ; typ = [] ; function_type = [] ; type_checks = [] @@ -500,7 +530,7 @@

100.00%

} let init_curr () = - { global = ref 0 + { global = ref 0 ; table = ref 0 ; mem = ref 0 ; func = ref 0 @@ -508,14 +538,14 @@

100.00%

; data = ref 0 } -let declare_func_type type_f (fields : t) = - match type_f with - | Bt_ind _ -> fields - | Bt_raw (id, typ) -> +let declare_func_type (fields : t) type_f = + match type_f with + | Bt_ind _ -> fields + | Bt_raw (id, typ) -> let type_checks = match id with - | None -> fields.type_checks - | Some id -> (id, typ) :: fields.type_checks + | None -> fields.type_checks + | Some id -> (id, typ) :: fields.type_checks in { fields with function_type = typ :: fields.function_type; type_checks } @@ -534,16 +564,31 @@

100.00%

incr curr.mem; { fields with mem = Indexed.return index value :: fields.mem } +let rec extract_block_types expr = + let aux instr = + match instr with + | Block (_str_opt, bt, expr1) | Loop (_str_opt, bt, expr1) -> + Option.to_list bt @ extract_block_types expr1 + | If_else (_str_opt, bt, expr1, expr2) -> + Option.to_list bt @ extract_block_types expr1 @ extract_block_types expr2 + | Return_call_indirect (_, bt) | Return_call_ref bt | Call_indirect (_, bt) + -> + [ bt ] + | _ -> [] + in + List.concat_map aux expr + let add_func value (fields : t) (curr : curr) = - let func_type = + let fields = match value with - | Runtime.Local func -> func.type_f - | Imported func -> func.desc + | Runtime.Local func -> + let fields = declare_func_type fields func.type_f in + List.fold_left declare_func_type fields (extract_block_types func.body) + | Imported func -> declare_func_type fields func.desc in - let fields = declare_func_type func_type fields in - let index = !(curr.func) in + let index = !(curr.func) in incr curr.func; - { fields with func = Indexed.return index value :: fields.func } + { fields with func = Indexed.return index value :: fields.func } let add_elem value (fields : t) (curr : curr) = let index = !(curr.elem) in @@ -556,7 +601,7 @@

100.00%

{ fields with data = Indexed.return index value :: fields.data } let add_field curr (fields : t) = function - | Text.MType typ -> + | Text.MType typ -> let typ = typ @ fields.typ in Ok { fields with typ } | MGlobal global -> ok @@ add_global (Local global) fields curr @@ -596,7 +641,7 @@

100.00%

{ fields.exports with mem = { name; id } :: fields.exports.mem } in Ok { fields with exports } - | MFunc func -> ok @@ add_func (Runtime.Local func) fields curr + | MFunc func -> ok @@ add_func (Runtime.Local func) fields curr | MImport ({ desc = Import_func (a, type_f); _ } as import) -> let imported : text block_type Imported.t = imp import (a, type_f) in ok @@ add_func (Imported imported) fields curr @@ -625,11 +670,11 @@

100.00%

in let data : Text.data = { id = data.id; init = data.init; mode } in ok @@ add_data data fields curr - | MStart start -> Ok { fields with start = Some start } + | MStart start -> Ok { fields with start = Some start } let of_symbolic { Text.fields; id; _ } = - Log.debug0 "grouping ...@\n"; - list_fold_left (add_field (init_curr ())) (empty_module id) fields + Log.debug0 "grouping ...@\n"; + list_fold_left (add_field (init_curr ())) (empty_module id) fields
diff --git a/coverage/src/text_to_binary/rewrite.ml.html b/coverage/src/text_to_binary/rewrite.ml.html index b64673535..ad8249bba 100644 --- a/coverage/src/text_to_binary/rewrite.ml.html +++ b/coverage/src/text_to_binary/rewrite.ml.html @@ -3,7 +3,7 @@ rewrite.ml — Coverage report - + @@ -15,39 +15,39 @@

src/text_to_binary/rewrite.ml

-

88.62%

+

88.01%

@@ -90,88 +90,88 @@

88.62%

- + - + - - + + - + - - + + - - - + + + - + - + - + - + - + - + - - + + - - - + + + - - - - + + + + - + - + - - - + + + - - - - - + + + + + - - + + - - - - - + + + + + - + @@ -179,7 +179,7 @@

88.62%

- + @@ -194,7 +194,7 @@

88.62%

- + @@ -208,22 +208,22 @@

88.62%

- + - - + + - - - + + + - + - - - + + + @@ -246,15 +246,15 @@

88.62%

- - + + - - + + @@ -266,131 +266,131 @@

88.62%

- + - - - - + + + + - - - - - - + + + + + + - + - + - - + + - + - - - + + + - - - - - - - - - + + + + + + + + + - + - + - - - + + + - - - - - - - - - + + + + + + + + + - - - - - - - + + + + + + + - + - + - + - + - + - - - + + + - - - - + + + + - - + + - + - + - - + + - + - - + + @@ -398,86 +398,65 @@

88.62%

- + - - + + - - - + + + - - - + + + - + - + - + - - + + - - - + + + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - +
@@ -887,27 +866,6 @@

88.62%

403 404 405 -406 -407 -408 -409 -410 -411 -412 -413 -414 -415 -416 -417 -418 -419 -420 -421 -422 -423 -424 -425 -426
(* SPDX-License-Identifier: AGPL-3.0-or-later *)
 (* Copyright © 2021-2024 OCamlPro *)
@@ -919,37 +877,57 @@ 

88.62%

module StrType = struct type t = binary str_type - let compare (x : t) (y : t) = Types.compare_str_type x y + let compare (x : t) (y : t) = Types.compare_str_type x y end module TypeMap = Map.Make (StrType) let typemap (types : binary str_type Named.t) = - Named.fold - (fun idx typ acc -> TypeMap.add typ (Raw idx) acc) + Named.fold + (fun idx typ acc -> TypeMap.add typ (Raw idx) acc) types TypeMap.empty -let find (named : 'a Named.t) : _ -> binary indice = function - | Raw _i as indice -> indice - | Text name -> ( +let find (named : 'a Named.t) : _ -> binary indice = function + | Raw _i as indice -> indice + | Text name -> ( match String_map.find_opt name named.named with | None -> assert false - | Some i -> Raw i ) + | Some i -> Raw i ) let get error (named : 'a Named.t) indice : 'a Indexed.t Result.t = - let (Raw i) = find named indice in + let (Raw i) = find named indice in (* TODO change Named.t structure to make that sensible *) - match List.nth_opt named.values i with None -> Error error | Some v -> Ok v + match List.nth_opt named.values i with None -> Error error | Some v -> Ok v let find_global (modul : Assigned.t) id : binary indice = find modul.global id let find_memory (modul : Assigned.t) id : binary indice = find modul.mem id -let rewrite_expr (modul : Assigned.t) (locals : binary param list) - (iexpr : text expr) : binary expr Result.t = +let rewrite_block_type (typemap : binary indice TypeMap.t) (modul : Assigned.t) + (block_type : text block_type) : binary block_type Result.t = + match block_type with + | Bt_ind id -> begin + let+ v = get (`Unknown_type id) modul.typ id in + match Indexed.get v with + | Def_func_t t' -> + let idx = Indexed.get_index v in + Bt_raw (Some (Raw idx), t') + | _ -> assert false + end + | Bt_raw (_, func_type) -> + let+ t = Binary_types.convert_func_type None func_type in + let idx = + match TypeMap.find_opt (Def_func_t t) typemap with + | None -> assert false + | Some idx -> idx + in + Bt_raw (Some idx, t) + +let rewrite_expr (typemap : binary indice TypeMap.t) (modul : Assigned.t) + (locals : binary param list) (iexpr : text expr) : binary expr Result.t = (* block_ids handling *) - let block_id_to_raw (loop_count, block_ids) id = - let* id = + let block_id_to_raw (loop_count, block_ids) id = + let* id = match id with | Text id -> begin match @@ -960,50 +938,27 @@

88.62%

| None -> Error (`Unknown_label (Text id)) | Some id -> Ok id end - | Raw id -> Ok id + | Raw id -> Ok id in (* this is > and not >= because you can `br 0` without any block to target the function *) - if id > List.length block_ids + loop_count then + if id > List.length block_ids + loop_count then Error (`Unknown_label (Raw id)) - else Ok (Raw id) + else Ok (Raw id) in - let bt_some_to_raw : text block_type -> binary block_type Result.t = function - | Bt_ind ind -> begin - let+ v = get (`Unknown_type ind) modul.typ ind in - match Indexed.get v with - | Def_func_t t' -> - let idx = Indexed.get_index v in - Bt_raw (Some (Raw idx), t') - | _ -> assert false - end - | Bt_raw (type_use, t) -> ( - let* t = Binary_types.convert_func_type None t in - match type_use with - | None -> Ok (Bt_raw (None, t)) - | Some ind -> - (* we check that the explicit type match the type_use, we have to remove parameters names to do so *) - let* t' = - let+ v = get (`Unknown_type ind) modul.typ ind in - match Indexed.get v with Def_func_t t' -> t' | _ -> assert false - in - let ok = Types.func_type_eq t t' in - if not ok then Error `Inline_function_type else Ok (Bt_raw (None, t)) ) - in - - let bt_to_raw : text block_type option -> binary block_type option Result.t = - function + (* block_types handling *) + let block_ty_opt_rewrite = function + | Some bt -> + let+ bt = rewrite_block_type typemap modul bt in + Some bt | None -> Ok None - | Some bt -> - let+ raw = bt_some_to_raw bt in - Some raw in let* locals, _after_last_assigned_local = - list_fold_left + list_fold_left (fun (locals, next_free_int) ((name, _type) : binary param) -> - match name with - | None -> Ok (locals, next_free_int + 1) + match name with + | None -> Ok (locals, next_free_int + 1) | Some name -> if String_map.mem name locals then Error (`Duplicate_local name) else Ok (String_map.add name next_free_int locals, next_free_int + 1) @@ -1011,75 +966,75 @@

88.62%

(String_map.empty, 0) locals in - let find_local = function - | Raw _i as id -> id + let find_local = function + | Raw _i as id -> id | Text name -> ( match String_map.find_opt name locals with | None -> assert false | Some id -> Raw id ) in - let find_table id = find modul.table id in - let find_func id = find modul.func id in + let find_table id = find modul.table id in + let find_func id = find modul.func id in let find_data id = find modul.data id in let find_elem id = find modul.elem id in let find_type id = find modul.typ id in let rec body (loop_count, block_ids) : text instr -> binary instr Result.t = - function + function | Br_table (ids, id) -> let block_id_to_raw = block_id_to_raw (loop_count, block_ids) in let* ids = array_map block_id_to_raw ids in let+ id = block_id_to_raw id in Br_table (ids, id) - | Br_if id -> - let+ id = block_id_to_raw (loop_count, block_ids) id in - Br_if id + | Br_if id -> + let+ id = block_id_to_raw (loop_count, block_ids) id in + Br_if id | Br id -> let+ id = block_id_to_raw (loop_count, block_ids) id in Br id - | Call id -> + | Call id -> let id = find_func id in - Ok (Call id) + Ok (Call id) | Return_call id -> let id = find_func id in Ok (Return_call id) | Local_set id -> let id = find_local id in Ok (Local_set id) - | Local_get id -> + | Local_get id -> let id = find_local id in - Ok (Local_get id) - | Local_tee id -> + Ok (Local_get id) + | Local_tee id -> let id = find_local id in - Ok (Local_tee id) - | If_else (id, bt, e1, e2) -> - let* bt = bt_to_raw bt in + Ok (Local_tee id) + | If_else (id, bt, e1, e2) -> + let* bt = block_ty_opt_rewrite bt in let block_ids = id :: block_ids in let* e1 = expr e1 (loop_count, block_ids) in let+ e2 = expr e2 (loop_count, block_ids) in If_else (id, bt, e1, e2) - | Loop (id, bt, e) -> - let* bt = bt_to_raw bt in - let+ e = expr e (loop_count + 1, id :: block_ids) in - Loop (id, bt, e) - | Block (id, bt, e) -> - let* bt = bt_to_raw bt in - let+ e = expr e (loop_count, id :: block_ids) in - Block (id, bt, e) - | Call_indirect (tbl_i, bt) -> + | Loop (id, bt, e) -> + let* bt = block_ty_opt_rewrite bt in + let+ e = expr e (loop_count + 1, id :: block_ids) in + Loop (id, bt, e) + | Block (id, bt, e) -> + let* bt = block_ty_opt_rewrite bt in + let+ e = expr e (loop_count, id :: block_ids) in + Block (id, bt, e) + | Call_indirect (tbl_i, bt) -> let tbl_i = find_table tbl_i in - let+ bt = bt_some_to_raw bt in + let+ bt = rewrite_block_type typemap modul bt in Call_indirect (tbl_i, bt) - | Return_call_indirect (tbl_i, bt) -> + | Return_call_indirect (tbl_i, bt) -> let tbl_i = find_table tbl_i in - let+ bt = bt_some_to_raw bt in + let+ bt = rewrite_block_type typemap modul bt in Return_call_indirect (tbl_i, bt) | Call_ref t -> let t = find_type t in Ok (Call_ref t) | Return_call_ref bt -> - let+ bt = bt_some_to_raw bt in + let+ bt = rewrite_block_type typemap modul bt in Return_call_ref bt | Global_set id -> let idx = find_global modul id in @@ -1160,12 +1115,12 @@

88.62%

| Ref_test (null, ht) -> let+ ht = Binary_types.convert_heap_type None ht in Ref_test (null, ht) - | ( I_unop _ | I_binop _ | I_testop _ | I_relop _ | F_unop _ | F_relop _ + | ( I_unop _ | I_binop _ | I_testop _ | I_relop _ | F_unop _ | F_relop _ | I32_wrap_i64 | F_reinterpret_i _ | I_reinterpret_f _ | I64_extend_i32 _ | I64_extend32_s | F32_demote_f64 | I_extend8_s _ | I_extend16_s _ | F64_promote_f32 | F_convert_i _ | I_trunc_f _ | I_trunc_sat_f _ - | Ref_is_null | F_binop _ | F32_const _ | F64_const _ | I32_const _ - | I64_const _ | Unreachable | Drop | Nop | Return | Ref_i31 | I31_get_s + | Ref_is_null | F_binop _ | F32_const _ | F64_const _ | I32_const _ + | I64_const _ | Unreachable | Drop | Nop | Return | Ref_i31 | I31_get_s | I31_get_u | Array_len | Ref_as_non_null | Extern_externalize | Extern_internalize | Ref_eq | I_load8 _ | I_store8 _ | I_load16 _ | I_store16 _ | I64_load32 _ | I64_store32 _ | I_load _ | F_load _ @@ -1177,40 +1132,20 @@

88.62%

| Struct_new _ | Br_on_non_null _ | Br_on_null _ ) as _i -> assert false and expr (e : text expr) (loop_count, block_ids) : binary expr Result.t = - list_map (fun i -> body (loop_count, block_ids) i) e + list_map (fun i -> body (loop_count, block_ids) i) e in expr iexpr (0, []) -let rewrite_block_type (typemap : binary indice TypeMap.t) (modul : Assigned.t) - (block_type : text block_type) : binary block_type Result.t = - match block_type with - | Bt_ind id -> begin - let+ v = get (`Unknown_type id) modul.typ id in - match Indexed.get v with - | Def_func_t t' -> - let idx = Indexed.get_index v in - Bt_raw (Some (Raw idx), t') - | _ -> assert false - end - | Bt_raw (_, func_type) -> - let+ t = Binary_types.convert_func_type None func_type in - let idx = - match TypeMap.find_opt (Def_func_t t) typemap with - | None -> assert false - | Some idx -> idx - in - Bt_raw (Some idx, t) - -let rewrite_global (modul : Assigned.t) (global : Text.global) : - Binary.global Result.t = - let* init = rewrite_expr modul [] global.init in +let rewrite_global (typemap : binary indice TypeMap.t) (modul : Assigned.t) + (global : Text.global) : Binary.global Result.t = + let* init = rewrite_expr typemap modul [] global.init in let mut, val_type = global.typ in let+ val_type = Binary_types.convert_val_type None val_type in let typ = (mut, val_type) in { Binary.id = global.id; init; typ } -let rewrite_elem (modul : Assigned.t) (elem : Text.elem) : Binary.elem Result.t - = +let rewrite_elem (typemap : binary indice TypeMap.t) (modul : Assigned.t) + (elem : Text.elem) : Binary.elem Result.t = let* (mode : Binary.elem_mode) = match elem.mode with | Elem_declarative -> Ok Binary.Elem_declarative @@ -1218,29 +1153,29 @@

88.62%

| Elem_active (None, _expr) -> assert false | Elem_active (Some id, expr) -> let (Raw indice) = find modul.table id in - let+ expr = rewrite_expr modul [] expr in + let+ expr = rewrite_expr typemap modul [] expr in Binary.Elem_active (Some indice, expr) in - let* init = list_map (rewrite_expr modul []) elem.init in + let* init = list_map (rewrite_expr typemap modul []) elem.init in let+ typ = Binary_types.convert_ref_type None elem.typ in { Binary.init; mode; id = elem.id; typ } -let rewrite_data (modul : Assigned.t) (data : Text.data) : Binary.data Result.t - = +let rewrite_data (typemap : binary indice TypeMap.t) (modul : Assigned.t) + (data : Text.data) : Binary.data Result.t = let+ mode = match data.mode with | Data_passive -> Ok Binary.Data_passive | Data_active (None, _expr) -> assert false | Data_active (Some indice, expr) -> let (Raw indice) = find_memory modul indice in - let+ expr = rewrite_expr modul [] expr in + let+ expr = rewrite_expr typemap modul [] expr in Binary.Data_active (indice, expr) in { Binary.mode; id = data.id; init = data.init } let rewrite_export named (exports : Grouped.opt_export list) : Binary.export list = - List.map + List.map (fun { Grouped.name; id } -> let (Raw id) = find named id in { Binary.name; id } ) @@ -1248,20 +1183,20 @@

88.62%

let rewrite_exports (modul : Assigned.t) (exports : Grouped.opt_exports) : Binary.exports = - let global = rewrite_export modul.global exports.global in - let mem = rewrite_export modul.mem exports.mem in - let table = rewrite_export modul.table exports.table in - let func = rewrite_export modul.func exports.func in - { Binary.global; mem; table; func } + let global = rewrite_export modul.global exports.global in + let mem = rewrite_export modul.mem exports.mem in + let table = rewrite_export modul.table exports.table in + let func = rewrite_export modul.func exports.func in + { Binary.global; mem; table; func } let rewrite_func (typemap : binary indice TypeMap.t) (modul : Assigned.t) ({ id; type_f; locals; body; _ } : text func) : binary func Result.t = - let* (Bt_raw (_, (params, _)) as type_f) = - rewrite_block_type typemap modul type_f + let* (Bt_raw (_, (params, _)) as type_f) = + rewrite_block_type typemap modul type_f in - let* locals = list_map (Binary_types.convert_param None) locals in - let+ body = rewrite_expr modul (params @ locals) body in - { body; type_f; id; locals } + let* locals = list_map (Binary_types.convert_param None) locals in + let+ body = rewrite_expr typemap modul (params @ locals) body in + { body; type_f; id; locals } let rewrite_import (f : 'a -> 'b Result.t) (import : 'a Imported.t) : 'b Imported.t Result.t = @@ -1269,69 +1204,71 @@

88.62%

{ import with desc } let rewrite_runtime f g r = - match r with - | Runtime.Local v -> - let+ v = f v in - Runtime.Local v + match r with + | Runtime.Local v -> + let+ v = f v in + Runtime.Local v | Imported i -> let+ i = g i in Runtime.Imported i let rewrite_named f named = - let+ values = - list_map + let+ values = + list_map (fun ind -> - let index = Indexed.get_index ind in - let value = Indexed.get ind in - let+ value = f value in - Indexed.return index value ) + let index = Indexed.get_index ind in + let value = Indexed.get ind in + let+ value = f value in + Indexed.return index value ) named.Named.values in - { named with Named.values } + { named with Named.values } let rewrite_types (_modul : Assigned.t) (t : binary str_type) : binary rec_type Result.t = (* TODO: the input `t` should actually be a `binary rec_type` *) - let t = [ (None, (Final, [], t)) ] in + let t = [ (None, (Final, [], t)) ] in Ok t let modul (modul : Assigned.t) : Binary.modul Result.t = - Log.debug0 "rewriting ...@\n"; - let typemap = typemap modul.typ in - let* global = + Log.debug0 "rewriting ...@\n"; + let typemap = typemap modul.typ in + let* global = let+ { Named.named; values } = - rewrite_named (rewrite_runtime (rewrite_global modul) ok) modul.global + rewrite_named + (rewrite_runtime (rewrite_global typemap modul) ok) + modul.global in - let values = List.rev values in - { Named.named; values } + let values = List.rev values in + { Named.named; values } in - let* elem = rewrite_named (rewrite_elem modul) modul.elem in - let* data = rewrite_named (rewrite_data modul) modul.data in - let exports = rewrite_exports modul modul.exports in - let* func = - let import = rewrite_import (rewrite_block_type typemap modul) in - let runtime = rewrite_runtime (rewrite_func typemap modul) import in - rewrite_named runtime modul.func + let* elem = rewrite_named (rewrite_elem typemap modul) modul.elem in + let* data = rewrite_named (rewrite_data typemap modul) modul.data in + let exports = rewrite_exports modul modul.exports in + let* func = + let import = rewrite_import (rewrite_block_type typemap modul) in + let runtime = rewrite_runtime (rewrite_func typemap modul) import in + rewrite_named runtime modul.func in - let+ types = rewrite_named (rewrite_types modul) modul.typ in - let start = + let+ types = rewrite_named (rewrite_types modul) modul.typ in + let start = match modul.start with | None -> None - | Some id -> + | Some id -> let (Raw id) = find func id in - Some id + Some id in let id = modul.id in let mem = Named.to_array modul.mem in - let table = Named.to_array modul.table in - let types = Named.to_array types in - let global = Named.to_array global in - let elem = Named.to_array elem in - let data = Named.to_array data in - let func = Named.to_array func in + let table = Named.to_array modul.table in + let types = Named.to_array types in + let global = Named.to_array global in + let elem = Named.to_array elem in + let data = Named.to_array data in + let func = Named.to_array func in - let modul : Binary.modul = + let modul : Binary.modul = { id; mem; table; types; global; elem; data; exports; func; start } in modul diff --git a/coverage/src/utils/log.ml.html b/coverage/src/utils/log.ml.html index dfab4c442..146a90246 100644 --- a/coverage/src/utils/log.ml.html +++ b/coverage/src/utils/log.ml.html @@ -86,18 +86,18 @@

83.33%

let profiling_on = ref false let debug0 t : unit = - if !debug_on then begin + if !debug_on then begin Fmt.epr t; Fmt.flush Fmt.stderr () end -let debug1 t a : unit = if !debug_on then Fmt.epr t a +let debug1 t a : unit = if !debug_on then Fmt.epr t a -let debug2 t a b : unit = if !debug_on then Fmt.epr t a b +let debug2 t a b : unit = if !debug_on then Fmt.epr t a b let debug5 t a b c d e : unit = if !debug_on then Fmt.epr t a b c d e -let profile3 t a b c : unit = if !profiling_on then Fmt.epr t a b c +let profile3 t a b c : unit = if !profiling_on then Fmt.epr t a b c (* TODO: remove this *) let err f = Fmt.failwith f diff --git a/coverage/src/utils/syntax.ml.html b/coverage/src/utils/syntax.ml.html index 1faf157be..89b0b868e 100644 --- a/coverage/src/utils/syntax.ml.html +++ b/coverage/src/utils/syntax.ml.html @@ -191,56 +191,56 @@

100.00%

open Prelude.Result -let ( let* ) o f = match o with Ok v -> f v | Error _ as e -> e +let ( let* ) o f = match o with Ok v -> f v | Error _ as e -> e -let ( let+ ) o f = match o with Ok v -> Ok (f v) | Error _ as e -> e +let ( let+ ) o f = match o with Ok v -> Ok (f v) | Error _ as e -> e -let ok v = Ok v +let ok v = Ok v let list_iter f l = - let err = ref None in + let err = ref None in try List.iter (fun v -> - match f v with - | Error _e as e -> + match f v with + | Error _e as e -> err := Some e; raise Exit - | Ok () -> () ) + | Ok () -> () ) l; - Ok () - with Exit -> Option.get !err + Ok () + with Exit -> Option.get !err let list_map f l = - let err = ref None in + let err = ref None in try - ok - @@ List.map + ok + @@ List.map (fun v -> - match f v with - | Error _e as e -> + match f v with + | Error _e as e -> err := Some e; raise Exit - | Ok v -> v ) + | Ok v -> v ) l - with Exit -> Option.get !err + with Exit -> Option.get !err let list_fold_left f acc l = - List.fold_left + List.fold_left (fun acc v -> - let* acc in - f acc v ) + let* acc in + f acc v ) (Ok acc) l let array_iter f a = - let err = ref None in + let err = ref None in try - for i = 0 to Array.length a - 1 do - match f (Array.unsafe_get a i) with + for i = 0 to Array.length a - 1 do + match f (Array.unsafe_get a i) with | Error _e as e -> err := Some e; raise Exit - | Ok () -> () + | Ok () -> () done; Ok () with Exit -> Option.get !err @@ -259,10 +259,10 @@

100.00%

with Exit -> Option.get !err let array_fold_left f acc l = - Array.fold_left + Array.fold_left (fun acc v -> - let* acc in - f acc v ) + let* acc in + f acc v ) (Ok acc) l
diff --git a/coverage/src/utils/tracing.ml.html b/coverage/src/utils/tracing.ml.html index 090021bc1..af279a741 100644 --- a/coverage/src/utils/tracing.ml.html +++ b/coverage/src/utils/tracing.ml.html @@ -107,19 +107,19 @@

57.14%

type Runtime_events.User.tag += Solver_model let check = - Runtime_events.User.register "solver_check" Solver_check + Runtime_events.User.register "solver_check" Solver_check Runtime_events.Type.span let check_true = - Runtime_events.User.register "solver_check_true" Solver_check_true + Runtime_events.User.register "solver_check_true" Solver_check_true Runtime_events.Type.span let check_false = - Runtime_events.User.register "solver_check_false" Solver_check_false + Runtime_events.User.register "solver_check_false" Solver_check_false Runtime_events.Type.span let model = - Runtime_events.User.register "solver_model" Solver_model + Runtime_events.User.register "solver_model" Solver_model Runtime_events.Type.span let with_ev ev f = diff --git a/coverage/src/validate/binary_validate.ml.html b/coverage/src/validate/binary_validate.ml.html index 22fe127b0..a2ccdf4e0 100644 --- a/coverage/src/validate/binary_validate.ml.html +++ b/coverage/src/validate/binary_validate.ml.html @@ -1641,9 +1641,9 @@

88.21%

let typ_of_val_type = function | Types.Ref_type (_null, t) -> Ref_type t - | Num_type t -> Num_type t + | Num_type t -> Num_type t -let typ_of_pt pt = typ_of_val_type @@ snd pt +let typ_of_pt pt = typ_of_val_type @@ snd pt module Index = struct module M = Int @@ -1670,9 +1670,9 @@

88.21%

} let local_get i env = - match Index.Map.find_opt i env.locals with + match Index.Map.find_opt i env.locals with | None -> Error (`Unknown_local (Raw i)) - | Some v -> Ok v + | Some v -> Ok v let global_get i modul = if i >= Array.length modul.global then Error (`Unknown_global (Raw i)) @@ -1681,17 +1681,17 @@

88.21%

| Runtime.Local { typ = desc; _ } | Imported { desc; _ } -> Ok desc let func_get i modul = - if i >= Array.length modul.func then Error (`Unknown_func (Raw i)) + if i >= Array.length modul.func then Error (`Unknown_func (Raw i)) else - match modul.func.(i) with - | Runtime.Local { type_f = Bt_raw (_, t); _ } + match modul.func.(i) with + | Runtime.Local { type_f = Bt_raw (_, t); _ } | Imported { desc = Bt_raw (_, t); _ } -> Ok t let block_type_get i env = - match List.nth_opt env.blocks i with + match List.nth_opt env.blocks i with | None -> Error (`Unknown_label (Raw i)) - | Some bt -> Ok bt + | Some bt -> Ok bt let table_type_get i (modul : Binary.modul) = if i >= Array.length modul.table then Error (`Unknown_table (Raw i)) @@ -1704,15 +1704,15 @@

88.21%

else match modul.elem.(i) with value -> Ok value.typ let make ~params ~locals ~modul ~result_type ~refs = - let l = List.mapi (fun i v -> (i, v)) (params @ locals) in - let locals = + let l = List.mapi (fun i v -> (i, v)) (params @ locals) in + let locals = List.fold_left (fun locals (i, (_, typ)) -> - let typ = typ_of_val_type typ in - Index.Map.add i typ locals ) + let typ = typ_of_val_type typ in + Index.Map.add i typ locals ) Index.Map.empty l in - { locals; modul; result_type; blocks = []; refs } + { locals; modul; result_type; blocks = []; refs } end type stack = typ list @@ -1729,7 +1729,7 @@

88.21%

let any = Any -let itype = function S32 -> i32 | S64 -> i64 +let itype = function S32 -> i32 | S64 -> i64 let ftype = function S32 -> f32 | S64 -> f64 @@ -1763,8 +1763,8 @@

88.21%

let pp fmt (s : stack) = pf fmt "[%a]" pp_typ_list s let match_num_type (required : num_type) (got : num_type) = - match (required, got) with - | I32, I32 -> true + match (required, got) with + | I32, I32 -> true | I64, I64 -> true | F32, F32 -> true | F64, F64 -> true @@ -1787,36 +1787,36 @@

88.21%

false let match_types required got = - match (required, got) with + match (required, got) with | Something, _ | _, Something -> true | Any, _ | _, Any -> true - | Num_type required, Num_type got -> match_num_type required got + | Num_type required, Num_type got -> match_num_type required got | Ref_type required, Ref_type got -> match_ref_type required got | Num_type _, Ref_type _ | Ref_type _, Num_type _ -> false let rec equal s s' = - match (s, s') with - | [], s | s, [] -> List.for_all (function Any -> true | _ -> false) s + match (s, s') with + | [], s | s, [] -> List.for_all (function Any -> true | _ -> false) s | Any :: tl, Any :: tl' -> equal tl s' || equal s tl' | Any :: tl, hd :: tl' | hd :: tl', Any :: tl -> equal tl (hd :: tl') || equal (Any :: tl) tl' - | hd :: tl, hd' :: tl' -> match_types hd hd' && equal tl tl' + | hd :: tl, hd' :: tl' -> match_types hd hd' && equal tl tl' let ( ||| ) l r = match (l, r) with None, v | v, None -> v | _l, r -> r let rec match_prefix ~prefix ~stack = - match (prefix, stack) with - | [], stack -> Some stack + match (prefix, stack) with + | [], stack -> Some stack | _hd :: _tl, [] -> None | _hd :: tl, Any :: tl' -> match_prefix ~prefix ~stack:tl' ||| match_prefix ~prefix:tl ~stack - | hd :: tl, hd' :: tl' -> - if match_types hd hd' then match_prefix ~prefix:tl ~stack:tl' else None + | hd :: tl, hd' :: tl' -> + if match_types hd hd' then match_prefix ~prefix:tl ~stack:tl' else None let pop required stack = - match match_prefix ~prefix:required ~stack with + match match_prefix ~prefix:required ~stack with | None -> Error (`Type_mismatch "pop") - | Some stack -> Ok stack + | Some stack -> Ok stack let pop_ref = function | (Something | Ref_type _) :: tl -> Ok tl @@ -1824,12 +1824,12 @@

88.21%

| _ -> Error (`Type_mismatch "pop_ref") let drop stack = - match stack with + match stack with | [] -> Error (`Type_mismatch "drop") | Any :: _ -> Ok [ Any ] - | _ :: tl -> Ok tl + | _ :: tl -> Ok tl - let push t stack = ok @@ t @ stack + let push t stack = ok @@ t @ stack let pop_push (Bt_raw (_, (pt, rt))) stack = let pt, rt = (List.rev_map typ_of_pt pt, List.rev_map typ_of_val_type rt) in @@ -1839,16 +1839,16 @@

88.21%

let rec typecheck_instr (env : Env.t) (stack : stack) (instr : binary instr) : stack Result.t = - match instr with + match instr with | Nop -> Ok stack - | Drop -> Stack.drop stack + | Drop -> Stack.drop stack | Return -> let+ _stack = Stack.pop (List.rev_map typ_of_val_type env.result_type) stack in [ any ] | Unreachable -> Ok [ any ] - | I32_const _ -> Stack.push [ i32 ] stack + | I32_const _ -> Stack.push [ i32 ] stack | I64_const _ -> Stack.push [ i64 ] stack | F32_const _ -> Stack.push [ f32 ] stack | F64_const _ -> Stack.push [ f64 ] stack @@ -1856,10 +1856,10 @@

88.21%

let t = itype s in let* stack = Stack.pop [ t ] stack in Stack.push [ t ] stack - | I_binop (s, _op) -> + | I_binop (s, _op) -> let t = itype s in - let* stack = Stack.pop [ t; t ] stack in - Stack.push [ t ] stack + let* stack = Stack.pop [ t; t ] stack in + Stack.push [ t ] stack | F_unop (s, _op) -> let t = ftype s in let* stack = Stack.pop [ t ] stack in @@ -1871,24 +1871,24 @@

88.21%

| I_testop (nn, _) -> let* stack = Stack.pop [ itype nn ] stack in Stack.push [ i32 ] stack - | I_relop (nn, _) -> + | I_relop (nn, _) -> let t = itype nn in - let* stack = Stack.pop [ t; t ] stack in - Stack.push [ i32 ] stack + let* stack = Stack.pop [ t; t ] stack in + Stack.push [ i32 ] stack | F_relop (nn, _) -> let t = ftype nn in let* stack = Stack.pop [ t; t ] stack in Stack.push [ i32 ] stack - | Local_get (Raw i) -> - let* t = Env.local_get i env in - Stack.push [ t ] stack + | Local_get (Raw i) -> + let* t = Env.local_get i env in + Stack.push [ t ] stack | Local_set (Raw i) -> let* t = Env.local_get i env in Stack.pop [ t ] stack - | Local_tee (Raw i) -> - let* t = Env.local_get i env in - let* stack = Stack.pop [ t ] stack in - Stack.push [ t ] stack + | Local_tee (Raw i) -> + let* t = Env.local_get i env in + let* stack = Stack.pop [ t ] stack in + Stack.push [ t ] stack | Global_get (Raw i) -> let* _mut, t = Env.global_get i env.modul in let t = typ_of_val_type t in @@ -1999,16 +1999,16 @@

88.21%

let* () = check_mem env.modul 0 in let* () = check_data env.modul id in Stack.pop [ i32; i32; i32 ] stack - | Block (_, bt, expr) -> typecheck_expr env expr ~is_loop:false bt ~stack - | Loop (_, bt, expr) -> typecheck_expr env expr ~is_loop:true bt ~stack + | Block (_, bt, expr) -> typecheck_expr env expr ~is_loop:false bt ~stack + | Loop (_, bt, expr) -> typecheck_expr env expr ~is_loop:true bt ~stack | Call_indirect (Raw tbl_id, bt) -> let* _tbl_type = Env.table_type_get tbl_id env.modul in let* stack = Stack.pop [ i32 ] stack in Stack.pop_push bt stack - | Call (Raw i) -> - let* pt, rt = Env.func_get i env.modul in - let* stack = Stack.pop (List.rev_map typ_of_pt pt) stack in - Stack.push (List.rev_map typ_of_val_type rt) stack + | Call (Raw i) -> + let* pt, rt = Env.func_get i env.modul in + let* stack = Stack.pop (List.rev_map typ_of_pt pt) stack in + Stack.push (List.rev_map typ_of_val_type rt) stack | Call_ref _t -> let+ stack = Stack.pop_ref stack in (* TODO: @@ -2106,11 +2106,11 @@

88.21%

let* jt = Env.block_type_get i env in let* _stack = Stack.pop jt stack in Ok [ any ] - | Br_if (Raw i) -> - let* stack = Stack.pop [ i32 ] stack in - let* jt = Env.block_type_get i env in - let* stack = Stack.pop jt stack in - Stack.push jt stack + | Br_if (Raw i) -> + let* stack = Stack.pop [ i32 ] stack in + let* jt = Env.block_type_get i env in + let* stack = Stack.pop jt stack in + Stack.push jt stack | Br_table (branches, Raw i) -> let* stack = Stack.pop [ i32 ] stack in let* default_jt = Env.block_type_get i env in @@ -2155,42 +2155,42 @@

88.21%

and typecheck_expr env expr ~is_loop (block_type : binary block_type option) ~stack:previous_stack : stack Result.t = - let pt, rt = + let pt, rt = Option.fold ~none:([], []) ~some:(fun (Bt_raw (_, (pt, rt)) : binary block_type) -> - (List.rev_map typ_of_pt pt, List.rev_map typ_of_val_type rt) ) + (List.rev_map typ_of_pt pt, List.rev_map typ_of_val_type rt) ) block_type in - let jump_type = if is_loop then pt else rt in + let jump_type = if is_loop then pt else rt in let env = { env with blocks = jump_type :: env.blocks } in - let* stack = list_fold_left (typecheck_instr env) pt expr in - if not (Stack.equal rt stack) then Error (`Type_mismatch "typecheck_expr 1") + let* stack = list_fold_left (typecheck_instr env) pt expr in + if not (Stack.equal rt stack) then Error (`Type_mismatch "typecheck_expr 1") else - match Stack.match_prefix ~prefix:pt ~stack:previous_stack with + match Stack.match_prefix ~prefix:pt ~stack:previous_stack with | None -> Error (`Type_mismatch (Fmt.str "expected a prefix of %a but stack has type %a" Stack.pp pt Stack.pp previous_stack ) ) - | Some stack_to_push -> Stack.push rt stack_to_push + | Some stack_to_push -> Stack.push rt stack_to_push let typecheck_function (modul : modul) func refs = - match func with + match func with | Runtime.Imported _ -> Ok () - | Local func -> + | Local func -> let (Bt_raw (_, (params, result))) = func.type_f in let env = Env.make ~params ~modul ~locals:func.locals ~result_type:result ~refs in let* stack = - typecheck_expr env func.body ~is_loop:false + typecheck_expr env func.body ~is_loop:false (Some (Bt_raw (None, ([], result)))) ~stack:[] in - let required = List.rev_map typ_of_val_type result in - if not @@ Stack.equal required stack then + let required = List.rev_map typ_of_val_type result in + if not @@ Stack.equal required stack then Error (`Type_mismatch "typecheck_function") - else Ok () + else Ok () let typecheck_const_instr (modul : modul) refs stack = function | I32_const _ -> Stack.push [ i32 ] stack @@ -2289,42 +2289,42 @@

88.21%

| _whatever -> Error (`Type_mismatch "typecheck_data") ) let typecheck_start { start; func; _ } = - match start with + match start with | None -> Ok () - | Some idx -> ( + | Some idx -> ( let* f = - if idx >= Array.length func then Error (`Unknown_func (Raw idx)) - else Ok func.(idx) + if idx >= Array.length func then Error (`Unknown_func (Raw idx)) + else Ok func.(idx) in - match f with - | Local { type_f = Bt_raw (_, ([], [])); _ } + match f with + | Local { type_f = Bt_raw (_, ([], [])); _ } | Imported { desc = Bt_raw (_, ([], [])); _ } -> Ok () | _ -> Error `Start_function ) let validate_exports modul = - let* () = - list_iter + let* () = + list_iter (fun { id; name = _ } -> let* _t = Env.func_get id modul in Ok () ) modul.exports.func in - let* () = - list_iter + let* () = + list_iter (fun { id; name = _ } -> let* _t = Env.table_type_get id modul in Ok () ) modul.exports.table in - let* () = - list_iter + let* () = + list_iter (fun { id; name = _ } -> let* _t = Env.global_get id modul in Ok () ) modul.exports.global in - list_iter + list_iter (fun { id; name = _ } -> let* () = check_mem modul id in Ok () ) @@ -2337,14 +2337,14 @@

88.21%

if min > max then Error `Size_minimum_greater_than_maximum else Ok () let validate_tables modul = - array_iter + array_iter (function | Runtime.Local (_, (limits, _)) | Imported { desc = limits, _; _ } -> check_limit limits ) modul.table let validate_mem modul = - array_iter + array_iter (function | Runtime.Local (_, desc) | Imported { desc; _ } -> let* () = @@ -2358,19 +2358,19 @@

88.21%

modul.mem let modul (modul : modul) = - Log.debug0 "typechecking ...@\n"; - let refs = Hashtbl.create 512 in - let* () = array_iter (typecheck_global modul refs) modul.global in - let* () = array_iter (typecheck_elem modul refs) modul.elem in - let* () = array_iter (typecheck_data modul refs) modul.data in - let* () = typecheck_start modul in - let* () = validate_exports modul in - let* () = validate_tables modul in - let* () = validate_mem modul in - List.iter + Log.debug0 "typechecking ...@\n"; + let refs = Hashtbl.create 512 in + let* () = array_iter (typecheck_global modul refs) modul.global in + let* () = array_iter (typecheck_elem modul refs) modul.elem in + let* () = array_iter (typecheck_data modul refs) modul.data in + let* () = typecheck_start modul in + let* () = validate_exports modul in + let* () = validate_tables modul in + let* () = validate_mem modul in + List.iter (fun (export : export) -> Hashtbl.add refs export.id ()) modul.exports.func; - array_iter (fun func -> typecheck_function modul func refs) modul.func + array_iter (fun func -> typecheck_function modul func refs) modul.func
diff --git a/coverage/src/validate/text_validate.ml.html b/coverage/src/validate/text_validate.ml.html index 3576b250b..a7eae7b0e 100644 --- a/coverage/src/validate/text_validate.ml.html +++ b/coverage/src/validate/text_validate.ml.html @@ -242,7 +242,7 @@

100.00%

} let empty_env () = - { start = false + { start = false ; memory = false ; imported_memory = false ; funcs = false @@ -251,10 +251,10 @@

100.00%

} let modul m = - Log.debug0 "checking ...@\n"; - let add_global = + Log.debug0 "checking ...@\n"; + let add_global = let seen = Hashtbl.create 512 in - function + function | None -> Ok () | Some id -> if Hashtbl.mem seen id then Error (`Duplicate_global id) @@ -262,7 +262,7 @@

100.00%

in let add_table = let seen = Hashtbl.create 512 in - function + function | None -> Ok () | Some id -> if Hashtbl.mem seen id then Error (`Duplicate_table id) @@ -270,7 +270,7 @@

100.00%

in let add_memory = let seen = Hashtbl.create 512 in - function + function | None -> Ok () | Some id -> if Hashtbl.mem seen id then Error (`Duplicate_memory id) @@ -278,15 +278,15 @@

100.00%

in let+ (_env : env) = - List.fold_left + List.fold_left (fun env field -> - let* env in - match field with + let* env in + match field with | MExport _e -> Ok env - | MFunc _f -> Ok { env with funcs = true } - | MStart _start -> + | MFunc _f -> Ok { env with funcs = true } + | MStart _start -> if env.start then Error `Multiple_start_sections - else Ok { env with start = true } + else Ok { env with start = true } | MImport i -> if env.funcs then Error `Import_after_function else if env.memory then Error `Import_after_memory @@ -312,18 +312,18 @@

100.00%

let* () = add_memory id in if env.memory || env.imported_memory then Error `Multiple_memories else Ok { env with memory = true } - | MType _t -> Ok env + | MType _t -> Ok env | MGlobal { id; _ } -> let+ () = add_global id in { env with globals = true } | MTable (id, _) -> let+ () = add_table id in { env with tables = true } ) - (Ok (empty_env ())) + (Ok (empty_env ())) m.fields in - m + m