From fc7cdfec54ae46b3706ded335eb3d008c46b97fd Mon Sep 17 00:00:00 2001 From: zapashcanon Date: Wed, 11 Dec 2024 11:20:47 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20OCamlPro?= =?UTF-8?q?/owi@168af31141e0f73894269dd97d6f39c9e07e120a=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/odoc.support/odoc.css | 2 +- api/owi/Owi/Annot/index.html | 2 +- api/owi/Owi/Assigned/index.html | 2 +- api/owi/Owi/Binary/index.html | 2 +- api/owi/Owi/Binary_encoder/index.html | 2 +- api/owi/Owi/Binary_parser/index.html | 2 +- api/owi/Owi/Binary_to_text/index.html | 2 +- api/owi/Owi/Binary_types/index.html | 2 +- api/owi/Owi/Binary_validate/index.html | 2 +- api/owi/Owi/C_share_site/Sites/index.html | 2 +- api/owi/Owi/C_share_site/index.html | 2 +- api/owi/Owi/Choice_intf/index.html | 2 +- .../Choice_intf/module-type-Base/V/index.html | 2 +- .../Choice_intf/module-type-Base/index.html | 2 +- .../module-type-Complete/V/index.html | 2 +- .../module-type-Complete/index.html | 2 +- api/owi/Owi/Cmd_c/index.html | 2 +- api/owi/Owi/Cmd_conc/index.html | 2 +- api/owi/Owi/Cmd_fmt/index.html | 2 +- api/owi/Owi/Cmd_instrument/index.html | 2 +- api/owi/Owi/Cmd_opt/index.html | 2 +- api/owi/Owi/Cmd_replay/index.html | 2 +- api/owi/Owi/Cmd_run/index.html | 2 +- api/owi/Owi/Cmd_script/index.html | 2 +- api/owi/Owi/Cmd_sym/index.html | 2 +- api/owi/Owi/Cmd_utils/index.html | 2 +- api/owi/Owi/Cmd_validate/index.html | 2 +- api/owi/Owi/Cmd_wasm2wat/index.html | 2 +- api/owi/Owi/Cmd_wat2wasm/index.html | 2 +- api/owi/Owi/Code_generator/index.html | 2 +- api/owi/Owi/Compile/Any/index.html | 2 +- api/owi/Owi/Compile/Binary/index.html | 2 +- api/owi/Owi/Compile/File/index.html | 2 +- api/owi/Owi/Compile/Text/index.html | 2 +- api/owi/Owi/Compile/index.html | 2 +- api/owi/Owi/Concolic/P'/Choice/index.html | 2 +- api/owi/Owi/Concolic/P'/Data/index.html | 2 +- api/owi/Owi/Concolic/P'/Elem/index.html | 2 +- api/owi/Owi/Concolic/P'/Env/index.html | 2 +- .../Owi/Concolic/P'/Extern_func/index.html | 2 +- api/owi/Owi/Concolic/P'/Global/index.html | 2 +- api/owi/Owi/Concolic/P'/Memory/index.html | 2 +- .../Owi/Concolic/P'/Module_to_run/index.html | 2 +- api/owi/Owi/Concolic/P'/Table/index.html | 2 +- api/owi/Owi/Concolic/P'/Value/Bool/index.html | 2 +- api/owi/Owi/Concolic/P'/Value/F32/index.html | 2 +- api/owi/Owi/Concolic/P'/Value/F64/index.html | 2 +- api/owi/Owi/Concolic/P'/Value/I32/index.html | 2 +- api/owi/Owi/Concolic/P'/Value/I64/index.html | 2 +- api/owi/Owi/Concolic/P'/Value/Ref/index.html | 2 +- api/owi/Owi/Concolic/P'/Value/index.html | 2 +- api/owi/Owi/Concolic/P'/index.html | 2 +- api/owi/Owi/Concolic/P/Choice'/index.html | 2 +- api/owi/Owi/Concolic/P/Data/index.html | 2 +- api/owi/Owi/Concolic/P/Elem/index.html | 2 +- api/owi/Owi/Concolic/P/Env/index.html | 2 +- api/owi/Owi/Concolic/P/Extern_func/index.html | 2 +- api/owi/Owi/Concolic/P/Global/index.html | 2 +- api/owi/Owi/Concolic/P/Memory/index.html | 2 +- .../Owi/Concolic/P/Module_to_run/index.html | 2 +- api/owi/Owi/Concolic/P/Table/index.html | 2 +- api/owi/Owi/Concolic/P/index.html | 2 +- api/owi/Owi/Concolic/index.html | 2 +- api/owi/Owi/Concolic_choice/index.html | 2 +- .../Owi/Concolic_value/T_pair/Bool/index.html | 2 +- .../Owi/Concolic_value/T_pair/F32/index.html | 2 +- .../Owi/Concolic_value/T_pair/F64/index.html | 2 +- .../Owi/Concolic_value/T_pair/I32/index.html | 2 +- .../Owi/Concolic_value/T_pair/I64/index.html | 2 +- .../T_pair/MK_Fop/argument-1-CT/index.html | 2 +- .../T_pair/MK_Fop/argument-2-CIT/index.html | 2 +- .../T_pair/MK_Fop/argument-3-ST/index.html | 2 +- .../T_pair/MK_Fop/argument-4-SIT/index.html | 2 +- .../T_pair/MK_Fop/argument-5-CFop/index.html | 2 +- .../T_pair/MK_Fop/argument-6-SFop/index.html | 2 +- .../Concolic_value/T_pair/MK_Fop/index.html | 2 +- .../T_pair/MK_Iop/argument-1-Const/index.html | 2 +- .../T_pair/MK_Iop/argument-2-CT/index.html | 2 +- .../T_pair/MK_Iop/argument-3-ST/index.html | 2 +- .../T_pair/MK_Iop/argument-4-CIop/index.html | 2 +- .../T_pair/MK_Iop/argument-5-SIop/index.html | 2 +- .../Concolic_value/T_pair/MK_Iop/index.html | 2 +- .../Owi/Concolic_value/T_pair/Ref/index.html | 2 +- .../T_pair/argument-1-C/Bool/index.html | 2 +- .../T_pair/argument-1-C/F32/index.html | 2 +- .../T_pair/argument-1-C/F64/index.html | 2 +- .../T_pair/argument-1-C/I32/index.html | 2 +- .../T_pair/argument-1-C/I64/index.html | 2 +- .../T_pair/argument-1-C/Ref/index.html | 2 +- .../T_pair/argument-1-C/index.html | 2 +- .../T_pair/argument-2-S/Bool/index.html | 2 +- .../T_pair/argument-2-S/F32/index.html | 2 +- .../T_pair/argument-2-S/F64/index.html | 2 +- .../T_pair/argument-2-S/I32/index.html | 2 +- .../T_pair/argument-2-S/I64/index.html | 2 +- .../T_pair/argument-2-S/Ref/index.html | 2 +- .../T_pair/argument-2-S/index.html | 2 +- api/owi/Owi/Concolic_value/T_pair/index.html | 2 +- .../T_pair/module-type-CFop/index.html | 2 +- .../T_pair/module-type-CIop/index.html | 2 +- .../T_pair/module-type-SFop/index.html | 2 +- .../T_pair/module-type-SIop/index.html | 2 +- api/owi/Owi/Concolic_value/V'/Bool/index.html | 2 +- api/owi/Owi/Concolic_value/V'/F32/index.html | 2 +- api/owi/Owi/Concolic_value/V'/F64/index.html | 2 +- api/owi/Owi/Concolic_value/V'/I32/index.html | 2 +- api/owi/Owi/Concolic_value/V'/I64/index.html | 2 +- api/owi/Owi/Concolic_value/V'/Ref/index.html | 2 +- api/owi/Owi/Concolic_value/V'/index.html | 2 +- api/owi/Owi/Concolic_value/V/Bool/index.html | 2 +- api/owi/Owi/Concolic_value/V/F32/index.html | 2 +- api/owi/Owi/Concolic_value/V/F64/index.html | 2 +- api/owi/Owi/Concolic_value/V/I32/index.html | 2 +- api/owi/Owi/Concolic_value/V/I64/index.html | 2 +- .../V/MK_Fop/argument-1-CT/index.html | 2 +- .../V/MK_Fop/argument-2-CIT/index.html | 2 +- .../V/MK_Fop/argument-3-ST/index.html | 2 +- .../V/MK_Fop/argument-4-SIT/index.html | 2 +- .../V/MK_Fop/argument-5-CFop/index.html | 2 +- .../V/MK_Fop/argument-6-SFop/index.html | 2 +- .../Owi/Concolic_value/V/MK_Fop/index.html | 2 +- .../V/MK_Iop/argument-1-Const/index.html | 2 +- .../V/MK_Iop/argument-2-CT/index.html | 2 +- .../V/MK_Iop/argument-3-ST/index.html | 2 +- .../V/MK_Iop/argument-4-CIop/index.html | 2 +- .../V/MK_Iop/argument-5-SIop/index.html | 2 +- .../Owi/Concolic_value/V/MK_Iop/index.html | 2 +- api/owi/Owi/Concolic_value/V/Ref/index.html | 2 +- api/owi/Owi/Concolic_value/V/index.html | 2 +- .../V/module-type-CFop/index.html | 2 +- .../V/module-type-CIop/index.html | 2 +- .../V/module-type-SFop/index.html | 2 +- .../V/module-type-SIop/index.html | 2 +- api/owi/Owi/Concolic_value/index.html | 2 +- .../Concolic_value/module-type-T/index.html | 2 +- api/owi/Owi/Concolic_wasm_ffi/index.html | 2 +- api/owi/Owi/Concrete/Choice/index.html | 2 +- api/owi/Owi/Concrete/Data/index.html | 2 +- api/owi/Owi/Concrete/Elem/index.html | 2 +- api/owi/Owi/Concrete/Env/index.html | 2 +- api/owi/Owi/Concrete/Extern_func/index.html | 2 +- api/owi/Owi/Concrete/Global/index.html | 2 +- api/owi/Owi/Concrete/Memory/index.html | 2 +- api/owi/Owi/Concrete/Module_to_run/index.html | 2 +- api/owi/Owi/Concrete/Table/index.html | 2 +- api/owi/Owi/Concrete/index.html | 2 +- api/owi/Owi/Concrete_choice/index.html | 2 +- api/owi/Owi/Concrete_global/index.html | 2 +- api/owi/Owi/Concrete_memory/index.html | 2 +- api/owi/Owi/Concrete_table/index.html | 2 +- api/owi/Owi/Concrete_value/Func/index.html | 2 +- .../Make_extern_func/argument-1-V/index.html | 2 +- .../Make_extern_func/argument-2-M/index.html | 2 +- .../argument-3-Memory/index.html | 2 +- .../Make_extern_func/index.html | 2 +- api/owi/Owi/Concrete_value/index.html | 2 +- api/owi/Owi/Contract/index.html | 2 +- api/owi/Owi/Convert/Float32/index.html | 2 +- api/owi/Owi/Convert/Float64/index.html | 2 +- api/owi/Owi/Convert/Int32/index.html | 2 +- api/owi/Owi/Convert/Int64/index.html | 2 +- api/owi/Owi/Convert/index.html | 2 +- api/owi/Owi/Env_id/index.html | 2 +- api/owi/Owi/Float32/index.html | 2 +- api/owi/Owi/Float64/index.html | 2 +- api/owi/Owi/Func_id/index.html | 2 +- api/owi/Owi/Func_intf/index.html | 2 +- .../module-type-Memory_type/index.html | 2 +- .../module-type-Monad_type/index.html | 2 +- .../Owi/Func_intf/module-type-T/index.html | 2 +- .../module-type-T_Extern_func/index.html | 2 +- .../module-type-Value_types/index.html | 2 +- api/owi/Owi/Grouped/index.html | 2 +- api/owi/Owi/Imported/index.html | 2 +- api/owi/Owi/Indexed/index.html | 2 +- api/owi/Owi/Int32/index.html | 2 +- api/owi/Owi/Int64/index.html | 2 +- api/owi/Owi/Interpret/Concolic/index.html | 2 +- api/owi/Owi/Interpret/Concrete/index.html | 2 +- api/owi/Owi/Interpret/SymbolicM/index.html | 2 +- api/owi/Owi/Interpret/SymbolicP/index.html | 2 +- api/owi/Owi/Interpret/index.html | 2 +- api/owi/Owi/Interpret_intf/index.html | 2 +- .../module-type-P/Choice/index.html | 2 +- .../module-type-P/Data/index.html | 2 +- .../module-type-P/Elem/index.html | 2 +- .../module-type-P/Env/index.html | 2 +- .../module-type-P/Extern_func/index.html | 2 +- .../module-type-P/Global/index.html | 2 +- .../module-type-P/Memory/index.html | 2 +- .../module-type-P/Module_to_run/index.html | 2 +- .../module-type-P/Table/index.html | 2 +- .../module-type-P/Value/Bool/index.html | 2 +- .../module-type-P/Value/F32/index.html | 2 +- .../module-type-P/Value/F64/index.html | 2 +- .../module-type-P/Value/I32/index.html | 2 +- .../module-type-P/Value/I64/index.html | 2 +- .../module-type-P/Value/Ref/index.html | 2 +- .../module-type-P/Value/index.html | 2 +- .../Interpret_intf/module-type-P/index.html | 2 +- .../module-type-S/State/index.html | 2 +- .../Interpret_intf/module-type-S/index.html | 2 +- api/owi/Owi/Kind/index.html | 2 +- api/owi/Owi/Link/index.html | 2 +- api/owi/Owi/Link_env/Build/index.html | 2 +- api/owi/Owi/Link_env/index.html | 2 +- api/owi/Owi/Link_env/module-type-P/index.html | 2 +- api/owi/Owi/Link_env/module-type-T/index.html | 2 +- api/owi/Owi/Log/index.html | 2 +- api/owi/Owi/Named/index.html | 2 +- api/owi/Owi/Optimize/index.html | 2 +- api/owi/Owi/Parse/Binary/Module/index.html | 2 +- api/owi/Owi/Parse/Binary/index.html | 2 +- .../Owi/Parse/Text/Inline_module/index.html | 2 +- api/owi/Owi/Parse/Text/Module/index.html | 2 +- api/owi/Owi/Parse/Text/Script/index.html | 2 +- api/owi/Owi/Parse/Text/index.html | 2 +- api/owi/Owi/Parse/index.html | 2 +- api/owi/Owi/Result/index.html | 2 +- api/owi/Owi/Rewrite/index.html | 2 +- api/owi/Owi/Runtime/index.html | 2 +- api/owi/Owi/Script/index.html | 2 +- api/owi/Owi/Sexp/index.html | 2 +- api/owi/Owi/Solver/index.html | 2 +- api/owi/Owi/Spec/index.html | 2 +- api/owi/Owi/Spectest/index.html | 2 +- .../Stack/Make/argument-1-V/Bool/index.html | 2 +- .../Stack/Make/argument-1-V/F32/index.html | 2 +- .../Stack/Make/argument-1-V/F64/index.html | 2 +- .../Stack/Make/argument-1-V/I32/index.html | 2 +- .../Stack/Make/argument-1-V/I64/index.html | 2 +- .../Stack/Make/argument-1-V/Ref/index.html | 2 +- .../Owi/Stack/Make/argument-1-V/index.html | 2 +- api/owi/Owi/Stack/Make/index.html | 2 +- api/owi/Owi/Stack/index.html | 2 +- api/owi/Owi/Stack/module-type-S/index.html | 2 +- api/owi/Owi/String_map/index.html | 2 +- api/owi/Owi/Symbolic/M/Choice/index.html | 2 +- api/owi/Owi/Symbolic/M/Data/index.html | 2 +- api/owi/Owi/Symbolic/M/Elem/index.html | 2 +- api/owi/Owi/Symbolic/M/Env/index.html | 2 +- api/owi/Owi/Symbolic/M/Extern_func/index.html | 2 +- api/owi/Owi/Symbolic/M/Memory/ITbl/index.html | 2 +- api/owi/Owi/Symbolic/M/Memory/index.html | 2 +- .../Owi/Symbolic/M/Module_to_run/index.html | 2 +- api/owi/Owi/Symbolic/M/index.html | 2 +- api/owi/Owi/Symbolic/MakeP/Data/index.html | 2 +- api/owi/Owi/Symbolic/MakeP/Elem/index.html | 2 +- api/owi/Owi/Symbolic/MakeP/Env/index.html | 2 +- .../Owi/Symbolic/MakeP/Extern_func/index.html | 2 +- api/owi/Owi/Symbolic/MakeP/Memory/index.html | 2 +- .../Symbolic/MakeP/Module_to_run/index.html | 2 +- .../MakeP/argument-1-Memory/ITbl/index.html | 2 +- .../MakeP/argument-1-Memory/index.html | 2 +- .../MakeP/argument-2-Thread/Memory/index.html | 2 +- .../MakeP/argument-2-Thread/index.html | 2 +- .../MakeP/argument-3-Choice/index.html | 2 +- api/owi/Owi/Symbolic/MakeP/index.html | 2 +- api/owi/Owi/Symbolic/P/Choice/index.html | 2 +- api/owi/Owi/Symbolic/P/Data/index.html | 2 +- api/owi/Owi/Symbolic/P/Elem/index.html | 2 +- api/owi/Owi/Symbolic/P/Env/index.html | 2 +- api/owi/Owi/Symbolic/P/Extern_func/index.html | 2 +- api/owi/Owi/Symbolic/P/Memory/ITbl/index.html | 2 +- api/owi/Owi/Symbolic/P/Memory/index.html | 2 +- .../Owi/Symbolic/P/Module_to_run/index.html | 2 +- api/owi/Owi/Symbolic/P/index.html | 2 +- api/owi/Owi/Symbolic/index.html | 2 +- .../Symbolic_choice/CoreImpl/State/index.html | 2 +- .../Owi/Symbolic_choice/CoreImpl/index.html | 2 +- .../Make/argument-1-Thread/Memory/index.html | 2 +- .../Make/argument-1-Thread/index.html | 2 +- api/owi/Owi/Symbolic_choice/Make/index.html | 2 +- api/owi/Owi/Symbolic_choice/index.html | 2 +- api/owi/Owi/Symbolic_choice_intf/index.html | 2 +- .../CoreImpl/State/index.html | 2 +- .../module-type-Intf/CoreImpl/index.html | 2 +- .../Make/argument-1-Thread/Memory/index.html | 2 +- .../Make/argument-1-Thread/index.html | 2 +- .../module-type-Intf/Make/index.html | 2 +- .../module-type-Intf/index.html | 2 +- .../module-type-S/V/index.html | 2 +- .../module-type-S/index.html | 2 +- .../Owi/Symbolic_choice_minimalist/index.html | 2 +- .../Symbolic_choice_with_memory/index.html | 2 +- .../Symbolic_choice_without_memory/index.html | 2 +- api/owi/Owi/Symbolic_global/index.html | 2 +- api/owi/Owi/Symbolic_memory/ITbl/index.html | 2 +- api/owi/Owi/Symbolic_memory/index.html | 2 +- .../ITbl/index.html | 2 +- .../Symbolic_memory_concretizing/index.html | 2 +- api/owi/Owi/Symbolic_memory_intf/index.html | 2 +- .../module-type-Intf/Make/ITbl/index.html | 2 +- .../Make/argument-1-_/index.html | 2 +- .../module-type-Intf/Make/index.html | 2 +- .../module-type-Intf/index.html | 2 +- .../module-type-M/index.html | 2 +- .../module-type-S/ITbl/index.html | 2 +- .../module-type-S/index.html | 2 +- .../Symbolic_memory_make/Make/ITbl/index.html | 2 +- .../Make/argument-1-_/index.html | 2 +- .../Owi/Symbolic_memory_make/Make/index.html | 2 +- api/owi/Owi/Symbolic_memory_make/index.html | 2 +- api/owi/Owi/Symbolic_table/ITbl/index.html | 2 +- api/owi/Owi/Symbolic_table/index.html | 2 +- api/owi/Owi/Symbolic_value/Bool/index.html | 2 +- api/owi/Owi/Symbolic_value/F32/index.html | 2 +- api/owi/Owi/Symbolic_value/F64/index.html | 2 +- api/owi/Owi/Symbolic_value/I32/index.html | 2 +- api/owi/Owi/Symbolic_value/I64/index.html | 2 +- api/owi/Owi/Symbolic_value/Ref/index.html | 2 +- api/owi/Owi/Symbolic_value/index.html | 2 +- api/owi/Owi/Symbolic_wasm_ffi/index.html | 2 +- api/owi/Owi/Synchronizer/index.html | 2 +- api/owi/Owi/Syntax/index.html | 2 +- api/owi/Owi/Text/index.html | 2 +- api/owi/Owi/Text_lexer/index.html | 2 +- .../Owi/Text_parser/Incremental/index.html | 2 +- .../Text_parser/MenhirInterpreter/index.html | 2 +- api/owi/Owi/Text_parser/index.html | 2 +- api/owi/Owi/Text_validate/index.html | 2 +- api/owi/Owi/Thread/Make/Memory/index.html | 2 +- .../argument-1-Symbolic_memory/index.html | 2 +- api/owi/Owi/Thread/Make/index.html | 2 +- api/owi/Owi/Thread/index.html | 2 +- api/owi/Owi/Thread_intf/index.html | 2 +- .../module-type-Intf/Make/Memory/index.html | 2 +- .../argument-1-Symbolic_memory/index.html | 2 +- .../module-type-Intf/Make/index.html | 2 +- .../Thread_intf/module-type-Intf/index.html | 2 +- .../Owi/Thread_intf/module-type-M/index.html | 2 +- .../module-type-S/Memory/index.html | 2 +- .../Owi/Thread_intf/module-type-S/index.html | 2 +- .../Owi/Thread_with_memory/Memory/index.html | 2 +- api/owi/Owi/Thread_with_memory/index.html | 2 +- .../Thread_without_memory/Memory/index.html | 2 +- api/owi/Owi/Thread_without_memory/index.html | 2 +- api/owi/Owi/Tracing/index.html | 2 +- api/owi/Owi/Trap/index.html | 2 +- api/owi/Owi/Types/index.html | 2 +- api/owi/Owi/V/Bool/index.html | 2 +- api/owi/Owi/V/F32/index.html | 2 +- api/owi/Owi/V/F64/index.html | 2 +- api/owi/Owi/V/I32/index.html | 2 +- api/owi/Owi/V/I64/index.html | 2 +- api/owi/Owi/V/Ref/index.html | 2 +- api/owi/Owi/V/index.html | 2 +- api/owi/Owi/Value_intf/index.html | 2 +- .../Owi/Value_intf/module-type-Fop/index.html | 2 +- .../Owi/Value_intf/module-type-Iop/index.html | 2 +- .../Value_intf/module-type-T/Bool/index.html | 2 +- .../Value_intf/module-type-T/F32/index.html | 2 +- .../Value_intf/module-type-T/F64/index.html | 2 +- .../Value_intf/module-type-T/I32/index.html | 2 +- .../Value_intf/module-type-T/I64/index.html | 2 +- .../Value_intf/module-type-T/Ref/index.html | 2 +- .../Owi/Value_intf/module-type-T/index.html | 2 +- api/owi/Owi/Wasm_ffi_intf/index.html | 2 +- .../Wasm_ffi_intf/module-type-S/index.html | 2 +- .../module-type-S0/Value/index.html | 2 +- .../Wasm_ffi_intf/module-type-S0/index.html | 2 +- api/owi/Owi/Wq/index.html | 2 +- api/owi/Owi/Wutf8/index.html | 2 +- api/owi/Owi/index.html | 2 +- api/owi/index.html | 2 +- coverage/src/ast/types.ml.html | 16 +- coverage/src/cmd/cmd_sym.ml.html | 10 +- coverage/src/data_structures/env_id.ml.html | 4 +- coverage/src/data_structures/func_id.ml.html | 4 +- coverage/src/data_structures/stack.ml.html | 40 +- .../src/data_structures/synchronizer.ml.html | 44 +- coverage/src/data_structures/wq.ml.html | 8 +- coverage/src/interpret/interpret.ml.html | 548 +++++++++--------- coverage/src/link/link_env.ml.html | 12 +- coverage/src/primitives/int32.ml.html | 16 +- coverage/src/primitives/int64.ml.html | 4 +- coverage/src/symbolic/solver.ml.html | 12 +- coverage/src/symbolic/symbolic.ml.html | 44 +- coverage/src/symbolic/symbolic_choice.ml.html | 262 ++++----- .../symbolic_choice_with_memory.ml.html | 2 +- coverage/src/symbolic/symbolic_global.ml.html | 30 +- .../symbolic_memory_concretizing.ml.html | 118 ++-- .../src/symbolic/symbolic_memory_make.ml.html | 86 +-- coverage/src/symbolic/symbolic_table.ml.html | 30 +- coverage/src/symbolic/symbolic_value.ml.html | 94 +-- .../src/symbolic/symbolic_wasm_ffi.ml.html | 8 +- coverage/src/symbolic/thread.ml.html | 30 +- .../src/symbolic/thread_with_memory.ml.html | 36 +- .../symbolic/thread_without_memory.ml.html | 2 +- coverage/src/utils/log.ml.html | 6 +- 390 files changed, 1098 insertions(+), 1098 deletions(-) diff --git a/api/odoc.support/odoc.css b/api/odoc.support/odoc.css index 15240b57..f0f22a14 100644 --- a/api/odoc.support/odoc.css +++ b/api/odoc.support/odoc.css @@ -1,7 +1,7 @@ @charset "UTF-8"; /* Copyright (c) 2016 The odoc contributors. All rights reserved. Distributed under the ISC license, see terms at the end of the file. - odoc 2.4.3 */ + odoc 2.4.4 */ /* Fonts */ /* noticia-text-regular - latin */ diff --git a/api/owi/Owi/Annot/index.html b/api/owi/Owi/Annot/index.html index 9f6819f3..b8dd9096 100644 --- a/api/owi/Owi/Annot/index.html +++ b/api/owi/Owi/Annot/index.html @@ -1,2 +1,2 @@ -Annot (owi.Owi.Annot)

Module Owi.Annot

type t = {
  1. annotid : string;
  2. items : Sexp.t;
}
type 'a annot =
  1. | Contract of 'a Contract.t
  2. | Annot of t
val pp_annot : Prelude.Fmt.formatter -> 'a annot -> unit
val record_annot : string -> Sexp.t -> unit
val get_annots : unit -> t list
+Annot (owi.Owi.Annot)

Module Owi.Annot

type t = {
  1. annotid : string;
  2. items : Sexp.t;
}
type 'a annot =
  1. | Contract of 'a Contract.t
  2. | Annot of t
val pp_annot : Prelude.Fmt.formatter -> 'a annot -> unit
val record_annot : string -> Sexp.t -> unit
val get_annots : unit -> t list
diff --git a/api/owi/Owi/Assigned/index.html b/api/owi/Owi/Assigned/index.html index 9f705071..378c1038 100644 --- a/api/owi/Owi/Assigned/index.html +++ b/api/owi/Owi/Assigned/index.html @@ -1,3 +1,3 @@ -Assigned (owi.Owi.Assigned)

Module Owi.Assigned

type t = {
  1. id : string option;
  2. typ : Types.binary Types.str_type Named.t;
  3. global : (Text.global, Types.binary Types.global_type) Runtime.t Named.t;
  4. table : (Types.binary Types.table, Types.binary Types.table_type) Runtime.t +Assigned (owi.Owi.Assigned)

    Module Owi.Assigned

    diff --git a/api/owi/Owi/Binary/index.html b/api/owi/Owi/Binary/index.html index 84e9b7f1..811ff133 100644 --- a/api/owi/Owi/Binary/index.html +++ b/api/owi/Owi/Binary/index.html @@ -1,3 +1,3 @@ -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 custom =
    1. | Uninterpreted of string
    2. | From_annot of Types.binary Annot.annot
    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 +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 custom =
      1. | Uninterpreted of string
      2. | From_annot of Types.binary Annot.annot
      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;
      11. custom : custom list;
      }
      val empty_modul : modul
      diff --git a/api/owi/Owi/Binary_encoder/index.html b/api/owi/Owi/Binary_encoder/index.html index c2472b21..3de26ffc 100644 --- a/api/owi/Owi/Binary_encoder/index.html +++ b/api/owi/Owi/Binary_encoder/index.html @@ -1,5 +1,5 @@ -Binary_encoder (owi.Owi.Binary_encoder)

      Module Owi.Binary_encoder

      val convert : +Binary_encoder (owi.Owi.Binary_encoder)

      Module Owi.Binary_encoder

      val convert : Fpath.t option -> Fpath.t -> unsafe:bool -> diff --git a/api/owi/Owi/Binary_parser/index.html b/api/owi/Owi/Binary_parser/index.html index 56a720b5..288d93bc 100644 --- a/api/owi/Owi/Binary_parser/index.html +++ b/api/owi/Owi/Binary_parser/index.html @@ -1,2 +1,2 @@ -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
      +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 index b36569cf..afff2628 100644 --- a/api/owi/Owi/Binary_to_text/index.html +++ b/api/owi/Owi/Binary_to_text/index.html @@ -1,2 +1,2 @@ -Binary_to_text (owi.Owi.Binary_to_text)

      Module Owi.Binary_to_text

      val modul : Binary.modul -> Text.modul
      +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 index c74b01af..5de866ae 100644 --- a/api/owi/Owi/Binary_types/index.html +++ b/api/owi/Owi/Binary_types/index.html @@ -1,5 +1,5 @@ -Binary_types (owi.Owi.Binary_types)

      Module Owi.Binary_types

      type tbl = (string, int) Prelude.Hashtbl.t Prelude.Option.t
      val convert_val_type : +Binary_types (owi.Owi.Binary_types)

      Module Owi.Binary_types

      type tbl = (string, int) Prelude.Hashtbl.t Prelude.Option.t
      val convert_heap_type : diff --git a/api/owi/Owi/Binary_validate/index.html b/api/owi/Owi/Binary_validate/index.html index 726b9eb7..1609c99a 100644 --- a/api/owi/Owi/Binary_validate/index.html +++ b/api/owi/Owi/Binary_validate/index.html @@ -1,2 +1,2 @@ -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

      +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 index bc32b941..96a05732 100644 --- a/api/owi/Owi/C_share_site/Sites/index.html +++ b/api/owi/Owi/C_share_site/Sites/index.html @@ -1,2 +1,2 @@ -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
      +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 index fd0fcf2f..08e9e27b 100644 --- a/api/owi/Owi/C_share_site/index.html +++ b/api/owi/Owi/C_share_site/index.html @@ -1,2 +1,2 @@ -C_share_site (owi.Owi.C_share_site)

      Module Owi.C_share_site

      module Sites : sig ... end
      +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 index 8805ce50..624fef12 100644 --- a/api/owi/Owi/Choice_intf/index.html +++ b/api/owi/Owi/Choice_intf/index.html @@ -1,2 +1,2 @@ -Choice_intf (owi.Owi.Choice_intf)

      Module Owi.Choice_intf

      module type Base = sig ... end
      module type Complete = sig ... end
      +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 index a9cb9824..6f37b68e 100644 --- a/api/owi/Owi/Choice_intf/module-type-Base/V/index.html +++ b/api/owi/Owi/Choice_intf/module-type-Base/V/index.html @@ -1,2 +1,2 @@ -V (owi.Owi.Choice_intf.Base.V)

      Module Base.V

      type int32
      type int64
      type float32
      type float64
      type vbool
      +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 index b8deba4c..ad1b7e55 100644 --- a/api/owi/Owi/Choice_intf/module-type-Base/index.html +++ b/api/owi/Owi/Choice_intf/module-type-Base/index.html @@ -1,2 +1,2 @@ -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
      +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 index 6b198f0c..44672be8 100644 --- a/api/owi/Owi/Choice_intf/module-type-Complete/V/index.html +++ b/api/owi/Owi/Choice_intf/module-type-Complete/V/index.html @@ -1,2 +1,2 @@ -V (owi.Owi.Choice_intf.Complete.V)

      Module Complete.V

      type int32
      type int64
      type float32
      type float64
      type vbool
      +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 index 7335cf4a..c26760bb 100644 --- a/api/owi/Owi/Choice_intf/module-type-Complete/index.html +++ b/api/owi/Owi/Choice_intf/module-type-Complete/index.html @@ -1,2 +1,2 @@ -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
      +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 index 4c336d65..56c3bbe1 100644 --- a/api/owi/Owi/Cmd_c/index.html +++ b/api/owi/Owi/Cmd_c/index.html @@ -1,5 +1,5 @@ -Cmd_c (owi.Owi.Cmd_c)

      Module Owi.Cmd_c

      val cmd : +Cmd_c (owi.Owi.Cmd_c)

      Module Owi.Cmd_c

      val cmd : debug:bool -> arch:int -> property:Fpath.t option -> diff --git a/api/owi/Owi/Cmd_conc/index.html b/api/owi/Owi/Cmd_conc/index.html index 109654db..d839c933 100644 --- a/api/owi/Owi/Cmd_conc/index.html +++ b/api/owi/Owi/Cmd_conc/index.html @@ -1,5 +1,5 @@ -Cmd_conc (owi.Owi.Cmd_conc)

      Module Owi.Cmd_conc

      val cmd : +Cmd_conc (owi.Owi.Cmd_conc)

      Module Owi.Cmd_conc

      val cmd : profiling:bool -> debug:bool -> unsafe:bool -> diff --git a/api/owi/Owi/Cmd_fmt/index.html b/api/owi/Owi/Cmd_fmt/index.html index 817f0c21..07c1cc2d 100644 --- a/api/owi/Owi/Cmd_fmt/index.html +++ b/api/owi/Owi/Cmd_fmt/index.html @@ -1,2 +1,2 @@ -Cmd_fmt (owi.Owi.Cmd_fmt)

      Module Owi.Cmd_fmt

      val cmd : inplace:bool -> files:Fpath.t list -> unit Result.t
      +Cmd_fmt (owi.Owi.Cmd_fmt)

      Module Owi.Cmd_fmt

      val cmd : inplace:bool -> files:Fpath.t list -> unit Result.t
      diff --git a/api/owi/Owi/Cmd_instrument/index.html b/api/owi/Owi/Cmd_instrument/index.html index 469e8882..85757607 100644 --- a/api/owi/Owi/Cmd_instrument/index.html +++ b/api/owi/Owi/Cmd_instrument/index.html @@ -1,5 +1,5 @@ -Cmd_instrument (owi.Owi.Cmd_instrument)

      Module Owi.Cmd_instrument

      val cmd : +Cmd_instrument (owi.Owi.Cmd_instrument)

      Module Owi.Cmd_instrument

      val cmd : debug:bool -> unsafe:bool -> symbolic:bool -> diff --git a/api/owi/Owi/Cmd_opt/index.html b/api/owi/Owi/Cmd_opt/index.html index ac85c47a..c88c111a 100644 --- a/api/owi/Owi/Cmd_opt/index.html +++ b/api/owi/Owi/Cmd_opt/index.html @@ -1,5 +1,5 @@ -Cmd_opt (owi.Owi.Cmd_opt)

      Module Owi.Cmd_opt

      val cmd : +Cmd_opt (owi.Owi.Cmd_opt)

      Module Owi.Cmd_opt

      val cmd : debug:bool -> unsafe:bool -> source_file:Fpath.t -> diff --git a/api/owi/Owi/Cmd_replay/index.html b/api/owi/Owi/Cmd_replay/index.html index 379d4b0a..56420c23 100644 --- a/api/owi/Owi/Cmd_replay/index.html +++ b/api/owi/Owi/Cmd_replay/index.html @@ -1,5 +1,5 @@ -Cmd_replay (owi.Owi.Cmd_replay)

      Module Owi.Cmd_replay

      val cmd : +Cmd_replay (owi.Owi.Cmd_replay)

      Module Owi.Cmd_replay

      val cmd : profiling:bool -> debug:bool -> unsafe:bool -> diff --git a/api/owi/Owi/Cmd_run/index.html b/api/owi/Owi/Cmd_run/index.html index f6877462..4291d680 100644 --- a/api/owi/Owi/Cmd_run/index.html +++ b/api/owi/Owi/Cmd_run/index.html @@ -1,5 +1,5 @@ -Cmd_run (owi.Owi.Cmd_run)

      Module Owi.Cmd_run

      val cmd : +Cmd_run (owi.Owi.Cmd_run)

      Module Owi.Cmd_run

      val cmd : profiling:bool -> debug:bool -> unsafe:bool -> diff --git a/api/owi/Owi/Cmd_script/index.html b/api/owi/Owi/Cmd_script/index.html index 1bf87e1a..6f698531 100644 --- a/api/owi/Owi/Cmd_script/index.html +++ b/api/owi/Owi/Cmd_script/index.html @@ -1,5 +1,5 @@ -Cmd_script (owi.Owi.Cmd_script)

      Module Owi.Cmd_script

      val cmd : +Cmd_script (owi.Owi.Cmd_script)

      Module Owi.Cmd_script

      val cmd : profiling:bool -> debug:bool -> optimize:bool -> diff --git a/api/owi/Owi/Cmd_sym/index.html b/api/owi/Owi/Cmd_sym/index.html index d619465a..70711cad 100644 --- a/api/owi/Owi/Cmd_sym/index.html +++ b/api/owi/Owi/Cmd_sym/index.html @@ -1,5 +1,5 @@ -Cmd_sym (owi.Owi.Cmd_sym)

      Module Owi.Cmd_sym

      type fail_mode = [
      1. | `Trap_only
      2. | `Assertion_only
      3. | `Both
      ]
      val cmd : +Cmd_sym (owi.Owi.Cmd_sym)

      Module Owi.Cmd_sym

      type fail_mode = [
      1. | `Trap_only
      2. | `Assertion_only
      3. | `Both
      ]
      val cmd : profiling:bool -> debug:bool -> unsafe:bool -> diff --git a/api/owi/Owi/Cmd_utils/index.html b/api/owi/Owi/Cmd_utils/index.html index 87aaf4c9..0c52bf07 100644 --- a/api/owi/Owi/Cmd_utils/index.html +++ b/api/owi/Owi/Cmd_utils/index.html @@ -1,4 +1,4 @@ -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 : +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 index 50ce60cd..4245841b 100644 --- a/api/owi/Owi/Cmd_validate/index.html +++ b/api/owi/Owi/Cmd_validate/index.html @@ -1,2 +1,2 @@ -Cmd_validate (owi.Owi.Cmd_validate)

      Module Owi.Cmd_validate

      val cmd : debug:bool -> files:Fpath.t list -> unit Result.t
      +Cmd_validate (owi.Owi.Cmd_validate)

      Module Owi.Cmd_validate

      val cmd : debug:bool -> files:Fpath.t list -> unit Result.t
      diff --git a/api/owi/Owi/Cmd_wasm2wat/index.html b/api/owi/Owi/Cmd_wasm2wat/index.html index b8464014..977253c5 100644 --- a/api/owi/Owi/Cmd_wasm2wat/index.html +++ b/api/owi/Owi/Cmd_wasm2wat/index.html @@ -1,5 +1,5 @@ -Cmd_wasm2wat (owi.Owi.Cmd_wasm2wat)

      Module Owi.Cmd_wasm2wat

      val cmd : +Cmd_wasm2wat (owi.Owi.Cmd_wasm2wat)

      Module Owi.Cmd_wasm2wat

      val cmd : source_file:Fpath.t -> emit_file:bool -> out_file:Fpath.t option -> diff --git a/api/owi/Owi/Cmd_wat2wasm/index.html b/api/owi/Owi/Cmd_wat2wasm/index.html index 8328fd1c..ab26036b 100644 --- a/api/owi/Owi/Cmd_wat2wasm/index.html +++ b/api/owi/Owi/Cmd_wat2wasm/index.html @@ -1,5 +1,5 @@ -Cmd_wat2wasm (owi.Owi.Cmd_wat2wasm)

      Module Owi.Cmd_wat2wasm

      val cmd : +Cmd_wat2wasm (owi.Owi.Cmd_wat2wasm)

      Module Owi.Cmd_wat2wasm

      val cmd : profiling:bool -> debug:bool -> unsafe:bool -> diff --git a/api/owi/Owi/Code_generator/index.html b/api/owi/Owi/Code_generator/index.html index ccc1aff3..3420a66e 100644 --- a/api/owi/Owi/Code_generator/index.html +++ b/api/owi/Owi/Code_generator/index.html @@ -1,2 +1,2 @@ -Code_generator (owi.Owi.Code_generator)

      Module Owi.Code_generator

      val generate : bool -> Binary.modul -> Binary.modul Result.t
      +Code_generator (owi.Owi.Code_generator)

      Module Owi.Code_generator

      val generate : bool -> Binary.modul -> Binary.modul Result.t
      diff --git a/api/owi/Owi/Compile/Any/index.html b/api/owi/Owi/Compile/Any/index.html index 76b91596..771a11d0 100644 --- a/api/owi/Owi/Compile/Any/index.html +++ b/api/owi/Owi/Compile/Any/index.html @@ -1,5 +1,5 @@ -Any (owi.Owi.Compile.Any)

      Module Compile.Any

      val until_binary_validate : +Any (owi.Owi.Compile.Any)

      Module Compile.Any

      val until_binary_validate : unsafe:bool -> rac:bool -> srac:bool -> diff --git a/api/owi/Owi/Compile/Binary/index.html b/api/owi/Owi/Compile/Binary/index.html index 628c3af9..e6aa423f 100644 --- a/api/owi/Owi/Compile/Binary/index.html +++ b/api/owi/Owi/Compile/Binary/index.html @@ -1,5 +1,5 @@ -Binary (owi.Owi.Compile.Binary)

      Module Compile.Binary

      val until_binary_validate : +Binary (owi.Owi.Compile.Binary)

      Module Compile.Binary

      val until_binary_validate : unsafe:bool -> Binary.modul -> Binary.modul Result.t
      val until_optimize : diff --git a/api/owi/Owi/Compile/File/index.html b/api/owi/Owi/Compile/File/index.html index e7adc906..b185e251 100644 --- a/api/owi/Owi/Compile/File/index.html +++ b/api/owi/Owi/Compile/File/index.html @@ -1,5 +1,5 @@ -File (owi.Owi.Compile.File)

      Module Compile.File

      val until_binary_validate : +File (owi.Owi.Compile.File)

      Module Compile.File

      val until_binary_validate : unsafe:bool -> rac:bool -> srac:bool -> diff --git a/api/owi/Owi/Compile/Text/index.html b/api/owi/Owi/Compile/Text/index.html index f3d2fd90..bf2b50e0 100644 --- a/api/owi/Owi/Compile/Text/index.html +++ b/api/owi/Owi/Compile/Text/index.html @@ -1,5 +1,5 @@ -Text (owi.Owi.Compile.Text)

      Module Compile.Text

      val until_text_validate : unsafe:bool -> Text.modul -> Text.modul Result.t
      val until_binary : +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 -> rac:bool -> srac:bool -> diff --git a/api/owi/Owi/Compile/index.html b/api/owi/Owi/Compile/index.html index b7975e4a..54e353c5 100644 --- a/api/owi/Owi/Compile/index.html +++ b/api/owi/Owi/Compile/index.html @@ -1,2 +1,2 @@ -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
      +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 index 19733797..b47c1b43 100644 --- a/api/owi/Owi/Concolic/P'/Choice/index.html +++ b/api/owi/Owi/Concolic/P'/Choice/index.html @@ -1,2 +1,2 @@ -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
      +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 index 08a5e61d..e5abfe0d 100644 --- a/api/owi/Owi/Concolic/P'/Data/index.html +++ b/api/owi/Owi/Concolic/P'/Data/index.html @@ -1,2 +1,2 @@ -Data (owi.Owi.Concolic.P'.Data)

      Module P'.Data

      type t
      val value : t -> string
      +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 index 59877ef6..ccaa417d 100644 --- a/api/owi/Owi/Concolic/P'/Elem/index.html +++ b/api/owi/Owi/Concolic/P'/Elem/index.html @@ -1,2 +1,2 @@ -Elem (owi.Owi.Concolic.P'.Elem)

      Module P'.Elem

      type t
      val get : t -> int -> Value.ref_value
      val size : t -> int
      +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 index bb37d1d6..3d4c055a 100644 --- a/api/owi/Owi/Concolic/P'/Env/index.html +++ b/api/owi/Owi/Concolic/P'/Env/index.html @@ -1,2 +1,2 @@ -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
      +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 index ae98abff..713b5860 100644 --- a/api/owi/Owi/Concolic/P'/Extern_func/index.html +++ b/api/owi/Owi/Concolic/P'/Extern_func/index.html @@ -1,2 +1,2 @@ -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
      +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 index b17d740e..abddd903 100644 --- a/api/owi/Owi/Concolic/P'/Global/index.html +++ b/api/owi/Owi/Concolic/P'/Global/index.html @@ -1,2 +1,2 @@ -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
      +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 index 4f89e6cb..236245a1 100644 --- a/api/owi/Owi/Concolic/P'/Memory/index.html +++ b/api/owi/Owi/Concolic/P'/Memory/index.html @@ -1,5 +1,5 @@ -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 : +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 -> diff --git a/api/owi/Owi/Concolic/P'/Module_to_run/index.html b/api/owi/Owi/Concolic/P'/Module_to_run/index.html index 49947c44..fdd616f4 100644 --- a/api/owi/Owi/Concolic/P'/Module_to_run/index.html +++ b/api/owi/Owi/Concolic/P'/Module_to_run/index.html @@ -1,2 +1,2 @@ -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 id : t -> string option
      +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 id : t -> string option
      diff --git a/api/owi/Owi/Concolic/P'/Table/index.html b/api/owi/Owi/Concolic/P'/Table/index.html index 88078365..2fd9f8f8 100644 --- a/api/owi/Owi/Concolic/P'/Table/index.html +++ b/api/owi/Owi/Concolic/P'/Table/index.html @@ -1,2 +1,2 @@ -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
      +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 index 6ec4fa5d..9499c373 100644 --- a/api/owi/Owi/Concolic/P'/Value/Bool/index.html +++ b/api/owi/Owi/Concolic/P'/Value/Bool/index.html @@ -1,2 +1,2 @@ -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
      +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 index 7baecb36..018b9206 100644 --- a/api/owi/Owi/Concolic/P'/Value/F32/index.html +++ b/api/owi/Owi/Concolic/P'/Value/F32/index.html @@ -1,5 +1,5 @@ -F32 (owi.Owi.Concolic.P'.Value.F32)

      Module Value.F32

      include Value_intf.Fop +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 diff --git a/api/owi/Owi/Concolic/P'/Value/F64/index.html b/api/owi/Owi/Concolic/P'/Value/F64/index.html index 0ab754fc..e618d5af 100644 --- a/api/owi/Owi/Concolic/P'/Value/F64/index.html +++ b/api/owi/Owi/Concolic/P'/Value/F64/index.html @@ -1,5 +1,5 @@ -F64 (owi.Owi.Concolic.P'.Value.F64)

      Module Value.F64

      include Value_intf.Fop +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 diff --git a/api/owi/Owi/Concolic/P'/Value/I32/index.html b/api/owi/Owi/Concolic/P'/Value/I32/index.html index 39cce810..e459f874 100644 --- a/api/owi/Owi/Concolic/P'/Value/I32/index.html +++ b/api/owi/Owi/Concolic/P'/Value/I32/index.html @@ -1,5 +1,5 @@ -I32 (owi.Owi.Concolic.P'.Value.I32)

      Module Value.I32

      include Value_intf.Iop +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 diff --git a/api/owi/Owi/Concolic/P'/Value/I64/index.html b/api/owi/Owi/Concolic/P'/Value/I64/index.html index 8348cc73..4d58746b 100644 --- a/api/owi/Owi/Concolic/P'/Value/I64/index.html +++ b/api/owi/Owi/Concolic/P'/Value/I64/index.html @@ -1,5 +1,5 @@ -I64 (owi.Owi.Concolic.P'.Value.I64)

      Module Value.I64

      include Value_intf.Iop +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 diff --git a/api/owi/Owi/Concolic/P'/Value/Ref/index.html b/api/owi/Owi/Concolic/P'/Value/Ref/index.html index b9abe605..031dc500 100644 --- a/api/owi/Owi/Concolic/P'/Value/Ref/index.html +++ b/api/owi/Owi/Concolic/P'/Value/Ref/index.html @@ -1,2 +1,2 @@ -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
      +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 index e27b4d10..5b10b6f8 100644 --- a/api/owi/Owi/Concolic/P'/Value/index.html +++ b/api/owi/Owi/Concolic/P'/Value/index.html @@ -1,2 +1,2 @@ -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
      +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 index 3be81191..e227b900 100644 --- a/api/owi/Owi/Concolic/P'/index.html +++ b/api/owi/Owi/Concolic/P'/index.html @@ -1,5 +1,5 @@ -P' (owi.Owi.Concolic.P')

      Module Concolic.P'

      type thread
      module Choice : Choice_intf.Base with module V := Value
      val select : +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 -> diff --git a/api/owi/Owi/Concolic/P/Choice'/index.html b/api/owi/Owi/Concolic/P/Choice'/index.html index aa32b01f..b4bfdc84 100644 --- a/api/owi/Owi/Concolic/P/Choice'/index.html +++ b/api/owi/Owi/Concolic/P/Choice'/index.html @@ -1,2 +1,2 @@ -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
      +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 index 8a92cc12..7cd64900 100644 --- a/api/owi/Owi/Concolic/P/Data/index.html +++ b/api/owi/Owi/Concolic/P/Data/index.html @@ -1,2 +1,2 @@ -Data (owi.Owi.Concolic.P.Data)

      Module P.Data

      type t = Link_env.data
      val value : Link_env.data -> string
      +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 index c1b39e0e..cb82a33f 100644 --- a/api/owi/Owi/Concolic/P/Elem/index.html +++ b/api/owi/Owi/Concolic/P/Elem/index.html @@ -1,2 +1,2 @@ -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
      +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 index ae41f341..936186c0 100644 --- a/api/owi/Owi/Concolic/P/Env/index.html +++ b/api/owi/Owi/Concolic/P/Env/index.html @@ -1,2 +1,2 @@ -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 -> '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 : 'a Link_env.t -> int -> Global.t Choice.t
      val drop_elem : 'a -> unit
      val drop_data : Link_env.data -> unit
      +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 -> '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 : '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 index 52fa5d96..76ffcabc 100644 --- a/api/owi/Owi/Concolic/P/Extern_func/index.html +++ b/api/owi/Owi/Concolic/P/Extern_func/index.html @@ -1,2 +1,2 @@ -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
      +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 index dbfdaea8..68bf3359 100644 --- a/api/owi/Owi/Concolic/P/Global/index.html +++ b/api/owi/Owi/Concolic/P/Global/index.html @@ -1,2 +1,2 @@ -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
      +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 index ddc6599a..4483c896 100644 --- a/api/owi/Owi/Concolic/P/Memory/index.html +++ b/api/owi/Owi/Concolic/P/Memory/index.html @@ -1,5 +1,5 @@ -Memory (owi.Owi.Concolic.P.Memory)

      Module P.Memory

      module C = Concrete_memory
      module S = Symbolic_memory
      val with_concrete : +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 -> ('a -> Owi.Concrete.Value.int32 -> 'c) -> diff --git a/api/owi/Owi/Concolic/P/Module_to_run/index.html b/api/owi/Owi/Concolic/P/Module_to_run/index.html index 2bd5aa18..49c1c8c3 100644 --- a/api/owi/Owi/Concolic/P/Module_to_run/index.html +++ b/api/owi/Owi/Concolic/P/Module_to_run/index.html @@ -1,2 +1,2 @@ -Module_to_run (owi.Owi.Concolic.P.Module_to_run)

      Module P.Module_to_run

      type t = {
      1. id : string option;
      2. env : Env.t;
      3. to_run : Types.binary Types.expr list;
      }
      val env : t -> Env.t
      val id : t -> string option
      val to_run : t -> Types.binary Types.expr list
      +Module_to_run (owi.Owi.Concolic.P.Module_to_run)

      Module P.Module_to_run

      type t = {
      1. id : string option;
      2. env : Env.t;
      3. to_run : Types.binary Types.expr list;
      }
      val env : t -> Env.t
      val id : t -> string option
      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 index 8823778a..c89c8cca 100644 --- a/api/owi/Owi/Concolic/P/Table/index.html +++ b/api/owi/Owi/Concolic/P/Table/index.html @@ -1,5 +1,5 @@ -Table (owi.Owi.Concolic.P.Table)

      Module P.Table

      val get : +Table (owi.Owi.Concolic.P.Table)

      Module P.Table

      val set : diff --git a/api/owi/Owi/Concolic/P/index.html b/api/owi/Owi/Concolic/P/index.html index d8853abd..d60f7df2 100644 --- a/api/owi/Owi/Concolic/P/index.html +++ b/api/owi/Owi/Concolic/P/index.html @@ -1,5 +1,5 @@ -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 : +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 -> diff --git a/api/owi/Owi/Concolic/index.html b/api/owi/Owi/Concolic/index.html index bb2ece40..36a6329e 100644 --- a/api/owi/Owi/Concolic/index.html +++ b/api/owi/Owi/Concolic/index.html @@ -1,5 +1,5 @@ -Concolic (owi.Owi.Concolic)

      Module Owi.Concolic

      module P : sig ... end
      val convert_module_to_run : +Concolic (owi.Owi.Concolic)

      Module Owi.Concolic

      module P : sig ... end
      val recover : P.Extern_func.extern_func Link_env.backup -> diff --git a/api/owi/Owi/Concolic_choice/index.html b/api/owi/Owi/Concolic_choice/index.html index 9bde4676..8c4d83e6 100644 --- a/api/owi/Owi/Concolic_choice/index.html +++ b/api/owi/Owi/Concolic_choice/index.html @@ -1,5 +1,5 @@ -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 : +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_value:bool -> Stdlib.Format.formatter -> (Smtml.Symbol.t * Concrete_value.t) list -> diff --git a/api/owi/Owi/Concolic_value/T_pair/Bool/index.html b/api/owi/Owi/Concolic_value/T_pair/Bool/index.html index b7e96fac..8c3e2de4 100644 --- a/api/owi/Owi/Concolic_value/T_pair/Bool/index.html +++ b/api/owi/Owi/Concolic_value/T_pair/Bool/index.html @@ -1,5 +1,5 @@ -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_ : +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_ : diff --git a/api/owi/Owi/Concolic_value/T_pair/F32/index.html b/api/owi/Owi/Concolic_value/T_pair/F32/index.html index e91c38f7..b36059d9 100644 --- a/api/owi/Owi/Concolic_value/T_pair/F32/index.html +++ b/api/owi/Owi/Concolic_value/T_pair/F32/index.html @@ -1,5 +1,5 @@ -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 add : +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 sub : diff --git a/api/owi/Owi/Concolic_value/T_pair/F64/index.html b/api/owi/Owi/Concolic_value/T_pair/F64/index.html index d5ea1f4f..3d394660 100644 --- a/api/owi/Owi/Concolic_value/T_pair/F64/index.html +++ b/api/owi/Owi/Concolic_value/T_pair/F64/index.html @@ -1,5 +1,5 @@ -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 add : +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 sub : diff --git a/api/owi/Owi/Concolic_value/T_pair/I32/index.html b/api/owi/Owi/Concolic_value/T_pair/I32/index.html index 5e0a4c1c..dbfdb6e5 100644 --- a/api/owi/Owi/Concolic_value/T_pair/I32/index.html +++ b/api/owi/Owi/Concolic_value/T_pair/I32/index.html @@ -1,5 +1,5 @@ -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 : +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 : diff --git a/api/owi/Owi/Concolic_value/T_pair/I64/index.html b/api/owi/Owi/Concolic_value/T_pair/I64/index.html index 9f9247cc..88a5c1e1 100644 --- a/api/owi/Owi/Concolic_value/T_pair/I64/index.html +++ b/api/owi/Owi/Concolic_value/T_pair/I64/index.html @@ -1,5 +1,5 @@ -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 : +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 : 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 index 96d6abfe..fdf54f03 100644 --- 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 @@ -1,2 +1,2 @@ -CT (owi.Owi.Concolic_value.T_pair.MK_Fop.CT)

      Parameter MK_Fop.CT

      type t
      +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 index 7fc63373..5e47de9b 100644 --- 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 @@ -1,2 +1,2 @@ -CIT (owi.Owi.Concolic_value.T_pair.MK_Fop.CIT)

      Parameter MK_Fop.CIT

      type t
      +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 index 643b2498..cd4fddf9 100644 --- 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 @@ -1,2 +1,2 @@ -ST (owi.Owi.Concolic_value.T_pair.MK_Fop.ST)

      Parameter MK_Fop.ST

      type t
      +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 index 020b3824..30f7b6cf 100644 --- 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 @@ -1,2 +1,2 @@ -SIT (owi.Owi.Concolic_value.T_pair.MK_Fop.SIT)

      Parameter MK_Fop.SIT

      type t
      +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 index 29ca152e..90f8a1a3 100644 --- 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 @@ -1,5 +1,5 @@ -CFop (owi.Owi.Concolic_value.T_pair.MK_Fop.CFop)

      Parameter MK_Fop.CFop

      include Value_intf.Fop +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 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 index 3dbf6a36..10ef2389 100644 --- 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 @@ -1,5 +1,5 @@ -SFop (owi.Owi.Concolic_value.T_pair.MK_Fop.SFop)

      Parameter MK_Fop.SFop

      include Value_intf.Fop +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 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 index 9a8cdcb6..17424748 100644 --- a/api/owi/Owi/Concolic_value/T_pair/MK_Fop/index.html +++ b/api/owi/Owi/Concolic_value/T_pair/MK_Fop/index.html @@ -1,2 +1,2 @@ -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
      +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 index 72f4b64e..b047d120 100644 --- 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 @@ -1,2 +1,2 @@ -Const (owi.Owi.Concolic_value.T_pair.MK_Iop.Const)

      Parameter MK_Iop.Const

      type t
      +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 index e1c33aad..307d5ce5 100644 --- 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 @@ -1,2 +1,2 @@ -CT (owi.Owi.Concolic_value.T_pair.MK_Iop.CT)

      Parameter MK_Iop.CT

      type t
      +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 index c3a56271..5ff76db6 100644 --- 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 @@ -1,2 +1,2 @@ -ST (owi.Owi.Concolic_value.T_pair.MK_Iop.ST)

      Parameter MK_Iop.ST

      type t
      +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 index 57e5d3a8..cde7f676 100644 --- 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 @@ -1,5 +1,5 @@ -CIop (owi.Owi.Concolic_value.T_pair.MK_Iop.CIop)

      Parameter MK_Iop.CIop

      include Value_intf.Iop +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 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 index 332269f5..6729ff39 100644 --- 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 @@ -1,5 +1,5 @@ -SIop (owi.Owi.Concolic_value.T_pair.MK_Iop.SIop)

      Parameter MK_Iop.SIop

      include Value_intf.Iop +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 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 index 0c55ff01..a0bb7d44 100644 --- a/api/owi/Owi/Concolic_value/T_pair/MK_Iop/index.html +++ b/api/owi/Owi/Concolic_value/T_pair/MK_Iop/index.html @@ -1,2 +1,2 @@ -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
      +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 index 1dca2e3d..9c460f4a 100644 --- a/api/owi/Owi/Concolic_value/T_pair/Ref/index.html +++ b/api/owi/Owi/Concolic_value/T_pair/Ref/index.html @@ -1,5 +1,5 @@ -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 : +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 -> 'a 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 index 341afb71..dc6ed033 100644 --- 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 @@ -1,2 +1,2 @@ -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
      +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 index b87fc01d..42841657 100644 --- 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 @@ -1,5 +1,5 @@ -F32 (owi.Owi.Concolic_value.T_pair.C.F32)

      Module C.F32

      include Value_intf.Fop +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 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 index fa2977dc..ace883d0 100644 --- 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 @@ -1,5 +1,5 @@ -F64 (owi.Owi.Concolic_value.T_pair.C.F64)

      Module C.F64

      include Value_intf.Fop +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 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 index 5ac9e155..e8145061 100644 --- 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 @@ -1,5 +1,5 @@ -I32 (owi.Owi.Concolic_value.T_pair.C.I32)

      Module C.I32

      include Value_intf.Iop +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 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 index 44c58095..e428a54d 100644 --- 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 @@ -1,5 +1,5 @@ -I64 (owi.Owi.Concolic_value.T_pair.C.I64)

      Module C.I64

      include Value_intf.Iop +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 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 index 5442af3f..7d929b67 100644 --- 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 @@ -1,2 +1,2 @@ -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
      +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 index 67c774c2..1cc9a9c9 100644 --- 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 @@ -1,2 +1,2 @@ -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
      +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 index bdf4ca15..52101266 100644 --- 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 @@ -1,2 +1,2 @@ -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
      +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 index 77eaaa99..ff43fed0 100644 --- 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 @@ -1,5 +1,5 @@ -F32 (owi.Owi.Concolic_value.T_pair.S.F32)

      Module S.F32

      include Value_intf.Fop +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 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 index 7214fed6..b7b01671 100644 --- 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 @@ -1,5 +1,5 @@ -F64 (owi.Owi.Concolic_value.T_pair.S.F64)

      Module S.F64

      include Value_intf.Fop +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 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 index faa229bc..d91e9d42 100644 --- 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 @@ -1,5 +1,5 @@ -I32 (owi.Owi.Concolic_value.T_pair.S.I32)

      Module S.I32

      include Value_intf.Iop +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 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 index bee875c7..6ac7bf7f 100644 --- 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 @@ -1,5 +1,5 @@ -I64 (owi.Owi.Concolic_value.T_pair.S.I64)

      Module S.I64

      include Value_intf.Iop +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 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 index f9dec7c6..a8a85bbe 100644 --- 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 @@ -1,2 +1,2 @@ -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
      +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 index 2b3e246d..7dc6127f 100644 --- 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 @@ -1,2 +1,2 @@ -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
      +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 index ac4445a2..cbe190ce 100644 --- a/api/owi/Owi/Concolic_value/T_pair/index.html +++ b/api/owi/Owi/Concolic_value/T_pair/index.html @@ -1,5 +1,5 @@ -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 : +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 -> ('a, 'b) 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) -> ('a, 'c) cs -> ('b, 'd) cs
      val f_pair_2 : 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 index e3069f7f..cf270603 100644 --- 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 @@ -1,5 +1,5 @@ -CFop (owi.Owi.Concolic_value.T_pair.CFop)

      Module type T_pair.CFop

      type num
      type same_size_int
      include Value_intf.Fop +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 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 index 6e2ddc42..557d4a6a 100644 --- 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 @@ -1,5 +1,5 @@ -CIop (owi.Owi.Concolic_value.T_pair.CIop)

      Module type T_pair.CIop

      type num
      type const
      include Value_intf.Iop +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 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 index bec20092..9ae00047 100644 --- 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 @@ -1,5 +1,5 @@ -SFop (owi.Owi.Concolic_value.T_pair.SFop)

      Module type T_pair.SFop

      type num
      type same_size_int
      include Value_intf.Fop +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 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 index d28d9122..b9b4086a 100644 --- 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 @@ -1,5 +1,5 @@ -SIop (owi.Owi.Concolic_value.T_pair.SIop)

      Module type T_pair.SIop

      type num
      type const
      include Value_intf.Iop +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 diff --git a/api/owi/Owi/Concolic_value/V'/Bool/index.html b/api/owi/Owi/Concolic_value/V'/Bool/index.html index 58eb841c..61206432 100644 --- a/api/owi/Owi/Concolic_value/V'/Bool/index.html +++ b/api/owi/Owi/Concolic_value/V'/Bool/index.html @@ -1,2 +1,2 @@ -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
      +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 index 19411882..dcd7c53c 100644 --- a/api/owi/Owi/Concolic_value/V'/F32/index.html +++ b/api/owi/Owi/Concolic_value/V'/F32/index.html @@ -1,5 +1,5 @@ -F32 (owi.Owi.Concolic_value.V'.F32)

      Module V'.F32

      include Value_intf.Fop +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 diff --git a/api/owi/Owi/Concolic_value/V'/F64/index.html b/api/owi/Owi/Concolic_value/V'/F64/index.html index 5050282f..b68f175c 100644 --- a/api/owi/Owi/Concolic_value/V'/F64/index.html +++ b/api/owi/Owi/Concolic_value/V'/F64/index.html @@ -1,5 +1,5 @@ -F64 (owi.Owi.Concolic_value.V'.F64)

      Module V'.F64

      include Value_intf.Fop +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 diff --git a/api/owi/Owi/Concolic_value/V'/I32/index.html b/api/owi/Owi/Concolic_value/V'/I32/index.html index 1c986198..c4185223 100644 --- a/api/owi/Owi/Concolic_value/V'/I32/index.html +++ b/api/owi/Owi/Concolic_value/V'/I32/index.html @@ -1,5 +1,5 @@ -I32 (owi.Owi.Concolic_value.V'.I32)

      Module V'.I32

      include Value_intf.Iop +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 diff --git a/api/owi/Owi/Concolic_value/V'/I64/index.html b/api/owi/Owi/Concolic_value/V'/I64/index.html index c9723ab5..0d7f7a8f 100644 --- a/api/owi/Owi/Concolic_value/V'/I64/index.html +++ b/api/owi/Owi/Concolic_value/V'/I64/index.html @@ -1,5 +1,5 @@ -I64 (owi.Owi.Concolic_value.V'.I64)

      Module V'.I64

      include Value_intf.Iop +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 diff --git a/api/owi/Owi/Concolic_value/V'/Ref/index.html b/api/owi/Owi/Concolic_value/V'/Ref/index.html index 54f8c858..0cdbefe8 100644 --- a/api/owi/Owi/Concolic_value/V'/Ref/index.html +++ b/api/owi/Owi/Concolic_value/V'/Ref/index.html @@ -1,2 +1,2 @@ -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
      +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 index ea6d59bb..9521e7e3 100644 --- a/api/owi/Owi/Concolic_value/V'/index.html +++ b/api/owi/Owi/Concolic_value/V'/index.html @@ -1,2 +1,2 @@ -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
      +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 index ce4fdc81..245d8ee9 100644 --- a/api/owi/Owi/Concolic_value/V/Bool/index.html +++ b/api/owi/Owi/Concolic_value/V/Bool/index.html @@ -1,5 +1,5 @@ -Bool (owi.Owi.Concolic_value.V.Bool)

      Module V.Bool

      val not : +Bool (owi.Owi.Concolic_value.V.Bool)

      Module V.Bool

      val or_ : (Owi.Concrete.Value.vbool, Symbolic_value.vbool) cs -> diff --git a/api/owi/Owi/Concolic_value/V/F32/index.html b/api/owi/Owi/Concolic_value/V/F32/index.html index d43e057a..2e404d08 100644 --- a/api/owi/Owi/Concolic_value/V/F32/index.html +++ b/api/owi/Owi/Concolic_value/V/F32/index.html @@ -1,5 +1,5 @@ -F32 (owi.Owi.Concolic_value.V.F32)

      Module V.F32

      val abs : +F32 (owi.Owi.Concolic_value.V.F32)

      Module V.F32

      val neg : (Owi.Concrete.Value.float32, Symbolic_value.float32) cs -> diff --git a/api/owi/Owi/Concolic_value/V/F64/index.html b/api/owi/Owi/Concolic_value/V/F64/index.html index 961b18e5..21ed0963 100644 --- a/api/owi/Owi/Concolic_value/V/F64/index.html +++ b/api/owi/Owi/Concolic_value/V/F64/index.html @@ -1,5 +1,5 @@ -F64 (owi.Owi.Concolic_value.V.F64)

      Module V.F64

      val abs : +F64 (owi.Owi.Concolic_value.V.F64)

      Module V.F64

      val neg : (Owi.Concrete.Value.float64, Symbolic_value.float64) cs -> diff --git a/api/owi/Owi/Concolic_value/V/I32/index.html b/api/owi/Owi/Concolic_value/V/I32/index.html index 36bb3d78..882843ab 100644 --- a/api/owi/Owi/Concolic_value/V/I32/index.html +++ b/api/owi/Owi/Concolic_value/V/I32/index.html @@ -1,5 +1,5 @@ -I32 (owi.Owi.Concolic_value.V.I32)

      Module V.I32

      val clz : +I32 (owi.Owi.Concolic_value.V.I32)

      Module V.I32

      val ctz : (Owi.Concrete.Value.int32, Symbolic_value.int32) cs -> diff --git a/api/owi/Owi/Concolic_value/V/I64/index.html b/api/owi/Owi/Concolic_value/V/I64/index.html index c2528b1d..c388394a 100644 --- a/api/owi/Owi/Concolic_value/V/I64/index.html +++ b/api/owi/Owi/Concolic_value/V/I64/index.html @@ -1,5 +1,5 @@ -I64 (owi.Owi.Concolic_value.V.I64)

      Module V.I64

      val clz : +I64 (owi.Owi.Concolic_value.V.I64)

      Module V.I64

      val ctz : (Owi.Concrete.Value.int64, Symbolic_value.int64) cs -> 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 index 80e643bf..5a1c8619 100644 --- 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 @@ -1,2 +1,2 @@ -CT (owi.Owi.Concolic_value.V.MK_Fop.CT)

      Parameter MK_Fop.CT

      type t
      +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 index 1a5fa6e8..77d41662 100644 --- 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 @@ -1,2 +1,2 @@ -CIT (owi.Owi.Concolic_value.V.MK_Fop.CIT)

      Parameter MK_Fop.CIT

      type t
      +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 index 818b0958..e266eb1a 100644 --- 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 @@ -1,2 +1,2 @@ -ST (owi.Owi.Concolic_value.V.MK_Fop.ST)

      Parameter MK_Fop.ST

      type t
      +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 index d9129d62..d5efbd52 100644 --- 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 @@ -1,2 +1,2 @@ -SIT (owi.Owi.Concolic_value.V.MK_Fop.SIT)

      Parameter MK_Fop.SIT

      type t
      +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 index bc732a69..6ab71ba8 100644 --- 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 @@ -1,2 +1,2 @@ -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
      +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 index e9b2f74a..cbe5c91a 100644 --- 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 @@ -1,2 +1,2 @@ -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
      +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 index 2aa91be7..7eaaefc0 100644 --- a/api/owi/Owi/Concolic_value/V/MK_Fop/index.html +++ b/api/owi/Owi/Concolic_value/V/MK_Fop/index.html @@ -1,2 +1,2 @@ -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
      +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 index a61901f9..37e2b7f7 100644 --- 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 @@ -1,2 +1,2 @@ -Const (owi.Owi.Concolic_value.V.MK_Iop.Const)

      Parameter MK_Iop.Const

      type t
      +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 index 5ad10821..f04a7120 100644 --- 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 @@ -1,2 +1,2 @@ -CT (owi.Owi.Concolic_value.V.MK_Iop.CT)

      Parameter MK_Iop.CT

      type t
      +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 index a98c356a..e74a6f8b 100644 --- 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 @@ -1,2 +1,2 @@ -ST (owi.Owi.Concolic_value.V.MK_Iop.ST)

      Parameter MK_Iop.ST

      type t
      +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 index 06fe27b5..bcd6f877 100644 --- 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 @@ -1,2 +1,2 @@ -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
      +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 index 0e145155..a17e686e 100644 --- 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 @@ -1,2 +1,2 @@ -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
      +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 index 9c4065f4..6c2e9a5f 100644 --- a/api/owi/Owi/Concolic_value/V/MK_Iop/index.html +++ b/api/owi/Owi/Concolic_value/V/MK_Iop/index.html @@ -1,2 +1,2 @@ -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
      +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 index 029cf3bb..296152cb 100644 --- a/api/owi/Owi/Concolic_value/V/Ref/index.html +++ b/api/owi/Owi/Concolic_value/V/Ref/index.html @@ -1,5 +1,5 @@ -Ref (owi.Owi.Concolic_value.V.Ref)

      Module V.Ref

      val equal_func_intf : Func_intf.t -> Func_intf.t -> bool
      val get_func : +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 -> diff --git a/api/owi/Owi/Concolic_value/V/index.html b/api/owi/Owi/Concolic_value/V/index.html index 6edc6a66..bdbe2a23 100644 --- a/api/owi/Owi/Concolic_value/V/index.html +++ b/api/owi/Owi/Concolic_value/V/index.html @@ -1,5 +1,5 @@ -V (owi.Owi.Concolic_value.V)

      Module Concolic_value.V

      val pp_int32 : +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 : 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 index 424c48e0..b1c14629 100644 --- a/api/owi/Owi/Concolic_value/V/module-type-CFop/index.html +++ b/api/owi/Owi/Concolic_value/V/module-type-CFop/index.html @@ -1,2 +1,2 @@ -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
      +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 index 53c75b1f..2a8ea8d4 100644 --- a/api/owi/Owi/Concolic_value/V/module-type-CIop/index.html +++ b/api/owi/Owi/Concolic_value/V/module-type-CIop/index.html @@ -1,2 +1,2 @@ -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
      +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 index 14d57872..92115e25 100644 --- a/api/owi/Owi/Concolic_value/V/module-type-SFop/index.html +++ b/api/owi/Owi/Concolic_value/V/module-type-SFop/index.html @@ -1,2 +1,2 @@ -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
      +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 index e3e6cfa8..27d49924 100644 --- a/api/owi/Owi/Concolic_value/V/module-type-SIop/index.html +++ b/api/owi/Owi/Concolic_value/V/module-type-SIop/index.html @@ -1,2 +1,2 @@ -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
      +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 index b83175c2..36deb8d0 100644 --- a/api/owi/Owi/Concolic_value/index.html +++ b/api/owi/Owi/Concolic_value/index.html @@ -1,5 +1,5 @@ -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
      module V' : +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
      module V' : Value_intf.T with type vbool = (Owi.Concrete.Value.vbool, Symbolic_value.vbool) cs and type int32 = (Owi.Concrete.Value.int32, Symbolic_value.int32) cs diff --git a/api/owi/Owi/Concolic_value/module-type-T/index.html b/api/owi/Owi/Concolic_value/module-type-T/index.html index b6dcf786..6df1fe4e 100644 --- a/api/owi/Owi/Concolic_value/module-type-T/index.html +++ b/api/owi/Owi/Concolic_value/module-type-T/index.html @@ -1,2 +1,2 @@ -T (owi.Owi.Concolic_value.T)

      Module type Concolic_value.T

      type t
      +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 index 8953449a..295d698a 100644 --- a/api/owi/Owi/Concolic_wasm_ffi/index.html +++ b/api/owi/Owi/Concolic_wasm_ffi/index.html @@ -1,3 +1,3 @@ -Concolic_wasm_ffi (owi.Owi.Concolic_wasm_ffi)

      Module Owi.Concolic_wasm_ffi

      include Wasm_ffi_intf.S +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 index 0664c8b3..3a51f44c 100644 --- a/api/owi/Owi/Concrete/Choice/index.html +++ b/api/owi/Owi/Concrete/Choice/index.html @@ -1,2 +1,2 @@ -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
      +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 index be7fc4b9..d189fa45 100644 --- a/api/owi/Owi/Concrete/Data/index.html +++ b/api/owi/Owi/Concrete/Data/index.html @@ -1,2 +1,2 @@ -Data (owi.Owi.Concrete.Data)

      Module Concrete.Data

      type t
      val value : t -> string
      +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 index 31d205bd..ce038387 100644 --- a/api/owi/Owi/Concrete/Elem/index.html +++ b/api/owi/Owi/Concrete/Elem/index.html @@ -1,2 +1,2 @@ -Elem (owi.Owi.Concrete.Elem)

      Module Concrete.Elem

      type t
      val get : t -> int -> Value.ref_value
      val size : t -> int
      +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 index ccbe19a7..7b6111c3 100644 --- a/api/owi/Owi/Concrete/Env/index.html +++ b/api/owi/Owi/Concrete/Env/index.html @@ -1,2 +1,2 @@ -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
      +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 index fdf19464..01db6c05 100644 --- a/api/owi/Owi/Concrete/Extern_func/index.html +++ b/api/owi/Owi/Concrete/Extern_func/index.html @@ -1,2 +1,2 @@ -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
      +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 index c635c9eb..3d668260 100644 --- a/api/owi/Owi/Concrete/Global/index.html +++ b/api/owi/Owi/Concrete/Global/index.html @@ -1,2 +1,2 @@ -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
      +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 index 83afa77f..9862bac0 100644 --- a/api/owi/Owi/Concrete/Memory/index.html +++ b/api/owi/Owi/Concrete/Memory/index.html @@ -1,5 +1,5 @@ -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 : +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 -> diff --git a/api/owi/Owi/Concrete/Module_to_run/index.html b/api/owi/Owi/Concrete/Module_to_run/index.html index aa03140a..feb76f49 100644 --- a/api/owi/Owi/Concrete/Module_to_run/index.html +++ b/api/owi/Owi/Concrete/Module_to_run/index.html @@ -1,2 +1,2 @@ -Module_to_run (owi.Owi.Concrete.Module_to_run)

      Module Concrete.Module_to_run

      val env : t -> Env.t
      val to_run : t -> Types.binary Types.expr list
      val id : t -> string option
      +Module_to_run (owi.Owi.Concrete.Module_to_run)

      Module Concrete.Module_to_run

      val env : t -> Env.t
      val to_run : t -> Types.binary Types.expr list
      val id : t -> string option
      diff --git a/api/owi/Owi/Concrete/Table/index.html b/api/owi/Owi/Concrete/Table/index.html index 88db4f61..9e543c00 100644 --- a/api/owi/Owi/Concrete/Table/index.html +++ b/api/owi/Owi/Concrete/Table/index.html @@ -1,2 +1,2 @@ -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
      +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 index bbc2b683..6d272505 100644 --- a/api/owi/Owi/Concrete/index.html +++ b/api/owi/Owi/Concrete/index.html @@ -1,5 +1,5 @@ -Concrete (owi.Owi.Concrete)

      Module Owi.Concrete

      include Interpret_intf.P +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 diff --git a/api/owi/Owi/Concrete_choice/index.html b/api/owi/Owi/Concrete_choice/index.html index 6431fbdf..0d7bef2f 100644 --- a/api/owi/Owi/Concrete_choice/index.html +++ b/api/owi/Owi/Concrete_choice/index.html @@ -1,2 +1,2 @@ -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
      +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 index 95d2d2d4..f911a4d4 100644 --- a/api/owi/Owi/Concrete_global/index.html +++ b/api/owi/Owi/Concrete_global/index.html @@ -1,2 +1,2 @@ -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
      +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 index 63595b30..1967bea0 100644 --- a/api/owi/Owi/Concrete_memory/index.html +++ b/api/owi/Owi/Concrete_memory/index.html @@ -1,2 +1,2 @@ -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
      +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 index 380eb49d..4ce2f742 100644 --- a/api/owi/Owi/Concrete_table/index.html +++ b/api/owi/Owi/Concrete_table/index.html @@ -1,2 +1,2 @@ -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
      +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 index 8def3d7d..e825b923 100644 --- a/api/owi/Owi/Concrete_value/Func/index.html +++ b/api/owi/Owi/Concrete_value/Func/index.html @@ -1,5 +1,5 @@ -Func (owi.Owi.Concrete_value.Func)

      Module Concrete_value.Func

      include Func_intf.T_Extern_func +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 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 index c7c91099..c2a78460 100644 --- 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 @@ -1,2 +1,2 @@ -V (owi.Owi.Concrete_value.Make_extern_func.V)

      Parameter Make_extern_func.V

      type int32
      type int64
      type float32
      type float64
      type vbool
      +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 index 4e0b3afa..b74b9cc7 100644 --- 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 @@ -1,2 +1,2 @@ -M (owi.Owi.Concrete_value.Make_extern_func.M)

      Parameter Make_extern_func.M

      type 'a t
      +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 index 3e6fc7d0..0552ed97 100644 --- 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 @@ -1,2 +1,2 @@ -Memory (owi.Owi.Concrete_value.Make_extern_func.Memory)

      Parameter Make_extern_func.Memory

      type t
      +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 index 1d1cdade..c0c0fe57 100644 --- a/api/owi/Owi/Concrete_value/Make_extern_func/index.html +++ b/api/owi/Owi/Concrete_value/Make_extern_func/index.html @@ -1,2 +1,2 @@ -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
      +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 index 25cf9900..4d85127c 100644 --- a/api/owi/Owi/Concrete_value/index.html +++ b/api/owi/Owi/Concrete_value/index.html @@ -1,5 +1,5 @@ -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 +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) : diff --git a/api/owi/Owi/Contract/index.html b/api/owi/Owi/Contract/index.html index 3aad7de2..5fd92a49 100644 --- a/api/owi/Owi/Contract/index.html +++ b/api/owi/Owi/Contract/index.html @@ -1,2 +1,2 @@ -Contract (owi.Owi.Contract)

      Module Owi.Contract

      type 'a t = {
      1. funcid : 'a Types.indice;
      2. preconditions : 'a Spec.prop list;
      3. postconditions : 'a Spec.prop list;
      }
      val compare_funcid : 'a t -> 'a t -> int
      val join_contract : 'a t -> 'a t -> 'a t
      val pp_contract : Prelude.Fmt.formatter -> 'a t -> unit
      val parse_contract : Sexp.t -> Types.text t Result.t
      +Contract (owi.Owi.Contract)

      Module Owi.Contract

      type 'a t = {
      1. funcid : 'a Types.indice;
      2. preconditions : 'a Spec.prop list;
      3. postconditions : 'a Spec.prop list;
      }
      val compare_funcid : 'a t -> 'a t -> int
      val join_contract : 'a t -> 'a t -> 'a t
      val pp_contract : Prelude.Fmt.formatter -> 'a t -> unit
      val parse_contract : Sexp.t -> Types.text t Result.t
      diff --git a/api/owi/Owi/Convert/Float32/index.html b/api/owi/Owi/Convert/Float32/index.html index c7ef391e..faee5d6e 100644 --- a/api/owi/Owi/Convert/Float32/index.html +++ b/api/owi/Owi/Convert/Float32/index.html @@ -1,2 +1,2 @@ -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
      +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 index 75928e24..b2e91718 100644 --- a/api/owi/Owi/Convert/Float64/index.html +++ b/api/owi/Owi/Convert/Float64/index.html @@ -1,2 +1,2 @@ -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
      +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 index 919a9733..567e639d 100644 --- a/api/owi/Owi/Convert/Int32/index.html +++ b/api/owi/Owi/Convert/Int32/index.html @@ -1,2 +1,2 @@ -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
      +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 index da475776..9039e5a0 100644 --- a/api/owi/Owi/Convert/Int64/index.html +++ b/api/owi/Owi/Convert/Int64/index.html @@ -1,2 +1,2 @@ -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
      +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 index 82876c41..66e33bd4 100644 --- a/api/owi/Owi/Convert/index.html +++ b/api/owi/Owi/Convert/index.html @@ -1,2 +1,2 @@ -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
      +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 index 878f512c..12f7b60d 100644 --- a/api/owi/Owi/Env_id/index.html +++ b/api/owi/Owi/Env_id/index.html @@ -1,5 +1,5 @@ -Env_id (owi.Owi.Env_id)

      Module Owi.Env_id

      type t
      type 'a collection
      val empty : 'a collection
      val with_fresh_id : +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 index 4c1af854..ff316f53 100644 --- a/api/owi/Owi/Float32/index.html +++ b/api/owi/Owi/Float32/index.html @@ -1,2 +1,2 @@ -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_exn : string -> t
      val of_string : string -> t option
      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
      +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_exn : string -> t
      val of_string : string -> t option
      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 index e7fe581b..df623d9c 100644 --- a/api/owi/Owi/Float64/index.html +++ b/api/owi/Owi/Float64/index.html @@ -1,2 +1,2 @@ -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_exn : string -> t
      val of_string : string -> t option
      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
      +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_exn : string -> t
      val of_string : string -> t option
      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 index 57d8a0c4..9fc72256 100644 --- a/api/owi/Owi/Func_id/index.html +++ b/api/owi/Owi/Func_id/index.html @@ -1,5 +1,5 @@ -Func_id (owi.Owi.Func_id)

      Module Owi.Func_id

      type t
      type 'a collection
      val empty : 'a collection
      val add : +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 -> diff --git a/api/owi/Owi/Func_intf/index.html b/api/owi/Owi/Func_intf/index.html index a4e70cf5..f32e0499 100644 --- a/api/owi/Owi/Func_intf/index.html +++ b/api/owi/Owi/Func_intf/index.html @@ -1,2 +1,2 @@ -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
      +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 index 3c428b45..05816a1a 100644 --- a/api/owi/Owi/Func_intf/module-type-Memory_type/index.html +++ b/api/owi/Owi/Func_intf/module-type-Memory_type/index.html @@ -1,2 +1,2 @@ -Memory_type (owi.Owi.Func_intf.Memory_type)

      Module type Func_intf.Memory_type

      type t
      +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 index f6233e94..cf51406d 100644 --- a/api/owi/Owi/Func_intf/module-type-Monad_type/index.html +++ b/api/owi/Owi/Func_intf/module-type-Monad_type/index.html @@ -1,2 +1,2 @@ -Monad_type (owi.Owi.Func_intf.Monad_type)

      Module type Func_intf.Monad_type

      type 'a t
      +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 index 198b4fac..79aa94f3 100644 --- a/api/owi/Owi/Func_intf/module-type-T/index.html +++ b/api/owi/Owi/Func_intf/module-type-T/index.html @@ -1,2 +1,2 @@ -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
      +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 index 788a15ee..21378611 100644 --- 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 @@ -1,2 +1,2 @@ -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
      +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 index f721926a..2dc66cc6 100644 --- a/api/owi/Owi/Func_intf/module-type-Value_types/index.html +++ b/api/owi/Owi/Func_intf/module-type-Value_types/index.html @@ -1,2 +1,2 @@ -Value_types (owi.Owi.Func_intf.Value_types)

      Module type Func_intf.Value_types

      type int32
      type int64
      type float32
      type float64
      type vbool
      +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 index 9969335e..a8b5bf2e 100644 --- a/api/owi/Owi/Grouped/index.html +++ b/api/owi/Owi/Grouped/index.html @@ -1,5 +1,5 @@ -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;
      }
      type t = {
      1. id : string option;
      2. typ : Types.text Types.type_def list;
      3. function_type : Types.text Types.func_type list;
      4. type_checks : type_check list;
      5. global : (Text.global, Types.binary Types.global_type) Runtime.t Indexed.t list;
      6. table : (Types.binary Types.table, Types.binary Types.table_type) Runtime.t +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 index 4e479e70..32f89eb5 100644 --- a/api/owi/Owi/Imported/index.html +++ b/api/owi/Owi/Imported/index.html @@ -1,2 +1,2 @@ -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

        +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 index f28e76ef..411c00b5 100644 --- a/api/owi/Owi/Indexed/index.html +++ b/api/owi/Owi/Indexed/index.html @@ -1,2 +1,2 @@ -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
        +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 index 4bd69e6b..04d7a6c6 100644 --- a/api/owi/Owi/Int32/index.html +++ b/api/owi/Owi/Int32/index.html @@ -1,2 +1,2 @@ -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_exn : string -> t
        val of_string : string -> t option
        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
        +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_exn : string -> t
        val of_string : string -> t option
        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 index 98572159..a64311e5 100644 --- a/api/owi/Owi/Int64/index.html +++ b/api/owi/Owi/Int64/index.html @@ -1,2 +1,2 @@ -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_exn : string -> t
        val of_string : string -> t option
        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
        +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_exn : string -> t
        val of_string : string -> t option
        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 index 56804fc7..02239dbc 100644 --- a/api/owi/Owi/Interpret/Concolic/index.html +++ b/api/owi/Owi/Interpret/Concolic/index.html @@ -1,5 +1,5 @@ -Concolic (owi.Owi.Interpret.Concolic)

        Module Interpret.Concolic

        val modul : +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 index cc89d77f..3c356ca4 100644 --- a/api/owi/Owi/Interpret/Concrete/index.html +++ b/api/owi/Owi/Interpret/Concrete/index.html @@ -1,5 +1,5 @@ -Concrete (owi.Owi.Interpret.Concrete)

        Module Interpret.Concrete

        val modul : +Concrete (owi.Owi.Interpret.Concrete)

        Module Interpret.Concrete

        val exec_vfunc_from_outside : diff --git a/api/owi/Owi/Interpret/SymbolicM/index.html b/api/owi/Owi/Interpret/SymbolicM/index.html index e4a6e50d..04a02c29 100644 --- a/api/owi/Owi/Interpret/SymbolicM/index.html +++ b/api/owi/Owi/Interpret/SymbolicM/index.html @@ -1,5 +1,5 @@ -SymbolicM (owi.Owi.Interpret.SymbolicM)

        Module Interpret.SymbolicM

        val modul : +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 index 7e94f628..8aa2865e 100644 --- a/api/owi/Owi/Interpret/SymbolicP/index.html +++ b/api/owi/Owi/Interpret/SymbolicP/index.html @@ -1,5 +1,5 @@ -SymbolicP (owi.Owi.Interpret.SymbolicP)

        Module Interpret.SymbolicP

        val modul : +SymbolicP (owi.Owi.Interpret.SymbolicP)

        Module Interpret.SymbolicP

        diff --git a/api/owi/Owi/Interpret/index.html b/api/owi/Owi/Interpret/index.html index 724369b5..c77661ed 100644 --- a/api/owi/Owi/Interpret/index.html +++ b/api/owi/Owi/Interpret/index.html @@ -1,2 +1,2 @@ -Interpret (owi.Owi.Interpret)

        Module Owi.Interpret

        module Concrete : sig ... end
        module SymbolicP : sig ... end
        module SymbolicM : sig ... end
        module Concolic : sig ... end
        +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 index 3b428634..84fee387 100644 --- a/api/owi/Owi/Interpret_intf/index.html +++ b/api/owi/Owi/Interpret_intf/index.html @@ -1,2 +1,2 @@ -Interpret_intf (owi.Owi.Interpret_intf)

        Module Owi.Interpret_intf

        module type P = sig ... end
        module type S = sig ... end
        +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 index e860437f..e8a3bef6 100644 --- a/api/owi/Owi/Interpret_intf/module-type-P/Choice/index.html +++ b/api/owi/Owi/Interpret_intf/module-type-P/Choice/index.html @@ -1,2 +1,2 @@ -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
        +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 index 4ccd3207..cd9f3a1f 100644 --- a/api/owi/Owi/Interpret_intf/module-type-P/Data/index.html +++ b/api/owi/Owi/Interpret_intf/module-type-P/Data/index.html @@ -1,2 +1,2 @@ -Data (owi.Owi.Interpret_intf.P.Data)

        Module P.Data

        type t
        val value : t -> string
        +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 index f8957aeb..384c56a7 100644 --- a/api/owi/Owi/Interpret_intf/module-type-P/Elem/index.html +++ b/api/owi/Owi/Interpret_intf/module-type-P/Elem/index.html @@ -1,2 +1,2 @@ -Elem (owi.Owi.Interpret_intf.P.Elem)

        Module P.Elem

        type t
        val get : t -> int -> Value.ref_value
        val size : t -> int
        +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 index 447a3601..5990538b 100644 --- a/api/owi/Owi/Interpret_intf/module-type-P/Env/index.html +++ b/api/owi/Owi/Interpret_intf/module-type-P/Env/index.html @@ -1,2 +1,2 @@ -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
        +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 index 66982a5d..a57dc7c1 100644 --- 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 @@ -1,2 +1,2 @@ -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
        +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 index 83711bdf..720d3a76 100644 --- a/api/owi/Owi/Interpret_intf/module-type-P/Global/index.html +++ b/api/owi/Owi/Interpret_intf/module-type-P/Global/index.html @@ -1,2 +1,2 @@ -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
        +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 index 4ab7daf9..0aa611d1 100644 --- a/api/owi/Owi/Interpret_intf/module-type-P/Memory/index.html +++ b/api/owi/Owi/Interpret_intf/module-type-P/Memory/index.html @@ -1,5 +1,5 @@ -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 : +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 -> 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 index b285ce3f..9af2736a 100644 --- 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 @@ -1,2 +1,2 @@ -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 id : t -> string option
        +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 id : t -> string option
        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 index 8e6e2567..5805a0f5 100644 --- a/api/owi/Owi/Interpret_intf/module-type-P/Table/index.html +++ b/api/owi/Owi/Interpret_intf/module-type-P/Table/index.html @@ -1,2 +1,2 @@ -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
        +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 index 5306d7b6..71e7e5ac 100644 --- 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 @@ -1,2 +1,2 @@ -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
        +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 index b27a5211..1d512b9c 100644 --- 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 @@ -1,5 +1,5 @@ -F32 (owi.Owi.Interpret_intf.P.Value.F32)

        Module Value.F32

        include Value_intf.Fop +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 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 index 6e37f42c..a0bbaebf 100644 --- 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 @@ -1,5 +1,5 @@ -F64 (owi.Owi.Interpret_intf.P.Value.F64)

        Module Value.F64

        include Value_intf.Fop +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 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 index d0baa922..ffeb26f3 100644 --- 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 @@ -1,5 +1,5 @@ -I32 (owi.Owi.Interpret_intf.P.Value.I32)

        Module Value.I32

        include Value_intf.Iop +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 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 index 5d4ae2da..0847afec 100644 --- 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 @@ -1,5 +1,5 @@ -I64 (owi.Owi.Interpret_intf.P.Value.I64)

        Module Value.I64

        include Value_intf.Iop +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 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 index 91378e39..9ddf73b7 100644 --- 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 @@ -1,2 +1,2 @@ -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
        +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 index 0f6063b0..cd6c1eee 100644 --- a/api/owi/Owi/Interpret_intf/module-type-P/Value/index.html +++ b/api/owi/Owi/Interpret_intf/module-type-P/Value/index.html @@ -1,2 +1,2 @@ -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
        +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 index 7c85d475..2653d204 100644 --- a/api/owi/Owi/Interpret_intf/module-type-P/index.html +++ b/api/owi/Owi/Interpret_intf/module-type-P/index.html @@ -1,5 +1,5 @@ -P (owi.Owi.Interpret_intf.P)

        Module type Interpret_intf.P

        type thread
        module Choice : Choice_intf.Base with module V := Value
        val select : +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 -> 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 index 07250798..ad19cd29 100644 --- a/api/owi/Owi/Interpret_intf/module-type-S/State/index.html +++ b/api/owi/Owi/Interpret_intf/module-type-S/State/index.html @@ -1,2 +1,2 @@ -State (owi.Owi.Interpret_intf.S.State)

        Module S.State

        type stack
        +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 index 5343369a..0ef12127 100644 --- a/api/owi/Owi/Interpret_intf/module-type-S/index.html +++ b/api/owi/Owi/Interpret_intf/module-type-S/index.html @@ -1,5 +1,5 @@ -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 : +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 -> diff --git a/api/owi/Owi/Kind/index.html b/api/owi/Owi/Kind/index.html index dc62e55e..e0c2f941 100644 --- a/api/owi/Owi/Kind/index.html +++ b/api/owi/Owi/Kind/index.html @@ -1,2 +1,2 @@ -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
        +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 index 226b3409..4c1d640b 100644 --- a/api/owi/Owi/Link/index.html +++ b/api/owi/Owi/Link/index.html @@ -1,5 +1,5 @@ -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. id : string option;
        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 : +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. id : string option;
        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 -> diff --git a/api/owi/Owi/Link_env/Build/index.html b/api/owi/Owi/Link_env/Build/index.html index 2810594f..35def5bf 100644 --- a/api/owi/Owi/Link_env/Build/index.html +++ b/api/owi/Owi/Link_env/Build/index.html @@ -1,2 +1,2 @@ -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
        +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 index b09a1003..e8bbec9c 100644 --- a/api/owi/Owi/Link_env/index.html +++ b/api/owi/Owi/Link_env/index.html @@ -1,2 +1,2 @@ -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
        +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 index 4ee00d11..ed060166 100644 --- a/api/owi/Owi/Link_env/module-type-P/index.html +++ b/api/owi/Owi/Link_env/module-type-P/index.html @@ -1,2 +1,2 @@ -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
        +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 index fb5c3131..515007ab 100644 --- a/api/owi/Owi/Link_env/module-type-T/index.html +++ b/api/owi/Owi/Link_env/module-type-T/index.html @@ -1,2 +1,2 @@ -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
        +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 index 10affaf5..40872aff 100644 --- a/api/owi/Owi/Log/index.html +++ b/api/owi/Owi/Log/index.html @@ -1,5 +1,5 @@ -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 : +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 : diff --git a/api/owi/Owi/Named/index.html b/api/owi/Owi/Named/index.html index e94067b5..4bb5d0a8 100644 --- a/api/owi/Owi/Named/index.html +++ b/api/owi/Owi/Named/index.html @@ -1,2 +1,2 @@ -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
        +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 index 52822686..bdab0295 100644 --- a/api/owi/Owi/Optimize/index.html +++ b/api/owi/Owi/Optimize/index.html @@ -1,2 +1,2 @@ -Optimize (owi.Owi.Optimize)

        Module Owi.Optimize

        Optimize module

        val modul : Binary.modul -> Binary.modul
        +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 index 3a93802a..137608c8 100644 --- a/api/owi/Owi/Parse/Binary/Module/index.html +++ b/api/owi/Owi/Parse/Binary/Module/index.html @@ -1,2 +1,2 @@ -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.

        +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 index af86cbe3..39519955 100644 --- a/api/owi/Owi/Parse/Binary/index.html +++ b/api/owi/Owi/Parse/Binary/index.html @@ -1,2 +1,2 @@ -Binary (owi.Owi.Parse.Binary)

        Module Parse.Binary

        module Module : sig ... end
        +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 index 41d31d38..b48944e5 100644 --- a/api/owi/Owi/Parse/Text/Inline_module/index.html +++ b/api/owi/Owi/Parse/Text/Inline_module/index.html @@ -1,2 +1,2 @@ -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.

        +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 index 8872e9c2..61d97d9e 100644 --- a/api/owi/Owi/Parse/Text/Module/index.html +++ b/api/owi/Owi/Parse/Text/Module/index.html @@ -1,2 +1,2 @@ -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.

        +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 index a1d86330..918334bd 100644 --- a/api/owi/Owi/Parse/Text/Script/index.html +++ b/api/owi/Owi/Parse/Text/Script/index.html @@ -1,2 +1,2 @@ -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.

        +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 index ebbc0942..4512201c 100644 --- a/api/owi/Owi/Parse/Text/index.html +++ b/api/owi/Owi/Parse/Text/index.html @@ -1,2 +1,2 @@ -Text (owi.Owi.Parse.Text)

        Module Parse.Text

        module Script : sig ... end
        module Module : sig ... end
        module Inline_module : sig ... end
        +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 index 8dc61725..d724fc6a 100644 --- a/api/owi/Owi/Parse/index.html +++ b/api/owi/Owi/Parse/index.html @@ -1,2 +1,2 @@ -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
        +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 index 3a3b638b..200ddb4c 100644 --- a/api/owi/Owi/Result/index.html +++ b/api/owi/Owi/Result/index.html @@ -1,5 +1,5 @@ -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 : +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 : diff --git a/api/owi/Owi/Rewrite/index.html b/api/owi/Owi/Rewrite/index.html index d6cb5c19..539d5ac1 100644 --- a/api/owi/Owi/Rewrite/index.html +++ b/api/owi/Owi/Rewrite/index.html @@ -1,2 +1,2 @@ -Rewrite (owi.Owi.Rewrite)

        Module Owi.Rewrite

        +Rewrite (owi.Owi.Rewrite)

        Module Owi.Rewrite

        diff --git a/api/owi/Owi/Runtime/index.html b/api/owi/Owi/Runtime/index.html index 47977863..a9649b85 100644 --- a/api/owi/Owi/Runtime/index.html +++ b/api/owi/Owi/Runtime/index.html @@ -1,2 +1,2 @@ -Runtime (owi.Owi.Runtime)

        Module Owi.Runtime

        type ('a, 'b) t =
        1. | Local of 'a
        2. | Imported of 'b Imported.t
        +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 index ebe2f3e3..fbb46748 100644 --- a/api/owi/Owi/Script/index.html +++ b/api/owi/Owi/Script/index.html @@ -1,2 +1,2 @@ -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

        +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/Sexp/index.html b/api/owi/Owi/Sexp/index.html index 42a7885d..7dadd87a 100644 --- a/api/owi/Owi/Sexp/index.html +++ b/api/owi/Owi/Sexp/index.html @@ -1,2 +1,2 @@ -Sexp (owi.Owi.Sexp)

        Module Owi.Sexp

        type t =
        1. | Atom of string
        2. | List of t list
        val pp_sexp : Prelude.Fmt.formatter -> t -> unit
        +Sexp (owi.Owi.Sexp)

        Module Owi.Sexp

        type t =
        1. | Atom of string
        2. | List of t list
        val pp_sexp : Prelude.Fmt.formatter -> t -> unit
        diff --git a/api/owi/Owi/Solver/index.html b/api/owi/Owi/Solver/index.html index 7961b17b..18e9999e 100644 --- a/api/owi/Owi/Solver/index.html +++ b/api/owi/Owi/Solver/index.html @@ -1,5 +1,5 @@ -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 : +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 -> diff --git a/api/owi/Owi/Spec/index.html b/api/owi/Owi/Spec/index.html index 31e57265..6da40594 100644 --- a/api/owi/Owi/Spec/index.html +++ b/api/owi/Owi/Spec/index.html @@ -1,2 +1,2 @@ -Spec (owi.Owi.Spec)

        Module Owi.Spec

        type nonrec binpred =
        1. | Ge
        2. | Gt
        3. | Le
        4. | Lt
        5. | Eq
        6. | Neq
        type nonrec unconnect =
        1. | Not
        type nonrec binconnect =
        1. | And
        2. | Or
        3. | Imply
        4. | Equiv
        type nonrec binder =
        1. | Forall
        2. | Exists
        type nonrec binder_type = Types.num_type
        type nonrec unop =
        1. | Neg
        type nonrec binop =
        1. | Plus
        2. | Minus
        3. | Mult
        4. | Div
        type 'a term =
        1. | Int32 : Int32.t -> 'a term
        2. | Int64 : Int64.t -> 'a term
        3. | Float32 : Float32.t -> 'a term
        4. | Float64 : Float64.t -> 'a term
        5. | Var : Types.text Types.indice -> Types.text term
        6. | ParamVar : 'a Types.indice -> 'a term
        7. | GlobalVar : 'a Types.indice -> 'a term
        8. | BinderVar : 'a Types.indice -> 'a term
        9. | UnOp : unop * 'a term -> 'a term
        10. | BinOp : binop * 'a term * 'a term -> 'a term
        11. | Result : int option -> 'a term
        12. | Memory : 'a term -> 'a term
        type 'a prop =
        1. | Const : bool -> 'a prop
        2. | BinPred : binpred * 'a term * 'a term -> 'a prop
        3. | UnConnect : unconnect * 'a prop -> 'a prop
        4. | BinConnect : binconnect * 'a prop * 'a prop -> 'a prop
        5. | Binder : binder * binder_type * string option * 'a prop -> 'a prop
        val pp_binpred : Prelude.Fmt.formatter -> binpred -> unit
        val pp_unconnect : Prelude.Fmt.formatter -> unconnect -> unit
        val pp_binconnect : Prelude.Fmt.formatter -> binconnect -> unit
        val pp_binder : Prelude.Fmt.formatter -> binder -> unit
        val pp_binder_type : Prelude.Fmt.formatter -> binder_type -> unit
        val pp_unop : Prelude.Fmt.formatter -> unop -> unit
        val pp_binop : Prelude.Fmt.formatter -> binop -> unit
        val pp_term : Prelude.Fmt.formatter -> 'a term -> unit
        val pp_prop : Prelude.Fmt.formatter -> 'a prop -> unit
        val parse_indice : string -> Types.text Types.indice Result.t
        val parse_prop : Sexp.t -> Types.text prop Result.t
        val parse_term : Sexp.t -> Types.text term Result.t
        +Spec (owi.Owi.Spec)

        Module Owi.Spec

        type nonrec binpred =
        1. | Ge
        2. | Gt
        3. | Le
        4. | Lt
        5. | Eq
        6. | Neq
        type nonrec unconnect =
        1. | Not
        type nonrec binconnect =
        1. | And
        2. | Or
        3. | Imply
        4. | Equiv
        type nonrec binder =
        1. | Forall
        2. | Exists
        type nonrec binder_type = Types.num_type
        type nonrec unop =
        1. | Neg
        type nonrec binop =
        1. | Plus
        2. | Minus
        3. | Mult
        4. | Div
        type 'a term =
        1. | Int32 : Int32.t -> 'a term
        2. | Int64 : Int64.t -> 'a term
        3. | Float32 : Float32.t -> 'a term
        4. | Float64 : Float64.t -> 'a term
        5. | Var : Types.text Types.indice -> Types.text term
        6. | ParamVar : 'a Types.indice -> 'a term
        7. | GlobalVar : 'a Types.indice -> 'a term
        8. | BinderVar : 'a Types.indice -> 'a term
        9. | UnOp : unop * 'a term -> 'a term
        10. | BinOp : binop * 'a term * 'a term -> 'a term
        11. | Result : int option -> 'a term
        12. | Memory : 'a term -> 'a term
        type 'a prop =
        1. | Const : bool -> 'a prop
        2. | BinPred : binpred * 'a term * 'a term -> 'a prop
        3. | UnConnect : unconnect * 'a prop -> 'a prop
        4. | BinConnect : binconnect * 'a prop * 'a prop -> 'a prop
        5. | Binder : binder * binder_type * string option * 'a prop -> 'a prop
        val pp_binpred : Prelude.Fmt.formatter -> binpred -> unit
        val pp_unconnect : Prelude.Fmt.formatter -> unconnect -> unit
        val pp_binconnect : Prelude.Fmt.formatter -> binconnect -> unit
        val pp_binder : Prelude.Fmt.formatter -> binder -> unit
        val pp_binder_type : Prelude.Fmt.formatter -> binder_type -> unit
        val pp_unop : Prelude.Fmt.formatter -> unop -> unit
        val pp_binop : Prelude.Fmt.formatter -> binop -> unit
        val pp_term : Prelude.Fmt.formatter -> 'a term -> unit
        val pp_prop : Prelude.Fmt.formatter -> 'a prop -> unit
        val parse_indice : string -> Types.text Types.indice Result.t
        val parse_prop : Sexp.t -> Types.text prop Result.t
        val parse_term : Sexp.t -> Types.text term Result.t
        diff --git a/api/owi/Owi/Spectest/index.html b/api/owi/Owi/Spectest/index.html index fe28ec90..71a7907f 100644 --- a/api/owi/Owi/Spectest/index.html +++ b/api/owi/Owi/Spectest/index.html @@ -1,2 +1,2 @@ -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

        +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 index 9cf8e8af..2feae1e8 100644 --- a/api/owi/Owi/Stack/Make/argument-1-V/Bool/index.html +++ b/api/owi/Owi/Stack/Make/argument-1-V/Bool/index.html @@ -1,2 +1,2 @@ -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
        +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 index 0d47d958..1079458b 100644 --- a/api/owi/Owi/Stack/Make/argument-1-V/F32/index.html +++ b/api/owi/Owi/Stack/Make/argument-1-V/F32/index.html @@ -1,5 +1,5 @@ -F32 (owi.Owi.Stack.Make.V.F32)

        Module V.F32

        include Value_intf.Fop +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 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 index 165459eb..f944e32a 100644 --- a/api/owi/Owi/Stack/Make/argument-1-V/F64/index.html +++ b/api/owi/Owi/Stack/Make/argument-1-V/F64/index.html @@ -1,5 +1,5 @@ -F64 (owi.Owi.Stack.Make.V.F64)

        Module V.F64

        include Value_intf.Fop +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 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 index 308d5f01..ce414268 100644 --- a/api/owi/Owi/Stack/Make/argument-1-V/I32/index.html +++ b/api/owi/Owi/Stack/Make/argument-1-V/I32/index.html @@ -1,5 +1,5 @@ -I32 (owi.Owi.Stack.Make.V.I32)

        Module V.I32

        include Value_intf.Iop +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 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 index 82f7eff2..9b11cb5d 100644 --- a/api/owi/Owi/Stack/Make/argument-1-V/I64/index.html +++ b/api/owi/Owi/Stack/Make/argument-1-V/I64/index.html @@ -1,5 +1,5 @@ -I64 (owi.Owi.Stack.Make.V.I64)

        Module V.I64

        include Value_intf.Iop +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 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 index bf8f2483..4e53df07 100644 --- a/api/owi/Owi/Stack/Make/argument-1-V/Ref/index.html +++ b/api/owi/Owi/Stack/Make/argument-1-V/Ref/index.html @@ -1,2 +1,2 @@ -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
        +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 index 99ef667e..b9467256 100644 --- a/api/owi/Owi/Stack/Make/argument-1-V/index.html +++ b/api/owi/Owi/Stack/Make/argument-1-V/index.html @@ -1,2 +1,2 @@ -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
        +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 index 46958e07..0207f437 100644 --- a/api/owi/Owi/Stack/Make/index.html +++ b/api/owi/Owi/Stack/Make/index.html @@ -1,2 +1,2 @@ -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
        +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 index 83afb685..1ba8b272 100644 --- a/api/owi/Owi/Stack/index.html +++ b/api/owi/Owi/Stack/index.html @@ -1,5 +1,5 @@ -Stack (owi.Owi.Stack)

        Module Owi.Stack

        module type S = sig ... end
        module Make +Stack (owi.Owi.Stack)

        Module Owi.Stack

        module type S = sig ... end
        module Make (V : Value_intf.T) : S with type value := V.t diff --git a/api/owi/Owi/Stack/module-type-S/index.html b/api/owi/Owi/Stack/module-type-S/index.html index 246ac0a7..9c84f810 100644 --- a/api/owi/Owi/Stack/module-type-S/index.html +++ b/api/owi/Owi/Stack/module-type-S/index.html @@ -1,2 +1,2 @@ -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
        +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 index 86c83fd2..536fe5e5 100644 --- a/api/owi/Owi/String_map/index.html +++ b/api/owi/Owi/String_map/index.html @@ -1,5 +1,5 @@ -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 : +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 -> diff --git a/api/owi/Owi/Symbolic/M/Choice/index.html b/api/owi/Owi/Symbolic/M/Choice/index.html index c9a3ae0c..126e2be6 100644 --- a/api/owi/Owi/Symbolic/M/Choice/index.html +++ b/api/owi/Owi/Symbolic/M/Choice/index.html @@ -1,2 +1,2 @@ -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
        +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 index 36aa27b2..27125484 100644 --- a/api/owi/Owi/Symbolic/M/Data/index.html +++ b/api/owi/Owi/Symbolic/M/Data/index.html @@ -1,2 +1,2 @@ -Data (owi.Owi.Symbolic.M.Data)

        Module M.Data

        type t = Link_env.data
        val value : Link_env.data -> string
        +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 index 6249df8a..6be3bafe 100644 --- a/api/owi/Owi/Symbolic/M/Elem/index.html +++ b/api/owi/Owi/Symbolic/M/Elem/index.html @@ -1,2 +1,2 @@ -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
        +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 index 4ce114b4..8789dcd0 100644 --- a/api/owi/Owi/Symbolic/M/Env/index.html +++ b/api/owi/Owi/Symbolic/M/Env/index.html @@ -1,2 +1,2 @@ -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
        +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 index 05af9f48..16272b44 100644 --- a/api/owi/Owi/Symbolic/M/Extern_func/index.html +++ b/api/owi/Owi/Symbolic/M/Extern_func/index.html @@ -1,2 +1,2 @@ -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
        +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 index cdd9d8ca..2ce2e52c 100644 --- a/api/owi/Owi/Symbolic/M/Memory/ITbl/index.html +++ b/api/owi/Owi/Symbolic/M/Memory/ITbl/index.html @@ -1,2 +1,2 @@ -ITbl (owi.Owi.Symbolic.M.Memory.ITbl)

        Module Memory.ITbl

        val iter : (key -> 'a -> unit) -> 'a t -> unit
        +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 index 98e8c364..569a9eb6 100644 --- a/api/owi/Owi/Symbolic/M/Memory/index.html +++ b/api/owi/Owi/Symbolic/M/Memory/index.html @@ -1,5 +1,5 @@ -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 : +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 -> diff --git a/api/owi/Owi/Symbolic/M/Module_to_run/index.html b/api/owi/Owi/Symbolic/M/Module_to_run/index.html index f1d496c6..d5bcb494 100644 --- a/api/owi/Owi/Symbolic/M/Module_to_run/index.html +++ b/api/owi/Owi/Symbolic/M/Module_to_run/index.html @@ -1,4 +1,4 @@ -Module_to_run (owi.Owi.Symbolic.M.Module_to_run)

        Module M.Module_to_run

        type t = +Module_to_run (owi.Owi.Symbolic.M.Module_to_run)

        Module M.Module_to_run

        val env : t -> Env.t
        val id : t -> string option
        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 index ec820998..c57f4989 100644 --- a/api/owi/Owi/Symbolic/M/index.html +++ b/api/owi/Owi/Symbolic/M/index.html @@ -1,5 +1,5 @@ -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 : +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 -> diff --git a/api/owi/Owi/Symbolic/MakeP/Data/index.html b/api/owi/Owi/Symbolic/MakeP/Data/index.html index f2adfa24..ba08165b 100644 --- a/api/owi/Owi/Symbolic/MakeP/Data/index.html +++ b/api/owi/Owi/Symbolic/MakeP/Data/index.html @@ -1,2 +1,2 @@ -Data (owi.Owi.Symbolic.MakeP.Data)

        Module MakeP.Data

        type t = Link_env.data
        val value : Link_env.data -> string
        +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 index 322100a9..f08611e1 100644 --- a/api/owi/Owi/Symbolic/MakeP/Elem/index.html +++ b/api/owi/Owi/Symbolic/MakeP/Elem/index.html @@ -1,2 +1,2 @@ -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
        +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 index e60db42c..81cf1bc4 100644 --- a/api/owi/Owi/Symbolic/MakeP/Env/index.html +++ b/api/owi/Owi/Symbolic/MakeP/Env/index.html @@ -1,2 +1,2 @@ -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
        +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 index ed1b91e1..699673b6 100644 --- a/api/owi/Owi/Symbolic/MakeP/Extern_func/index.html +++ b/api/owi/Owi/Symbolic/MakeP/Extern_func/index.html @@ -1,2 +1,2 @@ -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
        +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 index 5a41f351..c5352784 100644 --- a/api/owi/Owi/Symbolic/MakeP/Memory/index.html +++ b/api/owi/Owi/Symbolic/MakeP/Memory/index.html @@ -1,5 +1,5 @@ -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 : +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 -> diff --git a/api/owi/Owi/Symbolic/MakeP/Module_to_run/index.html b/api/owi/Owi/Symbolic/MakeP/Module_to_run/index.html index bfaac7fb..15b8ae0c 100644 --- a/api/owi/Owi/Symbolic/MakeP/Module_to_run/index.html +++ b/api/owi/Owi/Symbolic/MakeP/Module_to_run/index.html @@ -1,2 +1,2 @@ -Module_to_run (owi.Owi.Symbolic.MakeP.Module_to_run)

        Module MakeP.Module_to_run

        type t = {
        1. id : string option;
        2. env : Env.t;
        3. to_run : Types.binary Types.expr list;
        }

        runnable module

        val env : t -> Env.t
        val id : t -> string option
        val to_run : t -> Types.binary Types.expr list
        +Module_to_run (owi.Owi.Symbolic.MakeP.Module_to_run)

        Module MakeP.Module_to_run

        type t = {
        1. id : string option;
        2. env : Env.t;
        3. to_run : Types.binary Types.expr list;
        }

        runnable module

        val env : t -> Env.t
        val id : t -> string option
        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 index 142234d5..230d7bc3 100644 --- a/api/owi/Owi/Symbolic/MakeP/argument-1-Memory/ITbl/index.html +++ b/api/owi/Owi/Symbolic/MakeP/argument-1-Memory/ITbl/index.html @@ -1,2 +1,2 @@ -ITbl (owi.Owi.Symbolic.MakeP.Memory.ITbl)

        Module Memory.ITbl

        type 'a t
        type key
        val iter : (key -> 'a -> unit) -> 'a t -> unit
        +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 index 0931fdaf..bd6022bb 100644 --- a/api/owi/Owi/Symbolic/MakeP/argument-1-Memory/index.html +++ b/api/owi/Owi/Symbolic/MakeP/argument-1-Memory/index.html @@ -1,5 +1,5 @@ -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 : +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 -> 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 index 786d09c1..85881acb 100644 --- a/api/owi/Owi/Symbolic/MakeP/argument-2-Thread/Memory/index.html +++ b/api/owi/Owi/Symbolic/MakeP/argument-2-Thread/Memory/index.html @@ -1,2 +1,2 @@ -Memory (owi.Owi.Symbolic.MakeP.Thread.Memory)

        Module Thread.Memory

        type collection = Memory.collection
        val init : unit -> collection
        val clone : collection -> collection
        +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 index 694d00d4..b74aa179 100644 --- a/api/owi/Owi/Symbolic/MakeP/argument-2-Thread/index.html +++ b/api/owi/Owi/Symbolic/MakeP/argument-2-Thread/index.html @@ -1,5 +1,5 @@ -Thread (owi.Owi.Symbolic.MakeP.Thread)

        Parameter MakeP.Thread

        type t
        val init : unit -> t
        val create : +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 -> diff --git a/api/owi/Owi/Symbolic/MakeP/argument-3-Choice/index.html b/api/owi/Owi/Symbolic/MakeP/argument-3-Choice/index.html index c286cfef..89e66b8a 100644 --- a/api/owi/Owi/Symbolic/MakeP/argument-3-Choice/index.html +++ b/api/owi/Owi/Symbolic/MakeP/argument-3-Choice/index.html @@ -1,2 +1,2 @@ -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
        +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 index bf17af24..f634bc6b 100644 --- a/api/owi/Owi/Symbolic/MakeP/index.html +++ b/api/owi/Owi/Symbolic/MakeP/index.html @@ -1,5 +1,5 @@ -MakeP (owi.Owi.Symbolic.MakeP)

        Module Symbolic.MakeP

        Parameters

        module Choice : +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 : diff --git a/api/owi/Owi/Symbolic/P/Choice/index.html b/api/owi/Owi/Symbolic/P/Choice/index.html index 66c022ee..1717015d 100644 --- a/api/owi/Owi/Symbolic/P/Choice/index.html +++ b/api/owi/Owi/Symbolic/P/Choice/index.html @@ -1,2 +1,2 @@ -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
        +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 index fe962437..2a0e96a7 100644 --- a/api/owi/Owi/Symbolic/P/Data/index.html +++ b/api/owi/Owi/Symbolic/P/Data/index.html @@ -1,2 +1,2 @@ -Data (owi.Owi.Symbolic.P.Data)

        Module P.Data

        type t = Link_env.data
        val value : Link_env.data -> string
        +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 index beaf7b77..f4140f80 100644 --- a/api/owi/Owi/Symbolic/P/Elem/index.html +++ b/api/owi/Owi/Symbolic/P/Elem/index.html @@ -1,2 +1,2 @@ -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
        +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 index 9e8990d1..a01864d0 100644 --- a/api/owi/Owi/Symbolic/P/Env/index.html +++ b/api/owi/Owi/Symbolic/P/Env/index.html @@ -1,2 +1,2 @@ -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
        +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 index f6e0dd59..a28e6a10 100644 --- a/api/owi/Owi/Symbolic/P/Extern_func/index.html +++ b/api/owi/Owi/Symbolic/P/Extern_func/index.html @@ -1,2 +1,2 @@ -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
        +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 index 78210826..6c9f8b9d 100644 --- a/api/owi/Owi/Symbolic/P/Memory/ITbl/index.html +++ b/api/owi/Owi/Symbolic/P/Memory/ITbl/index.html @@ -1,2 +1,2 @@ -ITbl (owi.Owi.Symbolic.P.Memory.ITbl)

        Module Memory.ITbl

        val iter : (key -> 'a -> unit) -> 'a t -> unit
        +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 index fe2c54d4..375f4887 100644 --- a/api/owi/Owi/Symbolic/P/Memory/index.html +++ b/api/owi/Owi/Symbolic/P/Memory/index.html @@ -1,5 +1,5 @@ -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 : +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 -> diff --git a/api/owi/Owi/Symbolic/P/Module_to_run/index.html b/api/owi/Owi/Symbolic/P/Module_to_run/index.html index 72b430f4..94d824d9 100644 --- a/api/owi/Owi/Symbolic/P/Module_to_run/index.html +++ b/api/owi/Owi/Symbolic/P/Module_to_run/index.html @@ -1,4 +1,4 @@ -Module_to_run (owi.Owi.Symbolic.P.Module_to_run)

        Module P.Module_to_run

        type t = +Module_to_run (owi.Owi.Symbolic.P.Module_to_run)

        Module P.Module_to_run

        val env : t -> Env.t
        val id : t -> string option
        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 index 175168e3..413ed518 100644 --- a/api/owi/Owi/Symbolic/P/index.html +++ b/api/owi/Owi/Symbolic/P/index.html @@ -1,5 +1,5 @@ -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 : +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 -> diff --git a/api/owi/Owi/Symbolic/index.html b/api/owi/Owi/Symbolic/index.html index e57f5424..a27d8eb4 100644 --- a/api/owi/Owi/Symbolic/index.html +++ b/api/owi/Owi/Symbolic/index.html @@ -1,5 +1,5 @@ -Symbolic (owi.Owi.Symbolic)

        Module Owi.Symbolic

        module MakeP +Symbolic (owi.Owi.Symbolic)

        Module Owi.Symbolic

        module MakeP (Memory : Symbolic_memory_intf.S) (Thread : Thread.S with type Memory.collection = Memory.collection) (Choice : diff --git a/api/owi/Owi/Symbolic_choice/CoreImpl/State/index.html b/api/owi/Owi/Symbolic_choice/CoreImpl/State/index.html index 76deb204..7af379c3 100644 --- a/api/owi/Owi/Symbolic_choice/CoreImpl/State/index.html +++ b/api/owi/Owi/Symbolic_choice/CoreImpl/State/index.html @@ -1,5 +1,5 @@ -State (owi.Owi.Symbolic_choice.CoreImpl.State)

        Module CoreImpl.State

        type ('a, 's) t
        val project_state : +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 -> diff --git a/api/owi/Owi/Symbolic_choice/CoreImpl/index.html b/api/owi/Owi/Symbolic_choice/CoreImpl/index.html index edede8e1..32fb2690 100644 --- a/api/owi/Owi/Symbolic_choice/CoreImpl/index.html +++ b/api/owi/Owi/Symbolic_choice/CoreImpl/index.html @@ -1,2 +1,2 @@ -CoreImpl (owi.Owi.Symbolic_choice.CoreImpl)

        Module Symbolic_choice.CoreImpl

        module State : sig ... end
        +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 index dda51d0a..641d1567 100644 --- 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 @@ -1,2 +1,2 @@ -Memory (owi.Owi.Symbolic_choice.Make.Thread.Memory)

        Module Thread.Memory

        type collection
        val init : unit -> collection
        val clone : collection -> collection
        +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 index 3c0bb31f..92b7bc26 100644 --- a/api/owi/Owi/Symbolic_choice/Make/argument-1-Thread/index.html +++ b/api/owi/Owi/Symbolic_choice/Make/argument-1-Thread/index.html @@ -1,5 +1,5 @@ -Thread (owi.Owi.Symbolic_choice.Make.Thread)

        Parameter Make.Thread

        type t
        val init : unit -> t
        val create : +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 -> diff --git a/api/owi/Owi/Symbolic_choice/Make/index.html b/api/owi/Owi/Symbolic_choice/Make/index.html index 47b2bac9..35d7a30a 100644 --- a/api/owi/Owi/Symbolic_choice/Make/index.html +++ b/api/owi/Owi/Symbolic_choice/Make/index.html @@ -1,5 +1,5 @@ -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 : +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 -> diff --git a/api/owi/Owi/Symbolic_choice/index.html b/api/owi/Owi/Symbolic_choice/index.html index 1d919554..f8dd4293 100644 --- a/api/owi/Owi/Symbolic_choice/index.html +++ b/api/owi/Owi/Symbolic_choice/index.html @@ -1,5 +1,5 @@ -Symbolic_choice (owi.Owi.Symbolic_choice)

        Module Owi.Symbolic_choice

        module type S = Symbolic_choice_intf.S
        module CoreImpl : sig ... end
        module Make +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 diff --git a/api/owi/Owi/Symbolic_choice_intf/index.html b/api/owi/Owi/Symbolic_choice_intf/index.html index d8275a50..a0bf1c5f 100644 --- a/api/owi/Owi/Symbolic_choice_intf/index.html +++ b/api/owi/Owi/Symbolic_choice_intf/index.html @@ -1,2 +1,2 @@ -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
        +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 index eea5f8f9..308aa402 100644 --- 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 @@ -1,5 +1,5 @@ -State (owi.Owi.Symbolic_choice_intf.Intf.CoreImpl.State)

        Module CoreImpl.State

        type ('a, 's) t
        val project_state : +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 -> 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 index c147a786..a6d3ef51 100644 --- 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 @@ -1,2 +1,2 @@ -CoreImpl (owi.Owi.Symbolic_choice_intf.Intf.CoreImpl)

        Module Intf.CoreImpl

        module State : sig ... end
        +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 index 82871052..98951c10 100644 --- 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 @@ -1,2 +1,2 @@ -Memory (owi.Owi.Symbolic_choice_intf.Intf.Make.Thread.Memory)

        Module Thread.Memory

        type collection
        val init : unit -> collection
        val clone : collection -> collection
        +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 index 3d8e750b..2fd12532 100644 --- 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 @@ -1,5 +1,5 @@ -Thread (owi.Owi.Symbolic_choice_intf.Intf.Make.Thread)

        Parameter Make.Thread

        type t
        val init : unit -> t
        val create : +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 -> 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 index d260981e..4c222c40 100644 --- 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 @@ -1,5 +1,5 @@ -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 : +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 -> 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 index 1362ae4d..94c6ac2c 100644 --- a/api/owi/Owi/Symbolic_choice_intf/module-type-Intf/index.html +++ b/api/owi/Owi/Symbolic_choice_intf/module-type-Intf/index.html @@ -1,5 +1,5 @@ -Intf (owi.Owi.Symbolic_choice_intf.Intf)

        Module type Symbolic_choice_intf.Intf

        module type S = S
        module CoreImpl : sig ... end
        module Make +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 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 index a7e094ba..64f77e2f 100644 --- 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 @@ -1,2 +1,2 @@ -V (owi.Owi.Symbolic_choice_intf.S.V)

        Module S.V

        type int32
        type int64
        type float32
        type float64
        type vbool
        +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 index 3c13fee4..1daef9c2 100644 --- a/api/owi/Owi/Symbolic_choice_intf/module-type-S/index.html +++ b/api/owi/Owi/Symbolic_choice_intf/module-type-S/index.html @@ -1,5 +1,5 @@ -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 : +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 -> diff --git a/api/owi/Owi/Symbolic_choice_minimalist/index.html b/api/owi/Owi/Symbolic_choice_minimalist/index.html index 39bfcc66..278e8aa4 100644 --- a/api/owi/Owi/Symbolic_choice_minimalist/index.html +++ b/api/owi/Owi/Symbolic_choice_minimalist/index.html @@ -1,5 +1,5 @@ -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 +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 : diff --git a/api/owi/Owi/Symbolic_choice_with_memory/index.html b/api/owi/Owi/Symbolic_choice_with_memory/index.html index 993bcdbb..5d8bf009 100644 --- a/api/owi/Owi/Symbolic_choice_with_memory/index.html +++ b/api/owi/Owi/Symbolic_choice_with_memory/index.html @@ -1,5 +1,5 @@ -Symbolic_choice_with_memory (owi.Owi.Symbolic_choice_with_memory)

        Module Owi.Symbolic_choice_with_memory

        include Symbolic_choice_intf.S +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 diff --git a/api/owi/Owi/Symbolic_choice_without_memory/index.html b/api/owi/Owi/Symbolic_choice_without_memory/index.html index e5029f7b..d78043f1 100644 --- a/api/owi/Owi/Symbolic_choice_without_memory/index.html +++ b/api/owi/Owi/Symbolic_choice_without_memory/index.html @@ -1,5 +1,5 @@ -Symbolic_choice_without_memory (owi.Owi.Symbolic_choice_without_memory)

        Module Owi.Symbolic_choice_without_memory

        include Symbolic_choice_intf.S +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 diff --git a/api/owi/Owi/Symbolic_global/index.html b/api/owi/Owi/Symbolic_global/index.html index aea395a5..501c7fa3 100644 --- a/api/owi/Owi/Symbolic_global/index.html +++ b/api/owi/Owi/Symbolic_global/index.html @@ -1,2 +1,2 @@ -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
        +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 index 2337231d..2198bbac 100644 --- a/api/owi/Owi/Symbolic_memory/ITbl/index.html +++ b/api/owi/Owi/Symbolic_memory/ITbl/index.html @@ -1,2 +1,2 @@ -ITbl (owi.Owi.Symbolic_memory.ITbl)

        Module Symbolic_memory.ITbl

        type 'a t
        type key
        val iter : (key -> 'a -> unit) -> 'a t -> unit
        +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 index 139d71e2..4822f677 100644 --- a/api/owi/Owi/Symbolic_memory/index.html +++ b/api/owi/Owi/Symbolic_memory/index.html @@ -1,5 +1,5 @@ -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 : +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 : diff --git a/api/owi/Owi/Symbolic_memory_concretizing/ITbl/index.html b/api/owi/Owi/Symbolic_memory_concretizing/ITbl/index.html index 4bec850f..95177128 100644 --- a/api/owi/Owi/Symbolic_memory_concretizing/ITbl/index.html +++ b/api/owi/Owi/Symbolic_memory_concretizing/ITbl/index.html @@ -1,2 +1,2 @@ -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
        +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 index b1ca4a64..dea9670f 100644 --- a/api/owi/Owi/Symbolic_memory_concretizing/index.html +++ b/api/owi/Owi/Symbolic_memory_concretizing/index.html @@ -1,5 +1,5 @@ -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 : +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 -> diff --git a/api/owi/Owi/Symbolic_memory_intf/index.html b/api/owi/Owi/Symbolic_memory_intf/index.html index 4b7d3515..b2c7fae3 100644 --- a/api/owi/Owi/Symbolic_memory_intf/index.html +++ b/api/owi/Owi/Symbolic_memory_intf/index.html @@ -1,2 +1,2 @@ -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
        +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 index 413f23e1..075a7881 100644 --- 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 @@ -1,2 +1,2 @@ -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
        +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 index 0becc661..a06eeffe 100644 --- 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 @@ -1,5 +1,5 @@ -_ (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 : +_ (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 -> 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 index 3e388596..72cf72d5 100644 --- 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 @@ -1,5 +1,5 @@ -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 : +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 -> 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 index bfb707cb..82d764ea 100644 --- a/api/owi/Owi/Symbolic_memory_intf/module-type-Intf/index.html +++ b/api/owi/Owi/Symbolic_memory_intf/module-type-Intf/index.html @@ -1,2 +1,2 @@ -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
        +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 index 6fe5f44d..1a317310 100644 --- a/api/owi/Owi/Symbolic_memory_intf/module-type-M/index.html +++ b/api/owi/Owi/Symbolic_memory_intf/module-type-M/index.html @@ -1,5 +1,5 @@ -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 : +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 -> 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 index 4fd8e99e..9ecc59a3 100644 --- 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 @@ -1,2 +1,2 @@ -ITbl (owi.Owi.Symbolic_memory_intf.S.ITbl)

        Module S.ITbl

        type 'a t
        type key
        val iter : (key -> 'a -> unit) -> 'a t -> unit
        +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 index 5efc1046..20f9bd39 100644 --- a/api/owi/Owi/Symbolic_memory_intf/module-type-S/index.html +++ b/api/owi/Owi/Symbolic_memory_intf/module-type-S/index.html @@ -1,5 +1,5 @@ -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 : +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 -> diff --git a/api/owi/Owi/Symbolic_memory_make/Make/ITbl/index.html b/api/owi/Owi/Symbolic_memory_make/Make/ITbl/index.html index 9df6b5ec..c424de32 100644 --- a/api/owi/Owi/Symbolic_memory_make/Make/ITbl/index.html +++ b/api/owi/Owi/Symbolic_memory_make/Make/ITbl/index.html @@ -1,2 +1,2 @@ -ITbl (owi.Owi.Symbolic_memory_make.Make.ITbl)

        Module Make.ITbl

        type 'a t
        type key
        val iter : (key -> 'a -> unit) -> 'a t -> unit
        +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 index fde5a688..92b1d962 100644 --- a/api/owi/Owi/Symbolic_memory_make/Make/argument-1-_/index.html +++ b/api/owi/Owi/Symbolic_memory_make/Make/argument-1-_/index.html @@ -1,5 +1,5 @@ -_ (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 : +_ (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 -> diff --git a/api/owi/Owi/Symbolic_memory_make/Make/index.html b/api/owi/Owi/Symbolic_memory_make/Make/index.html index 5beb3bd4..3542cfa5 100644 --- a/api/owi/Owi/Symbolic_memory_make/Make/index.html +++ b/api/owi/Owi/Symbolic_memory_make/Make/index.html @@ -1,5 +1,5 @@ -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 : +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 -> diff --git a/api/owi/Owi/Symbolic_memory_make/index.html b/api/owi/Owi/Symbolic_memory_make/index.html index 3315c532..249b7d2e 100644 --- a/api/owi/Owi/Symbolic_memory_make/index.html +++ b/api/owi/Owi/Symbolic_memory_make/index.html @@ -1,2 +1,2 @@ -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
        +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 index 7b8a2471..4a11eb9d 100644 --- a/api/owi/Owi/Symbolic_table/ITbl/index.html +++ b/api/owi/Owi/Symbolic_table/ITbl/index.html @@ -1,2 +1,2 @@ -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
        +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 index b3818073..21941ba7 100644 --- a/api/owi/Owi/Symbolic_table/index.html +++ b/api/owi/Owi/Symbolic_table/index.html @@ -1,5 +1,5 @@ -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 : +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 -> diff --git a/api/owi/Owi/Symbolic_value/Bool/index.html b/api/owi/Owi/Symbolic_value/Bool/index.html index e28fc6df..31efdaf7 100644 --- a/api/owi/Owi/Symbolic_value/Bool/index.html +++ b/api/owi/Owi/Symbolic_value/Bool/index.html @@ -1,5 +1,5 @@ -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 : +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 -> diff --git a/api/owi/Owi/Symbolic_value/F32/index.html b/api/owi/Owi/Symbolic_value/F32/index.html index 777319de..055f9f34 100644 --- a/api/owi/Owi/Symbolic_value/F32/index.html +++ b/api/owi/Owi/Symbolic_value/F32/index.html @@ -1,5 +1,5 @@ -F32 (owi.Owi.Symbolic_value.F32)

        Module Symbolic_value.F32

        include Value_intf.Fop +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 diff --git a/api/owi/Owi/Symbolic_value/F64/index.html b/api/owi/Owi/Symbolic_value/F64/index.html index 8de4d273..09d45979 100644 --- a/api/owi/Owi/Symbolic_value/F64/index.html +++ b/api/owi/Owi/Symbolic_value/F64/index.html @@ -1,5 +1,5 @@ -F64 (owi.Owi.Symbolic_value.F64)

        Module Symbolic_value.F64

        include Value_intf.Fop +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 diff --git a/api/owi/Owi/Symbolic_value/I32/index.html b/api/owi/Owi/Symbolic_value/I32/index.html index 9798afa5..2cdc2c06 100644 --- a/api/owi/Owi/Symbolic_value/I32/index.html +++ b/api/owi/Owi/Symbolic_value/I32/index.html @@ -1,5 +1,5 @@ -I32 (owi.Owi.Symbolic_value.I32)

        Module Symbolic_value.I32

        include Value_intf.Iop +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 diff --git a/api/owi/Owi/Symbolic_value/I64/index.html b/api/owi/Owi/Symbolic_value/I64/index.html index 774207cf..5d20d74b 100644 --- a/api/owi/Owi/Symbolic_value/I64/index.html +++ b/api/owi/Owi/Symbolic_value/I64/index.html @@ -1,5 +1,5 @@ -I64 (owi.Owi.Symbolic_value.I64)

        Module Symbolic_value.I64

        include Value_intf.Iop +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 diff --git a/api/owi/Owi/Symbolic_value/Ref/index.html b/api/owi/Owi/Symbolic_value/Ref/index.html index c163a728..7de78dc6 100644 --- a/api/owi/Owi/Symbolic_value/Ref/index.html +++ b/api/owi/Owi/Symbolic_value/Ref/index.html @@ -1,2 +1,2 @@ -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
        +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 index fd4a7a62..db79b9e1 100644 --- a/api/owi/Owi/Symbolic_value/index.html +++ b/api/owi/Owi/Symbolic_value/index.html @@ -1,5 +1,5 @@ -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 +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 diff --git a/api/owi/Owi/Symbolic_wasm_ffi/index.html b/api/owi/Owi/Symbolic_wasm_ffi/index.html index b5b22e23..d96c2ccc 100644 --- a/api/owi/Owi/Symbolic_wasm_ffi/index.html +++ b/api/owi/Owi/Symbolic_wasm_ffi/index.html @@ -1,3 +1,3 @@ -Symbolic_wasm_ffi (owi.Owi.Symbolic_wasm_ffi)

        Module Owi.Symbolic_wasm_ffi

        include Wasm_ffi_intf.S +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 index 8fd174d3..e6cbb7bf 100644 --- a/api/owi/Owi/Synchronizer/index.html +++ b/api/owi/Owi/Synchronizer/index.html @@ -1,5 +1,5 @@ -Synchronizer (owi.Owi.Synchronizer)

        Module Owi.Synchronizer

        type (!'get, !'write) t
        val init : +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 index a3608383..1fa80174 100644 --- a/api/owi/Owi/Syntax/index.html +++ b/api/owi/Owi/Syntax/index.html @@ -1,5 +1,5 @@ -Syntax (owi.Owi.Syntax)

        Module Owi.Syntax

        val let* : +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+ : diff --git a/api/owi/Owi/Text/index.html b/api/owi/Owi/Text/index.html index ff71ba5b..b0408196 100644 --- a/api/owi/Owi/Text/index.html +++ b/api/owi/Owi/Text/index.html @@ -1,5 +1,5 @@ -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 : +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;
        3. annots : Types.text Annot.annot 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 index cbb1f285..f4604833 100644 --- a/api/owi/Owi/Text_lexer/index.html +++ b/api/owi/Owi/Text_lexer/index.html @@ -1,5 +1,5 @@ -Text_lexer (owi.Owi.Text_lexer)

        Module Owi.Text_lexer

        Module for Wasm lexing.

        exception Empty_annotation_id

        lexing error exception

        exception Empty_identifier
        exception Illegal_character of string
        exception Illegal_escape of string
        exception Unclosed_annotation
        exception Unclosed_comment
        exception Unclosed_string
        exception Unknown_operator of string
        val token : Sedlexing.lexbuf -> Text_parser.token

        tokenizer

        val lexer : +Text_lexer (owi.Owi.Text_lexer)

        Module Owi.Text_lexer

        Module for Wasm lexing.

        exception Empty_annotation_id

        lexing error exception

        exception Empty_identifier
        exception Illegal_character of string
        exception Illegal_escape of string
        exception Unclosed_annotation
        exception Unclosed_comment
        exception Unclosed_string
        exception Unknown_operator 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 index 933fc335..e1478c0a 100644 --- a/api/owi/Owi/Text_parser/Incremental/index.html +++ b/api/owi/Owi/Text_parser/Incremental/index.html @@ -1,5 +1,5 @@ -Incremental (owi.Owi.Text_parser.Incremental)

        Module Text_parser.Incremental

        val script : +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 -> diff --git a/api/owi/Owi/Text_parser/MenhirInterpreter/index.html b/api/owi/Owi/Text_parser/MenhirInterpreter/index.html index d2d5f1d5..f2951903 100644 --- a/api/owi/Owi/Text_parser/MenhirInterpreter/index.html +++ b/api/owi/Owi/Text_parser/MenhirInterpreter/index.html @@ -1,5 +1,5 @@ -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 : +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 diff --git a/api/owi/Owi/Text_parser/index.html b/api/owi/Owi/Text_parser/index.html index bb8c3076..fc48421e 100644 --- a/api/owi/Owi/Text_parser/index.html +++ b/api/owi/Owi/Text_parser/index.html @@ -1,5 +1,5 @@ -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 : +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 : diff --git a/api/owi/Owi/Text_validate/index.html b/api/owi/Owi/Text_validate/index.html index c91f1205..dd34df93 100644 --- a/api/owi/Owi/Text_validate/index.html +++ b/api/owi/Owi/Text_validate/index.html @@ -1,2 +1,2 @@ -Text_validate (owi.Owi.Text_validate)

        Module Owi.Text_validate

        Initial check done on a module.

        check a module

        +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 index 31807a64..e48e53be 100644 --- a/api/owi/Owi/Thread/Make/Memory/index.html +++ b/api/owi/Owi/Thread/Make/Memory/index.html @@ -1,2 +1,2 @@ -Memory (owi.Owi.Thread.Make.Memory)

        Module Make.Memory

        type collection = Symbolic_memory.collection
        val init : unit -> collection
        val clone : collection -> collection
        +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 index c48a4ccc..28072134 100644 --- a/api/owi/Owi/Thread/Make/argument-1-Symbolic_memory/index.html +++ b/api/owi/Owi/Thread/Make/argument-1-Symbolic_memory/index.html @@ -1,2 +1,2 @@ -Symbolic_memory (owi.Owi.Thread.Make.Symbolic_memory)

        Parameter Make.Symbolic_memory

        type collection
        val init : unit -> collection
        val clone : collection -> collection
        +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 index 44fe1e13..e6ce6b6f 100644 --- a/api/owi/Owi/Thread/Make/index.html +++ b/api/owi/Owi/Thread/Make/index.html @@ -1,5 +1,5 @@ -Make (owi.Owi.Thread.Make)

        Module Thread.Make

        Parameters

        Signature

        type t
        val init : unit -> t
        val create : +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 -> diff --git a/api/owi/Owi/Thread/index.html b/api/owi/Owi/Thread/index.html index 5b3dc404..366779d4 100644 --- a/api/owi/Owi/Thread/index.html +++ b/api/owi/Owi/Thread/index.html @@ -1,4 +1,4 @@ -Thread (owi.Owi.Thread)

        Module Owi.Thread

        module type M = Thread_intf.M
        module type S = Thread_intf.S
        module Make +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 index db90c1ac..d4d24039 100644 --- a/api/owi/Owi/Thread_intf/index.html +++ b/api/owi/Owi/Thread_intf/index.html @@ -1,2 +1,2 @@ -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
        +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 index 52b531c8..7da3bfe4 100644 --- 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 @@ -1,2 +1,2 @@ -Memory (owi.Owi.Thread_intf.Intf.Make.Memory)

        Module Make.Memory

        type collection = Symbolic_memory.collection
        val init : unit -> collection
        val clone : collection -> collection
        +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 index d5a52e9a..1b239b98 100644 --- 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 @@ -1,2 +1,2 @@ -Symbolic_memory (owi.Owi.Thread_intf.Intf.Make.Symbolic_memory)

        Parameter Make.Symbolic_memory

        type collection
        val init : unit -> collection
        val clone : collection -> collection
        +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 index 05948b21..bdd434cc 100644 --- a/api/owi/Owi/Thread_intf/module-type-Intf/Make/index.html +++ b/api/owi/Owi/Thread_intf/module-type-Intf/Make/index.html @@ -1,5 +1,5 @@ -Make (owi.Owi.Thread_intf.Intf.Make)

        Module Intf.Make

        Parameters

        Signature

        type t
        val init : unit -> t
        val create : +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 -> diff --git a/api/owi/Owi/Thread_intf/module-type-Intf/index.html b/api/owi/Owi/Thread_intf/module-type-Intf/index.html index 2a576b22..afbe7971 100644 --- a/api/owi/Owi/Thread_intf/module-type-Intf/index.html +++ b/api/owi/Owi/Thread_intf/module-type-Intf/index.html @@ -1,4 +1,4 @@ -Intf (owi.Owi.Thread_intf.Intf)

        Module type Thread_intf.Intf

        module type M = M
        module type S = S
        module Make +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 index 8bbb166a..074a1dac 100644 --- a/api/owi/Owi/Thread_intf/module-type-M/index.html +++ b/api/owi/Owi/Thread_intf/module-type-M/index.html @@ -1,2 +1,2 @@ -M (owi.Owi.Thread_intf.M)

        Module type Thread_intf.M

        type collection
        val init : unit -> collection
        val clone : collection -> collection
        +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 index bf614247..9307e58f 100644 --- a/api/owi/Owi/Thread_intf/module-type-S/Memory/index.html +++ b/api/owi/Owi/Thread_intf/module-type-S/Memory/index.html @@ -1,2 +1,2 @@ -Memory (owi.Owi.Thread_intf.S.Memory)

        Module S.Memory

        type collection
        val init : unit -> collection
        val clone : collection -> collection
        +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 index 7341391d..51604521 100644 --- a/api/owi/Owi/Thread_intf/module-type-S/index.html +++ b/api/owi/Owi/Thread_intf/module-type-S/index.html @@ -1,5 +1,5 @@ -S (owi.Owi.Thread_intf.S)

        Module type Thread_intf.S

        type t
        module Memory : M
        val init : unit -> t
        val create : +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 -> diff --git a/api/owi/Owi/Thread_with_memory/Memory/index.html b/api/owi/Owi/Thread_with_memory/Memory/index.html index ed1d5860..43ff9714 100644 --- a/api/owi/Owi/Thread_with_memory/Memory/index.html +++ b/api/owi/Owi/Thread_with_memory/Memory/index.html @@ -1,2 +1,2 @@ -Memory (owi.Owi.Thread_with_memory.Memory)

        Module Thread_with_memory.Memory

        val init : unit -> collection
        val clone : collection -> collection
        +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 index eba9bc4f..45130ed3 100644 --- a/api/owi/Owi/Thread_with_memory/index.html +++ b/api/owi/Owi/Thread_with_memory/index.html @@ -1,5 +1,5 @@ -Thread_with_memory (owi.Owi.Thread_with_memory)

        Module Owi.Thread_with_memory

        type t
        module Memory : +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 -> diff --git a/api/owi/Owi/Thread_without_memory/Memory/index.html b/api/owi/Owi/Thread_without_memory/Memory/index.html index 227f3a42..4a143984 100644 --- a/api/owi/Owi/Thread_without_memory/Memory/index.html +++ b/api/owi/Owi/Thread_without_memory/Memory/index.html @@ -1,2 +1,2 @@ -Memory (owi.Owi.Thread_without_memory.Memory)

        Module Thread_without_memory.Memory

        type collection = bool
        val init : unit -> collection
        val clone : collection -> collection
        +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 index 0b3afd76..6730fd35 100644 --- a/api/owi/Owi/Thread_without_memory/index.html +++ b/api/owi/Owi/Thread_without_memory/index.html @@ -1,5 +1,5 @@ -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 : +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 -> diff --git a/api/owi/Owi/Tracing/index.html b/api/owi/Owi/Tracing/index.html index cb4fe901..5aa209c6 100644 --- a/api/owi/Owi/Tracing/index.html +++ b/api/owi/Owi/Tracing/index.html @@ -1,5 +1,5 @@ -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 : +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 index 5aa8ee58..8ba64f34 100644 --- a/api/owi/Owi/Trap/index.html +++ b/api/owi/Owi/Trap/index.html @@ -1,2 +1,2 @@ -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
        +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 index 727088cc..3e7d14e5 100644 --- a/api/owi/Owi/Types/index.html +++ b/api/owi/Owi/Types/index.html @@ -1,5 +1,5 @@ -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 : 'a indice -> 'a indice -> int
        val indice_eq : 'a indice -> 'a indice -> bool
        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
        val final_eq : final -> final -> bool

        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 : +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 : 'a indice -> 'a indice -> int
        val indice_eq : 'a indice -> 'a indice -> bool
        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
        val final_eq : final -> final -> bool

        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 : diff --git a/api/owi/Owi/V/Bool/index.html b/api/owi/Owi/V/Bool/index.html index 014dc3ec..21b60542 100644 --- a/api/owi/Owi/V/Bool/index.html +++ b/api/owi/Owi/V/Bool/index.html @@ -1,2 +1,2 @@ -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
        +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 index 49f528a6..e00f8448 100644 --- a/api/owi/Owi/V/F32/index.html +++ b/api/owi/Owi/V/F32/index.html @@ -1,5 +1,5 @@ -F32 (owi.Owi.V.F32)

        Module V.F32

        include Value_intf.Fop +F32 (owi.Owi.V.F32)

        Module V.F32

        include Value_intf.Fop with type num := float32 and type vbool := vbool and type int32 := int32 diff --git a/api/owi/Owi/V/F64/index.html b/api/owi/Owi/V/F64/index.html index 70534173..967f9c1c 100644 --- a/api/owi/Owi/V/F64/index.html +++ b/api/owi/Owi/V/F64/index.html @@ -1,5 +1,5 @@ -F64 (owi.Owi.V.F64)

        Module V.F64

        include Value_intf.Fop +F64 (owi.Owi.V.F64)

        Module V.F64

        include Value_intf.Fop with type num := float64 and type vbool := vbool and type int32 := int32 diff --git a/api/owi/Owi/V/I32/index.html b/api/owi/Owi/V/I32/index.html index d0670e79..9253a71b 100644 --- a/api/owi/Owi/V/I32/index.html +++ b/api/owi/Owi/V/I32/index.html @@ -1,5 +1,5 @@ -I32 (owi.Owi.V.I32)

        Module V.I32

        include Value_intf.Iop +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 diff --git a/api/owi/Owi/V/I64/index.html b/api/owi/Owi/V/I64/index.html index 1e9620d0..b43c8d37 100644 --- a/api/owi/Owi/V/I64/index.html +++ b/api/owi/Owi/V/I64/index.html @@ -1,5 +1,5 @@ -I64 (owi.Owi.V.I64)

        Module V.I64

        include Value_intf.Iop +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 diff --git a/api/owi/Owi/V/Ref/index.html b/api/owi/Owi/V/Ref/index.html index 4270f805..99537549 100644 --- a/api/owi/Owi/V/Ref/index.html +++ b/api/owi/Owi/V/Ref/index.html @@ -1,2 +1,2 @@ -Ref (owi.Owi.V.Ref)

        Module V.Ref

        val get_externref : ref_value -> 'a Prelude.Type.Id.t -> 'a Value_intf.get_ref
        +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 index 76e5e997..b6bd7b93 100644 --- a/api/owi/Owi/V/index.html +++ b/api/owi/Owi/V/index.html @@ -1,5 +1,5 @@ -V (owi.Owi.V)

        Module Owi.V

        include Value_intf.T +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 diff --git a/api/owi/Owi/Value_intf/index.html b/api/owi/Owi/Value_intf/index.html index 67db1a0f..5cbcfad0 100644 --- a/api/owi/Owi/Value_intf/index.html +++ b/api/owi/Owi/Value_intf/index.html @@ -1,2 +1,2 @@ -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
        +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 index 7629c0dd..9a65b755 100644 --- a/api/owi/Owi/Value_intf/module-type-Fop/index.html +++ b/api/owi/Owi/Value_intf/module-type-Fop/index.html @@ -1,2 +1,2 @@ -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
        +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 index bc2a8201..551aefad 100644 --- a/api/owi/Owi/Value_intf/module-type-Iop/index.html +++ b/api/owi/Owi/Value_intf/module-type-Iop/index.html @@ -1,2 +1,2 @@ -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
        +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 index dbc1e303..850a6242 100644 --- a/api/owi/Owi/Value_intf/module-type-T/Bool/index.html +++ b/api/owi/Owi/Value_intf/module-type-T/Bool/index.html @@ -1,2 +1,2 @@ -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
        +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 index d1233399..d138c8a0 100644 --- a/api/owi/Owi/Value_intf/module-type-T/F32/index.html +++ b/api/owi/Owi/Value_intf/module-type-T/F32/index.html @@ -1,5 +1,5 @@ -F32 (owi.Owi.Value_intf.T.F32)

        Module T.F32

        include Fop +F32 (owi.Owi.Value_intf.T.F32)

        Module T.F32

        include Fop with type num := float32 and type vbool := vbool and type int32 := int32 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 index 029a5352..b368b37a 100644 --- a/api/owi/Owi/Value_intf/module-type-T/F64/index.html +++ b/api/owi/Owi/Value_intf/module-type-T/F64/index.html @@ -1,5 +1,5 @@ -F64 (owi.Owi.Value_intf.T.F64)

        Module T.F64

        include Fop +F64 (owi.Owi.Value_intf.T.F64)

        Module T.F64

        include Fop with type num := float64 and type vbool := vbool and type int32 := int32 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 index d1549495..3006437e 100644 --- a/api/owi/Owi/Value_intf/module-type-T/I32/index.html +++ b/api/owi/Owi/Value_intf/module-type-T/I32/index.html @@ -1,5 +1,5 @@ -I32 (owi.Owi.Value_intf.T.I32)

        Module T.I32

        include Iop +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 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 index 9bf80302..abf0e2a1 100644 --- a/api/owi/Owi/Value_intf/module-type-T/I64/index.html +++ b/api/owi/Owi/Value_intf/module-type-T/I64/index.html @@ -1,5 +1,5 @@ -I64 (owi.Owi.Value_intf.T.I64)

        Module T.I64

        include Iop +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 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 index 2b6dcf90..a62bbfab 100644 --- a/api/owi/Owi/Value_intf/module-type-T/Ref/index.html +++ b/api/owi/Owi/Value_intf/module-type-T/Ref/index.html @@ -1,2 +1,2 @@ -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
        +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 index 1fa5a687..985edb53 100644 --- a/api/owi/Owi/Value_intf/module-type-T/index.html +++ b/api/owi/Owi/Value_intf/module-type-T/index.html @@ -1,2 +1,2 @@ -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
        +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 index 8785e2b3..9f69ec38 100644 --- a/api/owi/Owi/Wasm_ffi_intf/index.html +++ b/api/owi/Owi/Wasm_ffi_intf/index.html @@ -1,2 +1,2 @@ -Wasm_ffi_intf (owi.Owi.Wasm_ffi_intf)

        Module Owi.Wasm_ffi_intf

        module type S0 = sig ... end
        module type S = sig ... end
        +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 index c2ab06a5..12d3df6a 100644 --- a/api/owi/Owi/Wasm_ffi_intf/module-type-S/index.html +++ b/api/owi/Owi/Wasm_ffi_intf/module-type-S/index.html @@ -1,2 +1,2 @@ -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
        +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 index 2a8e5479..43701973 100644 --- 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 @@ -1,2 +1,2 @@ -Value (owi.Owi.Wasm_ffi_intf.S0.Value)

        Module S0.Value

        type int32
        type int64
        type float32
        type float64
        +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 index 2ac2df45..1b717a32 100644 --- a/api/owi/Owi/Wasm_ffi_intf/module-type-S0/index.html +++ b/api/owi/Owi/Wasm_ffi_intf/module-type-S0/index.html @@ -1,2 +1,2 @@ -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 -> Value.int32 t
        val exit : Value.int32 -> unit t
        +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 -> Value.int32 t
        val exit : Value.int32 -> unit t
        diff --git a/api/owi/Owi/Wq/index.html b/api/owi/Owi/Wq/index.html index 06f54a16..c8eafbfe 100644 --- a/api/owi/Owi/Wq/index.html +++ b/api/owi/Owi/Wq/index.html @@ -1,2 +1,2 @@ -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
        +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 index 6cb7b890..bb875e7e 100644 --- a/api/owi/Owi/Wutf8/index.html +++ b/api/owi/Owi/Wutf8/index.html @@ -1,2 +1,2 @@ -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
        +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/api/owi/Owi/index.html b/api/owi/Owi/index.html index a3ead519..779211f8 100644 --- a/api/owi/Owi/index.html +++ b/api/owi/Owi/index.html @@ -1,2 +1,2 @@ -Owi (owi.Owi)

        Module Owi

        module Annot : sig ... end
        module Assigned : sig ... end
        module Binary : sig ... end
        module Binary_encoder : sig ... end
        module Binary_parser : sig ... end
        module Binary_to_text : sig ... end
        module Binary_types : sig ... end
        module Binary_validate : sig ... end

        Module to typecheck a simplified module.

        module C_share_site : sig ... end
        module Choice_intf : sig ... end
        module Cmd_c : sig ... end
        module Cmd_conc : sig ... end
        module Cmd_fmt : sig ... end
        module Cmd_instrument : sig ... end
        module Cmd_opt : sig ... end
        module Cmd_replay : sig ... end
        module Cmd_run : sig ... end
        module Cmd_script : sig ... end
        module Cmd_sym : sig ... end
        module Cmd_utils : sig ... end
        module Cmd_validate : sig ... end
        module Cmd_wasm2wat : sig ... end
        module Cmd_wat2wasm : sig ... end
        module Code_generator : sig ... end
        module Compile : sig ... end

        Utility functions to compile a module until a given step.

        module Concolic : sig ... end
        module Concolic_choice : sig ... end
        module Concolic_value : sig ... end
        module Concolic_wasm_ffi : sig ... end
        module Concrete : sig ... end
        module Concrete_choice : sig ... end
        module Concrete_global : sig ... end

        runtime global

        module Concrete_memory : sig ... end
        module Concrete_table : sig ... end

        runtime table

        module Concrete_value : sig ... end

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

        module Contract : sig ... end
        module Convert : sig ... end

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

        module Env_id : sig ... end
        module Float32 : sig ... end

        Custom Float32 module for Wasm.

        module Float64 : sig ... end

        Custom Float64 module for Wasm.

        module Func_id : sig ... end
        module Func_intf : sig ... end
        module Grouped : sig ... end
        module Imported : sig ... end
        module Indexed : sig ... end
        module Int32 : sig ... end

        Custom Int32 module for Wasm.

        module Int64 : sig ... end

        Custom Int64 module for Wasm.

        module Interpret : sig ... end
        module Interpret_intf : sig ... end
        module Kind : sig ... end

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

        module Log : sig ... end

        Module to enable or disable the printing of debug logs.

        module Named : sig ... end
        module Optimize : sig ... end

        Optimize module

        module Parse : sig ... end

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

        module Result : sig ... end
        module Rewrite : sig ... end
        module Runtime : sig ... end
        module Script : sig ... end

        Module to execute a full Wasm script.

        module Sexp : sig ... end
        module Solver : sig ... end
        module Spec : sig ... end
        module Spectest : sig ... end

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

        module Stack : sig ... end
        module String_map : sig ... end
        module Symbolic : sig ... end
        module Symbolic_choice : sig ... end
        module Symbolic_choice_intf : sig ... end
        module Symbolic_choice_minimalist : sig ... end
        module Symbolic_choice_with_memory : sig ... end
        module Symbolic_choice_without_memory : sig ... end
        module Symbolic_global : sig ... end
        module Symbolic_memory : sig ... end
        module Symbolic_memory_concretizing : sig ... end
        module Symbolic_memory_intf : sig ... end
        module Symbolic_memory_make : sig ... end
        module Symbolic_table : sig ... end
        module Symbolic_value : sig ... end
        module Symbolic_wasm_ffi : sig ... end
        module Synchronizer : sig ... end
        module Syntax : sig ... end
        module Text : sig ... end
        module Text_lexer : sig ... end

        Module for Wasm lexing.

        module Text_parser : sig ... end
        module Text_validate : sig ... end

        Initial check done on a module.

        module Thread : sig ... end
        module Thread_intf : sig ... end
        module Thread_with_memory : sig ... end
        module Thread_without_memory : sig ... end
        module Tracing : sig ... end
        module Trap : sig ... end
        module Types : sig ... end
        module V : sig ... end
        module Value_intf : sig ... end
        module Wasm_ffi_intf : sig ... end
        module Wq : sig ... end

        Synchronized FIFO queues

        module Wutf8 : sig ... end

        Utility functions to work with utf8.

        +Owi (owi.Owi)

        Module Owi

        module Annot : sig ... end
        module Assigned : sig ... end
        module Binary : sig ... end
        module Binary_encoder : sig ... end
        module Binary_parser : sig ... end
        module Binary_to_text : sig ... end
        module Binary_types : sig ... end
        module Binary_validate : sig ... end

        Module to typecheck a simplified module.

        module C_share_site : sig ... end
        module Choice_intf : sig ... end
        module Cmd_c : sig ... end
        module Cmd_conc : sig ... end
        module Cmd_fmt : sig ... end
        module Cmd_instrument : sig ... end
        module Cmd_opt : sig ... end
        module Cmd_replay : sig ... end
        module Cmd_run : sig ... end
        module Cmd_script : sig ... end
        module Cmd_sym : sig ... end
        module Cmd_utils : sig ... end
        module Cmd_validate : sig ... end
        module Cmd_wasm2wat : sig ... end
        module Cmd_wat2wasm : sig ... end
        module Code_generator : sig ... end
        module Compile : sig ... end

        Utility functions to compile a module until a given step.

        module Concolic : sig ... end
        module Concolic_choice : sig ... end
        module Concolic_value : sig ... end
        module Concolic_wasm_ffi : sig ... end
        module Concrete : sig ... end
        module Concrete_choice : sig ... end
        module Concrete_global : sig ... end

        runtime global

        module Concrete_memory : sig ... end
        module Concrete_table : sig ... end

        runtime table

        module Concrete_value : sig ... end

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

        module Contract : sig ... end
        module Convert : sig ... end

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

        module Env_id : sig ... end
        module Float32 : sig ... end

        Custom Float32 module for Wasm.

        module Float64 : sig ... end

        Custom Float64 module for Wasm.

        module Func_id : sig ... end
        module Func_intf : sig ... end
        module Grouped : sig ... end
        module Imported : sig ... end
        module Indexed : sig ... end
        module Int32 : sig ... end

        Custom Int32 module for Wasm.

        module Int64 : sig ... end

        Custom Int64 module for Wasm.

        module Interpret : sig ... end
        module Interpret_intf : sig ... end
        module Kind : sig ... end

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

        module Log : sig ... end

        Module to enable or disable the printing of debug logs.

        module Named : sig ... end
        module Optimize : sig ... end

        Optimize module

        module Parse : sig ... end

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

        module Result : sig ... end
        module Rewrite : sig ... end
        module Runtime : sig ... end
        module Script : sig ... end

        Module to execute a full Wasm script.

        module Sexp : sig ... end
        module Solver : sig ... end
        module Spec : sig ... end
        module Spectest : sig ... end

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

        module Stack : sig ... end
        module String_map : sig ... end
        module Symbolic : sig ... end
        module Symbolic_choice : sig ... end
        module Symbolic_choice_intf : sig ... end
        module Symbolic_choice_minimalist : sig ... end
        module Symbolic_choice_with_memory : sig ... end
        module Symbolic_choice_without_memory : sig ... end
        module Symbolic_global : sig ... end
        module Symbolic_memory : sig ... end
        module Symbolic_memory_concretizing : sig ... end
        module Symbolic_memory_intf : sig ... end
        module Symbolic_memory_make : sig ... end
        module Symbolic_table : sig ... end
        module Symbolic_value : sig ... end
        module Symbolic_wasm_ffi : sig ... end
        module Synchronizer : sig ... end
        module Syntax : sig ... end
        module Text : sig ... end
        module Text_lexer : sig ... end

        Module for Wasm lexing.

        module Text_parser : sig ... end
        module Text_validate : sig ... end

        Initial check done on a module.

        module Thread : sig ... end
        module Thread_intf : sig ... end
        module Thread_with_memory : sig ... end
        module Thread_without_memory : sig ... end
        module Tracing : sig ... end
        module Trap : sig ... end
        module Types : sig ... end
        module V : sig ... end
        module Value_intf : sig ... end
        module Wasm_ffi_intf : sig ... end
        module Wq : sig ... end

        Synchronized FIFO queues

        module Wutf8 : sig ... end

        Utility functions to work with utf8.

        diff --git a/api/owi/index.html b/api/owi/index.html index b91cc36d..6245d234 100644 --- a/api/owi/index.html +++ b/api/owi/index.html @@ -1,2 +1,2 @@ -index (owi.index)

        owi

        owi is a toolchain to work with WebAssembly. It is written in OCaml.

        Owi provides many tools: a formatter, an optimizer, a concrete interpreter, a script interpreter and a symbolic interpreter. It also allows to do bug finding on C code by compiling it to Wasm and running the symbolic interpreter.

        To get started, have a look at the README which contains pointers to general documentation and examples.

        Here you will only find the API documentation which is written towards people using the OCaml library directly or people trying to understand the code of Owi such as its developpers. :-)

        API

        Private API

        You shouldn't have to use any of these modules, they're used internally only. Nonetheless, some modules should maybe move to the public API, open an issue on the repository if you believe a mistake has been done.

        +index (owi.index)

        owi

        owi is a toolchain to work with WebAssembly. It is written in OCaml.

        Owi provides many tools: a formatter, an optimizer, a concrete interpreter, a script interpreter and a symbolic interpreter. It also allows to do bug finding on C code by compiling it to Wasm and running the symbolic interpreter.

        To get started, have a look at the README which contains pointers to general documentation and examples.

        Here you will only find the API documentation which is written towards people using the OCaml library directly or people trying to understand the code of Owi such as its developpers. :-)

        API

        Private API

        You shouldn't have to use any of these modules, they're used internally only. Nonetheless, some modules should maybe move to the public API, open an issue on the repository if you believe a mistake has been done.

        diff --git a/coverage/src/ast/types.ml.html b/coverage/src/ast/types.ml.html index 7225013f..f7b9e68d 100644 --- a/coverage/src/ast/types.ml.html +++ b/coverage/src/ast/types.ml.html @@ -2300,8 +2300,8 @@

        49.11%

        | 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 = @@ -2601,8 +2601,8 @@

        49.11%

        | 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 @@ -2617,7 +2617,7 @@

        49.11%

        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 @@ -2625,7 +2625,7 @@

        49.11%

        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 @@ -2635,7 +2635,7 @@

        49.11%

        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 @@ -2674,7 +2674,7 @@

        49.11%

        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 diff --git a/coverage/src/cmd/cmd_sym.ml.html b/coverage/src/cmd/cmd_sym.ml.html index 2d213919..a57c2e97 100644 --- a/coverage/src/cmd/cmd_sym.ml.html +++ b/coverage/src/cmd/cmd_sym.ml.html @@ -369,21 +369,21 @@

        90.43%

        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_end:(fun () -> Wq.end_pledge res_queue) in let results = Wq.read_as_seq res_queue ~finalizer:(fun () -> diff --git a/coverage/src/data_structures/env_id.ml.html b/coverage/src/data_structures/env_id.ml.html index ad4f8ff6..8aec59d7 100644 --- a/coverage/src/data_structures/env_id.ml.html +++ b/coverage/src/data_structures/env_id.ml.html @@ -112,14 +112,14 @@

        77.78%

        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 774d04f6..8bc465ed 100644 --- a/coverage/src/data_structures/func_id.ml.html +++ b/coverage/src/data_structures/func_id.ml.html @@ -105,8 +105,8 @@

        100.00%

        (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/stack.ml.html b/coverage/src/data_structures/stack.ml.html index facfc124..ff862d6a 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 3b22adb6..6b6d82a5 100644 --- a/coverage/src/data_structures/synchronizer.ml.html +++ b/coverage/src/data_structures/synchronizer.ml.html @@ -182,22 +182,22 @@

        88.24%

        } 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; @@ -205,10 +205,10 @@

        88.24%

        Mutex.unlock synchro.mutex let end_pledge synchro = - Mutex.lock synchro.mutex; - synchro.pledges <- synchro.pledges - 1; - if Int.equal synchro.pledges 0 then Condition.broadcast synchro.cond; - Mutex.unlock synchro.mutex + Mutex.lock synchro.mutex; + synchro.pledges <- synchro.pledges - 1; + if Int.equal synchro.pledges 0 then Condition.broadcast synchro.cond; + Mutex.unlock synchro.mutex let fail q = Mutex.lock q.mutex; @@ -217,12 +217,12 @@

        88.24%

        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 79af9fcc..91a09dbb 100644 --- a/coverage/src/data_structures/wq.ml.html +++ b/coverage/src/data_structures/wq.ml.html @@ -113,7 +113,7 @@

        100.00%

        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 @@ -122,10 +122,10 @@

        100.00%

        let make () = let q = Queue.create () in let writter v condvar = - Queue.push v q; - Condition.signal condvar + Queue.push v q; + Condition.signal 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 4b7614f4..35405e46 100644 --- a/coverage/src/interpret/interpret.ml.html +++ b/coverage/src/interpret/interpret.ml.html @@ -3253,7 +3253,7 @@

        91.97%

        let ( = ) = eq - let eqz v = v = zero + let eqz v = v = zero let min_int = const_i32 Int32.min_int end @@ -3291,25 +3291,25 @@

        91.97%

        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 -> + match nn with + | S32 -> let n, stack = Stack.pop_i32 stack in - let res = + let res = let open I32 in - match op with Clz -> clz n | Ctz -> ctz n | Popcnt -> popcnt n + match op with Clz -> clz n | Ctz -> ctz n | Popcnt -> popcnt n in Stack.push_i32 stack res | S64 -> @@ -3352,15 +3352,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 @@ -3372,24 +3372,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 + | 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 = @@ -3459,10 +3459,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 @@ -3470,22 +3470,22 @@

        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 + | Ge S -> ge n1 n2 + | Ge U -> ge_u n1 n2 in Stack.push_bool stack res | S64 -> @@ -3680,10 +3680,10 @@

        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 F32 -> F32 F32.zero | Num_type F64 -> F64 F64.zero | Ref_type (_null, rt) -> ref_null rt @@ -3693,10 +3693,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 @@ -3710,49 +3710,49 @@

        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 - | R1 t1, v1 -> push_val t1 v1 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) -> push_val t1 v1 stack |> push_val t2 v2 |> push_val t3 v3 @@ -3777,12 +3777,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 @@ -3863,19 +3863,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 @@ -3885,50 +3885,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 @@ -3938,17 +3938,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 @@ -3957,24 +3957,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+ 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 + 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 -> @@ -4001,57 +4001,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 @@ -4110,31 +4110,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 @@ -4199,13 +4199,13 @@

        91.97%

        let> out_of_bounds = Memory.blit_string mem data ~src ~dst ~len in if out_of_bounds then Choice.trap Out_of_bounds_memory_access else st stack - | Select _t -> - if use_ite_for_select then begin + | 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 - st @@ Stack.push stack res + 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 let* b, stack = pop_choice stack in @@ -4213,24 +4213,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* 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 = + 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* 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 = 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) @@ -4242,7 +4242,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 @@ -4388,71 +4388,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 @@ -4487,36 +4487,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 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 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 @@ -4619,20 +4619,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) @@ -4662,19 +4662,19 @@

        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 @@ -4693,7 +4693,7 @@

        91.97%

        } in let+ state = loop state in - (state, count) + (state, count) let modul envs (modul : Module_to_run.t) = Log.debug0 "interpreting ...@\n"; @@ -4709,13 +4709,13 @@

        91.97%

        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.id modul) ~default:"anonymous") + Log.profile3 "Exec module %s@.%a@." + (Option.value (Module_to_run.id modul) ~default:"anonymous") State.print_count count ) (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_env.ml.html b/coverage/src/link/link_env.ml.html index 83a98b6f..c0f2ffd3 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 = diff --git a/coverage/src/primitives/int32.ml.html b/coverage/src/primitives/int32.ml.html index 0dcb805e..07c66ad2 100644 --- a/coverage/src/primitives/int32.ml.html +++ b/coverage/src/primitives/int32.ml.html @@ -365,7 +365,7 @@

        99.25%

        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 @@ -386,8 +386,8 @@

        99.25%

        (* 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 @@ -399,11 +399,11 @@

        99.25%

        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) @@ -416,8 +416,8 @@

        99.25%

        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 *) diff --git a/coverage/src/primitives/int64.ml.html b/coverage/src/primitives/int64.ml.html index 5c9b8fa8..0b2226ec 100644 --- a/coverage/src/primitives/int64.ml.html +++ b/coverage/src/primitives/int64.ml.html @@ -456,11 +456,11 @@

        94.74%

        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 diff --git a/coverage/src/symbolic/solver.ml.html b/coverage/src/symbolic/solver.ml.html index ca77174d..cd53b696 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 7fc2e45f..1808efe4 100644 --- a/coverage/src/symbolic/symbolic.ml.html +++ b/coverage/src/symbolic/symbolic.ml.html @@ -357,9 +357,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 -> @@ -384,25 +384,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 @@ -417,10 +417,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 @@ -429,10 +429,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 @@ -443,10 +443,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 @@ -467,7 +467,7 @@

        83.87%

        let env (t : t) = t.env - let id (t : t) = t.id + let id (t : t) = t.id let to_run (t : t) = t.to_run end diff --git a/coverage/src/symbolic/symbolic_choice.ml.html b/coverage/src/symbolic/symbolic_choice.ml.html index d7e6ec37..b14f495a 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 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 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 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 @@ -1076,27 +1076,27 @@

        95.69%

        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 ()) + 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 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 @@ -1262,27 +1262,27 @@

        95.69%

        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 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 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 @@ -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,119 +1349,119 @@

        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 () + 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 + 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 (symbol sym) e) in + let assign = Smtml.Expr.(relop Ty_bool Eq (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.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 - let symbols = Thread.symbols_set thread |> Option.some in - let pc = Thread.pc thread in - let model = Solver.model ~symbols ~pc solver in + let* thread in + let* solver in + let symbols = Thread.symbols_set thread |> Option.some in + let pc = Thread.pc thread in + let model = Solver.model ~symbols ~pc solver in assertion_fail c model end diff --git a/coverage/src/symbolic/symbolic_choice_with_memory.ml.html b/coverage/src/symbolic/symbolic_choice_with_memory.ml.html index 80c60f57..dabf3f6f 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 ee9d2030..b79f4525 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 = @@ -184,16 +184,16 @@

        94.87%

        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_concretizing.ml.html b/coverage/src/symbolic/symbolic_memory_concretizing.ml.html index 11c86dcb..4cf08449 100644 --- a/coverage/src/symbolic/symbolic_memory_concretizing.ml.html +++ b/coverage/src/symbolic/symbolic_memory_concretizing.ml.html @@ -360,48 +360,48 @@

        92.13%

        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 Smtml.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 -> Smtml.Expr.value (Num (I8 0)) - | Some parent -> load_byte parent a ) + | None -> Smtml.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 = Smtml.Expr.ty e1 in - if m1 = m2 && Smtml.Expr.equal e1 e2 then - if h - l = Smtml.Ty.size ty then e1 - else Smtml.Expr.make (Extract (e1, h, l)) + let ty = Smtml.Expr.ty e1 in + if m1 = m2 && Smtml.Expr.equal e1 e2 then + if h - l = Smtml.Ty.size ty then e1 + else Smtml.Expr.make (Extract (e1, h, l)) else Smtml.Expr.( make (Concat (make (Extract (e1, h, m1)), make (Extract (e2, m2, l)))) ) let concat ~msb ~lsb offset = - assert (offset > 0 && offset <= 8); - match (Smtml.Expr.view msb, Smtml.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 (Smtml.Expr.view msb, Smtml.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 @@ -409,31 +409,31 @@

        92.13%

        | 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) -> Smtml.Expr.(make (Concat (merge_extracts (e1, h, m1) (e2, m2, l), e3))) | _ -> Smtml.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 Smtml.Expr.view v with + match Smtml.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 Smtml.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 Smtml.Expr.value (Num (I8 i')) | Cvtop (_, Zero_extend 24, ({ node = Symbol { ty = Ty_bitv 8; _ }; _ } as sym)) @@ -441,44 +441,44 @@

        92.13%

        (_, Sign_extend 24, ({ node = Symbol { ty = Ty_bitv 8; _ }; _ } as sym)) -> sym - | _ -> Smtml.Expr.make (Extract (v, pos + 1, pos)) + | _ -> Smtml.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@." Smtml.Expr.pp a; return (Ok a) let ptr v = - let open Symbolic_choice_without_memory in + let open Symbolic_choice_without_memory in match Smtml.Expr.view v with | Ptr { base; _ } -> return base | _ -> @@ -487,18 +487,18 @@

        92.13%

        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; - Symbolic_value.const_i32 base + Hashtbl.remove m.chunks base; + Symbolic_value.const_i32 base let realloc m ~ptr ~size = - let open Symbolic_choice_without_memory in - let+ base = address ptr in - Hashtbl.replace m.chunks base size; - Smtml.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; + Smtml.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 8330ef29..1a7ffdba 100644 --- a/coverage/src/symbolic/symbolic_memory_make.ml.html +++ b/coverage/src/symbolic/symbolic_memory_make.ml.html @@ -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 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 + 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 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,26 +538,26 @@

        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 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 @@ -568,12 +568,12 @@

        87.60%

        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 9e6b522d..910555e2 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,7 +233,7 @@

        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 @@ -241,12 +241,12 @@

        71.11%

        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 99588f5e..2b00a5c8 100644 --- a/coverage/src/symbolic/symbolic_value.ml.html +++ b/coverage/src/symbolic/symbolic_value.ml.html @@ -1012,9 +1012,9 @@

        85.66%

        | 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))) @@ -1043,8 +1043,8 @@

        85.66%

        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 @@ -1059,22 +1059,22 @@

        85.66%

        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,7 +1084,7 @@

        85.66%

        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 @@ -1092,11 +1092,11 @@

        85.66%

        (* 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 @@ -1104,19 +1104,19 @@

        85.66%

        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 @@ -1125,57 +1125,57 @@

        85.66%

        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 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 diff --git a/coverage/src/symbolic/symbolic_wasm_ffi.ml.html b/coverage/src/symbolic/symbolic_wasm_ffi.ml.html index 319951ba..df2bfa7d 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) : Value.int32 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 d57791b6..fc19ff33 100644 --- a/coverage/src/symbolic/thread.ml.html +++ b/coverage/src/symbolic/thread.ml.html @@ -178,7 +178,7 @@

        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 @@ -190,34 +190,34 @@

        100.00%

        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 7c16ce9a..4743760b 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 fcab2afa..00bfbe30 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/utils/log.ml.html b/coverage/src/utils/log.ml.html index aeb8e120..910bb5f8 100644 --- a/coverage/src/utils/log.ml.html +++ b/coverage/src/utils/log.ml.html @@ -91,13 +91,13 @@

        83.33%

        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