From 1daee1c8f47e6e443c030fb608b44b84f824019e Mon Sep 17 00:00:00 2001 From: zapashcanon Date: Wed, 21 Aug 2024 12:16:34 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20OCamlPro?= =?UTF-8?q?/owi@45d5f4d1e314de5afbc62bc14a935c184b2d9fe5=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/owi/Owi/Assigned/index.html | 3 - api/owi/Owi/Binary/index.html | 4 - api/owi/Owi/Binary_encoder/index.html | 7 - api/owi/Owi/Binary_parser/index.html | 2 - api/owi/Owi/Binary_to_text/index.html | 2 - api/owi/Owi/Binary_types/index.html | 23 - api/owi/Owi/C_share_site/Sites/index.html | 2 - api/owi/Owi/C_share_site/index.html | 2 - api/owi/Owi/Check/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 | 22 - api/owi/Owi/Cmd_conc/index.html | 15 - api/owi/Owi/Cmd_fmt/index.html | 2 - api/owi/Owi/Cmd_opt/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 | 15 - api/owi/Owi/Cmd_utils/index.html | 4 - 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/Compile/Any/index.html | 21 - api/owi/Owi/Compile/Binary/index.html | 18 - api/owi/Owi/Compile/File/index.html | 18 - api/owi/Owi/Compile/Text/index.html | 18 - 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 | 13 - .../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 | 7 - api/owi/Owi/Concolic/P'/Value/F64/index.html | 7 - api/owi/Owi/Concolic/P'/Value/I32/index.html | 7 - api/owi/Owi/Concolic/P'/Value/I64/index.html | 7 - 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 | 13 - 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 | 60 -- .../Owi/Concolic/P/Module_to_run/index.html | 2 - api/owi/Owi/Concolic/P/Table/index.html | 26 - api/owi/Owi/Concolic/P/index.html | 6 - api/owi/Owi/Concolic/index.html | 7 - api/owi/Owi/Concolic_choice/index.html | 15 - .../Owi/Concolic_value/T_pair/Bool/index.html | 8 - .../Owi/Concolic_value/T_pair/F32/index.html | 23 - .../Owi/Concolic_value/T_pair/F64/index.html | 23 - .../Owi/Concolic_value/T_pair/I32/index.html | 47 -- .../Owi/Concolic_value/T_pair/I64/index.html | 47 -- .../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 | 7 - .../T_pair/MK_Fop/argument-6-SFop/index.html | 7 - .../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 | 7 - .../T_pair/MK_Iop/argument-5-SIop/index.html | 7 - .../Concolic_value/T_pair/MK_Iop/index.html | 2 - .../Owi/Concolic_value/T_pair/Ref/index.html | 5 - .../T_pair/argument-1-C/Bool/index.html | 2 - .../T_pair/argument-1-C/F32/index.html | 7 - .../T_pair/argument-1-C/F64/index.html | 7 - .../T_pair/argument-1-C/I32/index.html | 7 - .../T_pair/argument-1-C/I64/index.html | 7 - .../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 | 7 - .../T_pair/argument-2-S/F64/index.html | 7 - .../T_pair/argument-2-S/I32/index.html | 7 - .../T_pair/argument-2-S/I64/index.html | 7 - .../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 | 48 -- .../T_pair/module-type-CFop/index.html | 7 - .../T_pair/module-type-CIop/index.html | 7 - .../T_pair/module-type-SFop/index.html | 7 - .../T_pair/module-type-SIop/index.html | 7 - api/owi/Owi/Concolic_value/V'/Bool/index.html | 2 - api/owi/Owi/Concolic_value/V'/F32/index.html | 7 - api/owi/Owi/Concolic_value/V'/F64/index.html | 7 - api/owi/Owi/Concolic_value/V'/I32/index.html | 7 - api/owi/Owi/Concolic_value/V'/I64/index.html | 7 - 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 | 15 - api/owi/Owi/Concolic_value/V/F32/index.html | 71 -- api/owi/Owi/Concolic_value/V/F64/index.html | 71 -- api/owi/Owi/Concolic_value/V/I32/index.html | 111 --- api/owi/Owi/Concolic_value/V/I64/index.html | 115 --- .../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 | 7 - api/owi/Owi/Concolic_value/V/index.html | 56 -- .../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 | 10 - .../Concolic_value/module-type-T/index.html | 2 - api/owi/Owi/Concolic_wasm_ffi/index.html | 3 - 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 | 13 - api/owi/Owi/Concrete/Module_to_run/index.html | 2 - api/owi/Owi/Concrete/Table/index.html | 2 - api/owi/Owi/Concrete/index.html | 18 - 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 | 8 - .../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 | 19 - 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 | 5 - api/owi/Owi/Float32/index.html | 2 - api/owi/Owi/Float64/index.html | 2 - api/owi/Owi/Func_id/index.html | 6 - 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 | 5 - 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 | 5 - api/owi/Owi/Interpret/Concrete/index.html | 10 - api/owi/Owi/Interpret/SymbolicM/index.html | 5 - api/owi/Owi/Interpret/SymbolicP/index.html | 5 - 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 | 13 - .../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 | 7 - .../module-type-P/Value/F64/index.html | 7 - .../module-type-P/Value/I32/index.html | 7 - .../module-type-P/Value/I64/index.html | 7 - .../module-type-P/Value/Ref/index.html | 2 - .../module-type-P/Value/index.html | 2 - .../Interpret_intf/module-type-P/index.html | 13 - .../module-type-S/State/index.html | 2 - .../Interpret_intf/module-type-S/index.html | 22 - api/owi/Owi/Kind/index.html | 2 - api/owi/Owi/Link/index.html | 19 - 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 | 22 - 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 | 15 - api/owi/Owi/Rewrite/index.html | 2 - api/owi/Owi/Runtime/index.html | 2 - api/owi/Owi/Script/index.html | 2 - api/owi/Owi/Solver/index.html | 6 - api/owi/Owi/Spectest/index.html | 2 - .../Stack/Make/argument-1-V/Bool/index.html | 2 - .../Stack/Make/argument-1-V/F32/index.html | 7 - .../Stack/Make/argument-1-V/F64/index.html | 7 - .../Stack/Make/argument-1-V/I32/index.html | 7 - .../Stack/Make/argument-1-V/I64/index.html | 7 - .../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 | 11 - api/owi/Owi/Stack/module-type-S/index.html | 2 - api/owi/Owi/String_map/index.html | 6 - 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 | 17 - .../Owi/Symbolic/M/Module_to_run/index.html | 4 - api/owi/Owi/Symbolic/M/index.html | 6 - 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 | 17 - .../Symbolic/MakeP/Module_to_run/index.html | 2 - .../MakeP/argument-1-Memory/ITbl/index.html | 2 - .../MakeP/argument-1-Memory/index.html | 51 -- .../MakeP/argument-2-Thread/Memory/index.html | 2 - .../MakeP/argument-2-Thread/index.html | 10 - .../MakeP/argument-3-Choice/index.html | 2 - api/owi/Owi/Symbolic/MakeP/index.html | 9 - 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 | 17 - .../Owi/Symbolic/P/Module_to_run/index.html | 4 - api/owi/Owi/Symbolic/P/index.html | 6 - api/owi/Owi/Symbolic/index.html | 13 - .../Symbolic_choice/CoreImpl/State/index.html | 6 - .../Owi/Symbolic_choice/CoreImpl/index.html | 2 - .../Make/argument-1-Thread/Memory/index.html | 2 - .../Make/argument-1-Thread/index.html | 10 - api/owi/Owi/Symbolic_choice/Make/index.html | 10 - api/owi/Owi/Symbolic_choice/index.html | 7 - api/owi/Owi/Symbolic_choice_intf/index.html | 2 - .../CoreImpl/State/index.html | 6 - .../module-type-Intf/CoreImpl/index.html | 2 - .../Make/argument-1-Thread/Memory/index.html | 2 - .../Make/argument-1-Thread/index.html | 10 - .../module-type-Intf/Make/index.html | 10 - .../module-type-Intf/index.html | 7 - .../module-type-S/V/index.html | 2 - .../module-type-S/index.html | 10 - .../Owi/Symbolic_choice_minimalist/index.html | 10 - .../Symbolic_choice_with_memory/index.html | 18 - .../Symbolic_choice_without_memory/index.html | 18 - api/owi/Owi/Symbolic_global/index.html | 2 - api/owi/Owi/Symbolic_memory/ITbl/index.html | 2 - api/owi/Owi/Symbolic_memory/index.html | 16 - .../ITbl/index.html | 2 - .../Symbolic_memory_concretizing/index.html | 51 -- api/owi/Owi/Symbolic_memory_intf/index.html | 2 - .../module-type-Intf/Make/ITbl/index.html | 2 - .../Make/argument-1-_/index.html | 9 - .../module-type-Intf/Make/index.html | 51 -- .../module-type-Intf/index.html | 2 - .../module-type-M/index.html | 9 - .../module-type-S/ITbl/index.html | 2 - .../module-type-S/index.html | 51 -- .../Symbolic_memory_make/Make/ITbl/index.html | 2 - .../Make/argument-1-_/index.html | 9 - .../Owi/Symbolic_memory_make/Make/index.html | 51 -- 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 | 13 - api/owi/Owi/Symbolic_value/Bool/index.html | 6 - api/owi/Owi/Symbolic_value/F32/index.html | 7 - api/owi/Owi/Symbolic_value/F64/index.html | 7 - api/owi/Owi/Symbolic_value/I32/index.html | 7 - api/owi/Owi/Symbolic_value/I64/index.html | 7 - api/owi/Owi/Symbolic_value/Ref/index.html | 2 - api/owi/Owi/Symbolic_value/index.html | 8 - api/owi/Owi/Symbolic_wasm_ffi/index.html | 3 - api/owi/Owi/Synchronizer/index.html | 5 - api/owi/Owi/Syntax/index.html | 24 - api/owi/Owi/Text/index.html | 5 - api/owi/Owi/Text_lexer/index.html | 5 - .../Owi/Text_parser/Incremental/index.html | 6 - .../Text_parser/MenhirInterpreter/index.html | 33 - api/owi/Owi/Text_parser/index.html | 11 - api/owi/Owi/Thread/Make/Memory/index.html | 2 - .../argument-1-Symbolic_memory/index.html | 2 - api/owi/Owi/Thread/Make/index.html | 10 - api/owi/Owi/Thread/index.html | 4 - 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 | 10 - .../Thread_intf/module-type-Intf/index.html | 4 - .../Owi/Thread_intf/module-type-M/index.html | 2 - .../module-type-S/Memory/index.html | 2 - .../Owi/Thread_intf/module-type-S/index.html | 10 - .../Owi/Thread_with_memory/Memory/index.html | 2 - api/owi/Owi/Thread_with_memory/index.html | 11 - .../Thread_without_memory/Memory/index.html | 2 - api/owi/Owi/Thread_without_memory/index.html | 10 - api/owi/Owi/Tracing/index.html | 5 - api/owi/Owi/Trap/index.html | 2 - api/owi/Owi/Typecheck/index.html | 2 - api/owi/Owi/Types/index.html | 64 -- api/owi/Owi/V/Bool/index.html | 2 - api/owi/Owi/V/F32/index.html | 7 - api/owi/Owi/V/F64/index.html | 7 - api/owi/Owi/V/I32/index.html | 7 - api/owi/Owi/V/I64/index.html | 7 - api/owi/Owi/V/Ref/index.html | 2 - api/owi/Owi/V/index.html | 9 - 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 | 7 - .../Value_intf/module-type-T/F64/index.html | 7 - .../Value_intf/module-type-T/I32/index.html | 7 - .../Value_intf/module-type-T/I64/index.html | 7 - .../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 - coverage/index.html | 26 +- coverage/src/ast/binary_encoder.ml.html | 260 +++--- coverage/src/ast/binary_to_text.ml.html | 108 +-- coverage/src/ast/binary_types.ml.html | 36 +- coverage/src/ast/compile.ml.html | 78 +- coverage/src/ast/text.ml.html | 20 +- coverage/src/ast/types.ml.html | 184 ++--- coverage/src/bin/owi.ml.html | 159 ++-- coverage/src/cmd/cmd_c.ml.html | 4 +- coverage/src/cmd/cmd_conc.ml.html | 232 +++--- coverage/src/cmd/cmd_fmt.ml.html | 18 +- coverage/src/cmd/cmd_opt.ml.html | 12 +- coverage/src/cmd/cmd_run.ml.html | 12 +- coverage/src/cmd/cmd_script.ml.html | 10 +- coverage/src/cmd/cmd_sym.ml.html | 92 +-- coverage/src/cmd/cmd_utils.ml.html | 28 +- coverage/src/cmd/cmd_validate.ml.html | 15 +- coverage/src/cmd/cmd_wasm2wat.ml.html | 14 +- coverage/src/cmd/cmd_wat2wasm.ml.html | 16 +- coverage/src/concolic/concolic.ml.html | 16 +- coverage/src/concolic/concolic_choice.ml.html | 64 +- coverage/src/concolic/concolic_value.ml.html | 180 ++-- .../src/concolic/concolic_wasm_ffi.ml.html | 10 +- coverage/src/concrete/concrete.ml.html | 6 +- coverage/src/concrete/concrete_choice.ml.html | 10 +- coverage/src/concrete/concrete_memory.ml.html | 16 +- coverage/src/concrete/concrete_table.ml.html | 10 +- coverage/src/concrete/concrete_value.ml.html | 74 +- coverage/src/concrete/v.ml.html | 27 +- coverage/src/data_structures/env_id.ml.html | 14 +- coverage/src/data_structures/func_id.ml.html | 12 +- coverage/src/data_structures/indexed.ml.html | 14 +- coverage/src/data_structures/named.ml.html | 8 +- coverage/src/data_structures/stack.ml.html | 79 +- .../src/data_structures/synchronizer.ml.html | 50 +- coverage/src/data_structures/wq.ml.html | 22 +- coverage/src/interpret/interpret.ml.html | 768 +++++++++--------- coverage/src/interpret/trap.ml.html | 2 +- coverage/src/link/link.ml.html | 194 ++--- coverage/src/link/link_env.ml.html | 52 +- coverage/src/optimize/optimize.ml.html | 138 ++-- coverage/src/parser/binary_parser.ml.html | 422 +++++----- coverage/src/parser/parse.ml.html | 40 +- coverage/src/primitives/float32.ml.html | 94 +-- coverage/src/primitives/float64.ml.html | 132 +-- coverage/src/primitives/int32.ml.html | 110 +-- coverage/src/primitives/int64.ml.html | 86 +- coverage/src/script/script.ml.html | 34 +- coverage/src/script/spectest.ml.html | 6 +- coverage/src/symbolic/solver.ml.html | 12 +- coverage/src/symbolic/symbolic.ml.html | 50 +- coverage/src/symbolic/symbolic_choice.ml.html | 346 ++++---- .../symbolic_choice_with_memory.ml.html | 2 +- coverage/src/symbolic/symbolic_global.ml.html | 30 +- coverage/src/symbolic/symbolic_memory.ml.html | 4 +- .../symbolic_memory_concretizing.ml.html | 116 +-- .../src/symbolic/symbolic_memory_make.ml.html | 90 +- coverage/src/symbolic/symbolic_table.ml.html | 32 +- coverage/src/symbolic/symbolic_value.ml.html | 106 +-- .../src/symbolic/symbolic_wasm_ffi.ml.html | 10 +- coverage/src/symbolic/thread.ml.html | 40 +- .../src/symbolic/thread_with_memory.ml.html | 34 +- .../symbolic/thread_without_memory.ml.html | 2 +- coverage/src/text_to_binary/assigned.ml.html | 90 +- coverage/src/text_to_binary/grouped.ml.html | 88 +- coverage/src/text_to_binary/rewrite.ml.html | 188 ++--- coverage/src/utils/log.ml.html | 10 +- coverage/src/utils/result.ml.html | 6 +- coverage/src/utils/syntax.ml.html | 34 +- coverage/src/utils/tracing.ml.html | 8 +- coverage/src/utils/wutf8.ml.html | 10 +- coverage/src/validate/check.ml.html | 76 +- coverage/src/validate/typecheck.ml.html | 330 ++++---- 428 files changed, 2870 insertions(+), 5547 deletions(-) delete mode 100644 api/owi/Owi/Assigned/index.html delete mode 100644 api/owi/Owi/Binary/index.html delete mode 100644 api/owi/Owi/Binary_encoder/index.html delete mode 100644 api/owi/Owi/Binary_parser/index.html delete mode 100644 api/owi/Owi/Binary_to_text/index.html delete mode 100644 api/owi/Owi/Binary_types/index.html delete mode 100644 api/owi/Owi/C_share_site/Sites/index.html delete mode 100644 api/owi/Owi/C_share_site/index.html delete mode 100644 api/owi/Owi/Check/index.html delete mode 100644 api/owi/Owi/Choice_intf/index.html delete mode 100644 api/owi/Owi/Choice_intf/module-type-Base/V/index.html delete mode 100644 api/owi/Owi/Choice_intf/module-type-Base/index.html delete mode 100644 api/owi/Owi/Choice_intf/module-type-Complete/V/index.html delete mode 100644 api/owi/Owi/Choice_intf/module-type-Complete/index.html delete mode 100644 api/owi/Owi/Cmd_c/index.html delete mode 100644 api/owi/Owi/Cmd_conc/index.html delete mode 100644 api/owi/Owi/Cmd_fmt/index.html delete mode 100644 api/owi/Owi/Cmd_opt/index.html delete mode 100644 api/owi/Owi/Cmd_run/index.html delete mode 100644 api/owi/Owi/Cmd_script/index.html delete mode 100644 api/owi/Owi/Cmd_sym/index.html delete mode 100644 api/owi/Owi/Cmd_utils/index.html delete mode 100644 api/owi/Owi/Cmd_validate/index.html delete mode 100644 api/owi/Owi/Cmd_wasm2wat/index.html delete mode 100644 api/owi/Owi/Cmd_wat2wasm/index.html delete mode 100644 api/owi/Owi/Compile/Any/index.html delete mode 100644 api/owi/Owi/Compile/Binary/index.html delete mode 100644 api/owi/Owi/Compile/File/index.html delete mode 100644 api/owi/Owi/Compile/Text/index.html delete mode 100644 api/owi/Owi/Compile/index.html delete mode 100644 api/owi/Owi/Concolic/P'/Choice/index.html delete mode 100644 api/owi/Owi/Concolic/P'/Data/index.html delete mode 100644 api/owi/Owi/Concolic/P'/Elem/index.html delete mode 100644 api/owi/Owi/Concolic/P'/Env/index.html delete mode 100644 api/owi/Owi/Concolic/P'/Extern_func/index.html delete mode 100644 api/owi/Owi/Concolic/P'/Global/index.html delete mode 100644 api/owi/Owi/Concolic/P'/Memory/index.html delete mode 100644 api/owi/Owi/Concolic/P'/Module_to_run/index.html delete mode 100644 api/owi/Owi/Concolic/P'/Table/index.html delete mode 100644 api/owi/Owi/Concolic/P'/Value/Bool/index.html delete mode 100644 api/owi/Owi/Concolic/P'/Value/F32/index.html delete mode 100644 api/owi/Owi/Concolic/P'/Value/F64/index.html delete mode 100644 api/owi/Owi/Concolic/P'/Value/I32/index.html delete mode 100644 api/owi/Owi/Concolic/P'/Value/I64/index.html delete mode 100644 api/owi/Owi/Concolic/P'/Value/Ref/index.html delete mode 100644 api/owi/Owi/Concolic/P'/Value/index.html delete mode 100644 api/owi/Owi/Concolic/P'/index.html delete mode 100644 api/owi/Owi/Concolic/P/Choice'/index.html delete mode 100644 api/owi/Owi/Concolic/P/Data/index.html delete mode 100644 api/owi/Owi/Concolic/P/Elem/index.html delete mode 100644 api/owi/Owi/Concolic/P/Env/index.html delete mode 100644 api/owi/Owi/Concolic/P/Extern_func/index.html delete mode 100644 api/owi/Owi/Concolic/P/Global/index.html delete mode 100644 api/owi/Owi/Concolic/P/Memory/index.html delete mode 100644 api/owi/Owi/Concolic/P/Module_to_run/index.html delete mode 100644 api/owi/Owi/Concolic/P/Table/index.html delete mode 100644 api/owi/Owi/Concolic/P/index.html delete mode 100644 api/owi/Owi/Concolic/index.html delete mode 100644 api/owi/Owi/Concolic_choice/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/Bool/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/F32/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/F64/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/I32/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/I64/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-1-CT/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-2-CIT/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-3-ST/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-4-SIT/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-5-CFop/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/MK_Fop/argument-6-SFop/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/MK_Fop/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/MK_Iop/argument-1-Const/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/MK_Iop/argument-2-CT/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/MK_Iop/argument-3-ST/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/MK_Iop/argument-4-CIop/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/MK_Iop/argument-5-SIop/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/MK_Iop/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/Ref/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/argument-1-C/Bool/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/argument-1-C/F32/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/argument-1-C/F64/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/argument-1-C/I32/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/argument-1-C/I64/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/argument-1-C/Ref/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/argument-1-C/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/argument-2-S/Bool/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/argument-2-S/F32/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/argument-2-S/F64/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/argument-2-S/I32/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/argument-2-S/I64/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/argument-2-S/Ref/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/argument-2-S/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/module-type-CFop/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/module-type-CIop/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/module-type-SFop/index.html delete mode 100644 api/owi/Owi/Concolic_value/T_pair/module-type-SIop/index.html delete mode 100644 api/owi/Owi/Concolic_value/V'/Bool/index.html delete mode 100644 api/owi/Owi/Concolic_value/V'/F32/index.html delete mode 100644 api/owi/Owi/Concolic_value/V'/F64/index.html delete mode 100644 api/owi/Owi/Concolic_value/V'/I32/index.html delete mode 100644 api/owi/Owi/Concolic_value/V'/I64/index.html delete mode 100644 api/owi/Owi/Concolic_value/V'/Ref/index.html delete mode 100644 api/owi/Owi/Concolic_value/V'/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/Bool/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/F32/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/F64/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/I32/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/I64/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/MK_Fop/argument-1-CT/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/MK_Fop/argument-2-CIT/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/MK_Fop/argument-3-ST/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/MK_Fop/argument-4-SIT/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/MK_Fop/argument-5-CFop/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/MK_Fop/argument-6-SFop/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/MK_Fop/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/MK_Iop/argument-1-Const/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/MK_Iop/argument-2-CT/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/MK_Iop/argument-3-ST/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/MK_Iop/argument-4-CIop/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/MK_Iop/argument-5-SIop/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/MK_Iop/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/Ref/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/module-type-CFop/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/module-type-CIop/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/module-type-SFop/index.html delete mode 100644 api/owi/Owi/Concolic_value/V/module-type-SIop/index.html delete mode 100644 api/owi/Owi/Concolic_value/index.html delete mode 100644 api/owi/Owi/Concolic_value/module-type-T/index.html delete mode 100644 api/owi/Owi/Concolic_wasm_ffi/index.html delete mode 100644 api/owi/Owi/Concrete/Choice/index.html delete mode 100644 api/owi/Owi/Concrete/Data/index.html delete mode 100644 api/owi/Owi/Concrete/Elem/index.html delete mode 100644 api/owi/Owi/Concrete/Env/index.html delete mode 100644 api/owi/Owi/Concrete/Extern_func/index.html delete mode 100644 api/owi/Owi/Concrete/Global/index.html delete mode 100644 api/owi/Owi/Concrete/Memory/index.html delete mode 100644 api/owi/Owi/Concrete/Module_to_run/index.html delete mode 100644 api/owi/Owi/Concrete/Table/index.html delete mode 100644 api/owi/Owi/Concrete/index.html delete mode 100644 api/owi/Owi/Concrete_choice/index.html delete mode 100644 api/owi/Owi/Concrete_global/index.html delete mode 100644 api/owi/Owi/Concrete_memory/index.html delete mode 100644 api/owi/Owi/Concrete_table/index.html delete mode 100644 api/owi/Owi/Concrete_value/Func/index.html delete mode 100644 api/owi/Owi/Concrete_value/Make_extern_func/argument-1-V/index.html delete mode 100644 api/owi/Owi/Concrete_value/Make_extern_func/argument-2-M/index.html delete mode 100644 api/owi/Owi/Concrete_value/Make_extern_func/argument-3-Memory/index.html delete mode 100644 api/owi/Owi/Concrete_value/Make_extern_func/index.html delete mode 100644 api/owi/Owi/Concrete_value/index.html delete mode 100644 api/owi/Owi/Convert/Float32/index.html delete mode 100644 api/owi/Owi/Convert/Float64/index.html delete mode 100644 api/owi/Owi/Convert/Int32/index.html delete mode 100644 api/owi/Owi/Convert/Int64/index.html delete mode 100644 api/owi/Owi/Convert/index.html delete mode 100644 api/owi/Owi/Env_id/index.html delete mode 100644 api/owi/Owi/Float32/index.html delete mode 100644 api/owi/Owi/Float64/index.html delete mode 100644 api/owi/Owi/Func_id/index.html delete mode 100644 api/owi/Owi/Func_intf/index.html delete mode 100644 api/owi/Owi/Func_intf/module-type-Memory_type/index.html delete mode 100644 api/owi/Owi/Func_intf/module-type-Monad_type/index.html delete mode 100644 api/owi/Owi/Func_intf/module-type-T/index.html delete mode 100644 api/owi/Owi/Func_intf/module-type-T_Extern_func/index.html delete mode 100644 api/owi/Owi/Func_intf/module-type-Value_types/index.html delete mode 100644 api/owi/Owi/Grouped/index.html delete mode 100644 api/owi/Owi/Imported/index.html delete mode 100644 api/owi/Owi/Indexed/index.html delete mode 100644 api/owi/Owi/Int32/index.html delete mode 100644 api/owi/Owi/Int64/index.html delete mode 100644 api/owi/Owi/Interpret/Concolic/index.html delete mode 100644 api/owi/Owi/Interpret/Concrete/index.html delete mode 100644 api/owi/Owi/Interpret/SymbolicM/index.html delete mode 100644 api/owi/Owi/Interpret/SymbolicP/index.html delete mode 100644 api/owi/Owi/Interpret/index.html delete mode 100644 api/owi/Owi/Interpret_intf/index.html delete mode 100644 api/owi/Owi/Interpret_intf/module-type-P/Choice/index.html delete mode 100644 api/owi/Owi/Interpret_intf/module-type-P/Data/index.html delete mode 100644 api/owi/Owi/Interpret_intf/module-type-P/Elem/index.html delete mode 100644 api/owi/Owi/Interpret_intf/module-type-P/Env/index.html delete mode 100644 api/owi/Owi/Interpret_intf/module-type-P/Extern_func/index.html delete mode 100644 api/owi/Owi/Interpret_intf/module-type-P/Global/index.html delete mode 100644 api/owi/Owi/Interpret_intf/module-type-P/Memory/index.html delete mode 100644 api/owi/Owi/Interpret_intf/module-type-P/Module_to_run/index.html delete mode 100644 api/owi/Owi/Interpret_intf/module-type-P/Table/index.html delete mode 100644 api/owi/Owi/Interpret_intf/module-type-P/Value/Bool/index.html delete mode 100644 api/owi/Owi/Interpret_intf/module-type-P/Value/F32/index.html delete mode 100644 api/owi/Owi/Interpret_intf/module-type-P/Value/F64/index.html delete mode 100644 api/owi/Owi/Interpret_intf/module-type-P/Value/I32/index.html delete mode 100644 api/owi/Owi/Interpret_intf/module-type-P/Value/I64/index.html delete mode 100644 api/owi/Owi/Interpret_intf/module-type-P/Value/Ref/index.html delete mode 100644 api/owi/Owi/Interpret_intf/module-type-P/Value/index.html delete mode 100644 api/owi/Owi/Interpret_intf/module-type-P/index.html delete mode 100644 api/owi/Owi/Interpret_intf/module-type-S/State/index.html delete mode 100644 api/owi/Owi/Interpret_intf/module-type-S/index.html delete mode 100644 api/owi/Owi/Kind/index.html delete mode 100644 api/owi/Owi/Link/index.html delete mode 100644 api/owi/Owi/Link_env/Build/index.html delete mode 100644 api/owi/Owi/Link_env/index.html delete mode 100644 api/owi/Owi/Link_env/module-type-P/index.html delete mode 100644 api/owi/Owi/Link_env/module-type-T/index.html delete mode 100644 api/owi/Owi/Log/index.html delete mode 100644 api/owi/Owi/Named/index.html delete mode 100644 api/owi/Owi/Optimize/index.html delete mode 100644 api/owi/Owi/Parse/Binary/Module/index.html delete mode 100644 api/owi/Owi/Parse/Binary/index.html delete mode 100644 api/owi/Owi/Parse/Text/Inline_module/index.html delete mode 100644 api/owi/Owi/Parse/Text/Module/index.html delete mode 100644 api/owi/Owi/Parse/Text/Script/index.html delete mode 100644 api/owi/Owi/Parse/Text/index.html delete mode 100644 api/owi/Owi/Parse/index.html delete mode 100644 api/owi/Owi/Result/index.html delete mode 100644 api/owi/Owi/Rewrite/index.html delete mode 100644 api/owi/Owi/Runtime/index.html delete mode 100644 api/owi/Owi/Script/index.html delete mode 100644 api/owi/Owi/Solver/index.html delete mode 100644 api/owi/Owi/Spectest/index.html delete mode 100644 api/owi/Owi/Stack/Make/argument-1-V/Bool/index.html delete mode 100644 api/owi/Owi/Stack/Make/argument-1-V/F32/index.html delete mode 100644 api/owi/Owi/Stack/Make/argument-1-V/F64/index.html delete mode 100644 api/owi/Owi/Stack/Make/argument-1-V/I32/index.html delete mode 100644 api/owi/Owi/Stack/Make/argument-1-V/I64/index.html delete mode 100644 api/owi/Owi/Stack/Make/argument-1-V/Ref/index.html delete mode 100644 api/owi/Owi/Stack/Make/argument-1-V/index.html delete mode 100644 api/owi/Owi/Stack/Make/index.html delete mode 100644 api/owi/Owi/Stack/index.html delete mode 100644 api/owi/Owi/Stack/module-type-S/index.html delete mode 100644 api/owi/Owi/String_map/index.html delete mode 100644 api/owi/Owi/Symbolic/M/Choice/index.html delete mode 100644 api/owi/Owi/Symbolic/M/Data/index.html delete mode 100644 api/owi/Owi/Symbolic/M/Elem/index.html delete mode 100644 api/owi/Owi/Symbolic/M/Env/index.html delete mode 100644 api/owi/Owi/Symbolic/M/Extern_func/index.html delete mode 100644 api/owi/Owi/Symbolic/M/Memory/ITbl/index.html delete mode 100644 api/owi/Owi/Symbolic/M/Memory/index.html delete mode 100644 api/owi/Owi/Symbolic/M/Module_to_run/index.html delete mode 100644 api/owi/Owi/Symbolic/M/index.html delete mode 100644 api/owi/Owi/Symbolic/MakeP/Data/index.html delete mode 100644 api/owi/Owi/Symbolic/MakeP/Elem/index.html delete mode 100644 api/owi/Owi/Symbolic/MakeP/Env/index.html delete mode 100644 api/owi/Owi/Symbolic/MakeP/Extern_func/index.html delete mode 100644 api/owi/Owi/Symbolic/MakeP/Memory/index.html delete mode 100644 api/owi/Owi/Symbolic/MakeP/Module_to_run/index.html delete mode 100644 api/owi/Owi/Symbolic/MakeP/argument-1-Memory/ITbl/index.html delete mode 100644 api/owi/Owi/Symbolic/MakeP/argument-1-Memory/index.html delete mode 100644 api/owi/Owi/Symbolic/MakeP/argument-2-Thread/Memory/index.html delete mode 100644 api/owi/Owi/Symbolic/MakeP/argument-2-Thread/index.html delete mode 100644 api/owi/Owi/Symbolic/MakeP/argument-3-Choice/index.html delete mode 100644 api/owi/Owi/Symbolic/MakeP/index.html delete mode 100644 api/owi/Owi/Symbolic/P/Choice/index.html delete mode 100644 api/owi/Owi/Symbolic/P/Data/index.html delete mode 100644 api/owi/Owi/Symbolic/P/Elem/index.html delete mode 100644 api/owi/Owi/Symbolic/P/Env/index.html delete mode 100644 api/owi/Owi/Symbolic/P/Extern_func/index.html delete mode 100644 api/owi/Owi/Symbolic/P/Memory/ITbl/index.html delete mode 100644 api/owi/Owi/Symbolic/P/Memory/index.html delete mode 100644 api/owi/Owi/Symbolic/P/Module_to_run/index.html delete mode 100644 api/owi/Owi/Symbolic/P/index.html delete mode 100644 api/owi/Owi/Symbolic/index.html delete mode 100644 api/owi/Owi/Symbolic_choice/CoreImpl/State/index.html delete mode 100644 api/owi/Owi/Symbolic_choice/CoreImpl/index.html delete mode 100644 api/owi/Owi/Symbolic_choice/Make/argument-1-Thread/Memory/index.html delete mode 100644 api/owi/Owi/Symbolic_choice/Make/argument-1-Thread/index.html delete mode 100644 api/owi/Owi/Symbolic_choice/Make/index.html delete mode 100644 api/owi/Owi/Symbolic_choice/index.html delete mode 100644 api/owi/Owi/Symbolic_choice_intf/index.html delete mode 100644 api/owi/Owi/Symbolic_choice_intf/module-type-Intf/CoreImpl/State/index.html delete mode 100644 api/owi/Owi/Symbolic_choice_intf/module-type-Intf/CoreImpl/index.html delete mode 100644 api/owi/Owi/Symbolic_choice_intf/module-type-Intf/Make/argument-1-Thread/Memory/index.html delete mode 100644 api/owi/Owi/Symbolic_choice_intf/module-type-Intf/Make/argument-1-Thread/index.html delete mode 100644 api/owi/Owi/Symbolic_choice_intf/module-type-Intf/Make/index.html delete mode 100644 api/owi/Owi/Symbolic_choice_intf/module-type-Intf/index.html delete mode 100644 api/owi/Owi/Symbolic_choice_intf/module-type-S/V/index.html delete mode 100644 api/owi/Owi/Symbolic_choice_intf/module-type-S/index.html delete mode 100644 api/owi/Owi/Symbolic_choice_minimalist/index.html delete mode 100644 api/owi/Owi/Symbolic_choice_with_memory/index.html delete mode 100644 api/owi/Owi/Symbolic_choice_without_memory/index.html delete mode 100644 api/owi/Owi/Symbolic_global/index.html delete mode 100644 api/owi/Owi/Symbolic_memory/ITbl/index.html delete mode 100644 api/owi/Owi/Symbolic_memory/index.html delete mode 100644 api/owi/Owi/Symbolic_memory_concretizing/ITbl/index.html delete mode 100644 api/owi/Owi/Symbolic_memory_concretizing/index.html delete mode 100644 api/owi/Owi/Symbolic_memory_intf/index.html delete mode 100644 api/owi/Owi/Symbolic_memory_intf/module-type-Intf/Make/ITbl/index.html delete mode 100644 api/owi/Owi/Symbolic_memory_intf/module-type-Intf/Make/argument-1-_/index.html delete mode 100644 api/owi/Owi/Symbolic_memory_intf/module-type-Intf/Make/index.html delete mode 100644 api/owi/Owi/Symbolic_memory_intf/module-type-Intf/index.html delete mode 100644 api/owi/Owi/Symbolic_memory_intf/module-type-M/index.html delete mode 100644 api/owi/Owi/Symbolic_memory_intf/module-type-S/ITbl/index.html delete mode 100644 api/owi/Owi/Symbolic_memory_intf/module-type-S/index.html delete mode 100644 api/owi/Owi/Symbolic_memory_make/Make/ITbl/index.html delete mode 100644 api/owi/Owi/Symbolic_memory_make/Make/argument-1-_/index.html delete mode 100644 api/owi/Owi/Symbolic_memory_make/Make/index.html delete mode 100644 api/owi/Owi/Symbolic_memory_make/index.html delete mode 100644 api/owi/Owi/Symbolic_table/ITbl/index.html delete mode 100644 api/owi/Owi/Symbolic_table/index.html delete mode 100644 api/owi/Owi/Symbolic_value/Bool/index.html delete mode 100644 api/owi/Owi/Symbolic_value/F32/index.html delete mode 100644 api/owi/Owi/Symbolic_value/F64/index.html delete mode 100644 api/owi/Owi/Symbolic_value/I32/index.html delete mode 100644 api/owi/Owi/Symbolic_value/I64/index.html delete mode 100644 api/owi/Owi/Symbolic_value/Ref/index.html delete mode 100644 api/owi/Owi/Symbolic_value/index.html delete mode 100644 api/owi/Owi/Symbolic_wasm_ffi/index.html delete mode 100644 api/owi/Owi/Synchronizer/index.html delete mode 100644 api/owi/Owi/Syntax/index.html delete mode 100644 api/owi/Owi/Text/index.html delete mode 100644 api/owi/Owi/Text_lexer/index.html delete mode 100644 api/owi/Owi/Text_parser/Incremental/index.html delete mode 100644 api/owi/Owi/Text_parser/MenhirInterpreter/index.html delete mode 100644 api/owi/Owi/Text_parser/index.html delete mode 100644 api/owi/Owi/Thread/Make/Memory/index.html delete mode 100644 api/owi/Owi/Thread/Make/argument-1-Symbolic_memory/index.html delete mode 100644 api/owi/Owi/Thread/Make/index.html delete mode 100644 api/owi/Owi/Thread/index.html delete mode 100644 api/owi/Owi/Thread_intf/index.html delete mode 100644 api/owi/Owi/Thread_intf/module-type-Intf/Make/Memory/index.html delete mode 100644 api/owi/Owi/Thread_intf/module-type-Intf/Make/argument-1-Symbolic_memory/index.html delete mode 100644 api/owi/Owi/Thread_intf/module-type-Intf/Make/index.html delete mode 100644 api/owi/Owi/Thread_intf/module-type-Intf/index.html delete mode 100644 api/owi/Owi/Thread_intf/module-type-M/index.html delete mode 100644 api/owi/Owi/Thread_intf/module-type-S/Memory/index.html delete mode 100644 api/owi/Owi/Thread_intf/module-type-S/index.html delete mode 100644 api/owi/Owi/Thread_with_memory/Memory/index.html delete mode 100644 api/owi/Owi/Thread_with_memory/index.html delete mode 100644 api/owi/Owi/Thread_without_memory/Memory/index.html delete mode 100644 api/owi/Owi/Thread_without_memory/index.html delete mode 100644 api/owi/Owi/Tracing/index.html delete mode 100644 api/owi/Owi/Trap/index.html delete mode 100644 api/owi/Owi/Typecheck/index.html delete mode 100644 api/owi/Owi/Types/index.html delete mode 100644 api/owi/Owi/V/Bool/index.html delete mode 100644 api/owi/Owi/V/F32/index.html delete mode 100644 api/owi/Owi/V/F64/index.html delete mode 100644 api/owi/Owi/V/I32/index.html delete mode 100644 api/owi/Owi/V/I64/index.html delete mode 100644 api/owi/Owi/V/Ref/index.html delete mode 100644 api/owi/Owi/V/index.html delete mode 100644 api/owi/Owi/Value_intf/index.html delete mode 100644 api/owi/Owi/Value_intf/module-type-Fop/index.html delete mode 100644 api/owi/Owi/Value_intf/module-type-Iop/index.html delete mode 100644 api/owi/Owi/Value_intf/module-type-T/Bool/index.html delete mode 100644 api/owi/Owi/Value_intf/module-type-T/F32/index.html delete mode 100644 api/owi/Owi/Value_intf/module-type-T/F64/index.html delete mode 100644 api/owi/Owi/Value_intf/module-type-T/I32/index.html delete mode 100644 api/owi/Owi/Value_intf/module-type-T/I64/index.html delete mode 100644 api/owi/Owi/Value_intf/module-type-T/Ref/index.html delete mode 100644 api/owi/Owi/Value_intf/module-type-T/index.html delete mode 100644 api/owi/Owi/Wasm_ffi_intf/index.html delete mode 100644 api/owi/Owi/Wasm_ffi_intf/module-type-S/index.html delete mode 100644 api/owi/Owi/Wasm_ffi_intf/module-type-S0/Value/index.html delete mode 100644 api/owi/Owi/Wasm_ffi_intf/module-type-S0/index.html delete mode 100644 api/owi/Owi/Wq/index.html delete mode 100644 api/owi/Owi/Wutf8/index.html diff --git a/api/owi/Owi/Assigned/index.html b/api/owi/Owi/Assigned/index.html deleted file mode 100644 index c39c60305..000000000 --- a/api/owi/Owi/Assigned/index.html +++ /dev/null @@ -1,3 +0,0 @@ - -Assigned (owi.Owi.Assigned)

Module Owi.Assigned

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

Module Owi.Binary

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

named export

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

named exports of a module

type global = {
  1. typ : Types.binary Types.global_type;
  2. init : Types.binary Types.expr;
  3. id : string option;
}
type data_mode =
  1. | Data_passive
  2. | Data_active of int * Types.binary Types.expr
type data = {
  1. id : string option;
  2. init : string;
  3. mode : data_mode;
}
type elem_mode =
  1. | Elem_passive
  2. | Elem_active of int option * Types.binary Types.expr
  3. | Elem_declarative
type elem = {
  1. id : string option;
  2. typ : Types.binary Types.ref_type;
  3. init : Types.binary Types.expr list;
  4. mode : elem_mode;
}
val empty_modul : modul
diff --git a/api/owi/Owi/Binary_encoder/index.html b/api/owi/Owi/Binary_encoder/index.html deleted file mode 100644 index 6c327d0d8..000000000 --- a/api/owi/Owi/Binary_encoder/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -Binary_encoder (owi.Owi.Binary_encoder)

Module Owi.Binary_encoder

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

Module Owi.Binary_parser

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

Module Owi.Binary_to_text

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

Module Owi.Binary_types

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

Module C_share_site.Sites

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

Module Owi.C_share_site

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

Module Owi.Check

Initial check done on a module.

check a module

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

Module Owi.Choice_intf

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

Module Base.V

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

Module type Choice_intf.Base

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

Module Complete.V

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

Module type Choice_intf.Complete

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

Module Owi.Cmd_c

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

Module Owi.Cmd_conc

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

Module Owi.Cmd_fmt

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

Module Owi.Cmd_opt

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

Module Owi.Cmd_run

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

Module Owi.Cmd_script

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

Module Owi.Cmd_sym

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

Module Owi.Cmd_utils

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

Module Owi.Cmd_validate

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

Module Owi.Cmd_wasm2wat

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

Module Owi.Cmd_wat2wasm

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

Module Compile.Any

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

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

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

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

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

Module Compile.Binary

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

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

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

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

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

Module Compile.File

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

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

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

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

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

Module Compile.Text

val until_check : unsafe:bool -> Text.modul -> Text.modul Result.t
val until_binary : unsafe:bool -> Text.modul -> Binary.modul Result.t
val until_typecheck : unsafe:bool -> Text.modul -> Binary.modul Result.t
val until_optimize : - unsafe:bool -> - optimize:bool -> - Text.modul -> - Binary.modul Result.t

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

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

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

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

Module Owi.Compile

Utility functions to compile a module until a given step.

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

Module P'.Choice

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

Module P'.Data

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

Module P'.Elem

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

Module P'.Env

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

Module P'.Extern_func

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

Module P'.Global

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

Module P'.Memory

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

Module P'.Module_to_run

type t

runnable module

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

Module P'.Table

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

Module Value.Bool

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

Module Value.F32

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

Module Value.F64

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

Module Value.I32

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

Module Value.I64

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

Module Value.Ref

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

Module P'.Value

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

Module Concolic.P'

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

Module P.Choice'

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

Module P.Data

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

Module P.Elem

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

Module P.Env

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

Module P.Extern_func

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

Module P.Global

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

Module P.Memory

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

Module P.Module_to_run

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

Module P.Table

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

Module Concolic.P

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

Module Owi.Concolic

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

Module Owi.Concolic_choice

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

Module T_pair.Bool

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

Module T_pair.F32

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

Module T_pair.F64

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

Module T_pair.I32

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

Module T_pair.I64

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

Parameter MK_Fop.CT

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

Parameter MK_Fop.CIT

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

Parameter MK_Fop.ST

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

Parameter MK_Fop.SIT

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

Parameter MK_Fop.CFop

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

Parameter MK_Fop.SFop

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

Module T_pair.MK_Fop

Parameters

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

Signature

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

Parameter MK_Iop.Const

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

Parameter MK_Iop.CT

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

Parameter MK_Iop.ST

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

Parameter MK_Iop.CIop

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

Parameter MK_Iop.SIop

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

Module T_pair.MK_Iop

Parameters

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

Signature

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

Module T_pair.Ref

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

Module C.Bool

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

Module C.F32

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

Module C.F64

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

Module C.I32

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

Module C.I64

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

Module C.Ref

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

Parameter T_pair.C

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

Module S.Bool

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

Module S.F32

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

Module S.F64

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

Module S.I32

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

Module S.I64

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

Module S.Ref

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

Parameter T_pair.S

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

Module Concolic_value.T_pair

Parameters

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

Signature

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

Module type T_pair.CFop

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

Module type T_pair.CIop

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

Module type T_pair.SFop

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

Module type T_pair.SIop

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

Module V'.Bool

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

Module V'.F32

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

Module V'.F64

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

Module V'.I32

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

Module V'.I64

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

Module V'.Ref

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

Module Concolic_value.V'

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

Module V.Bool

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

Module V.F32

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

Module V.F64

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

Module V.I32

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

Module V.I64

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

Parameter MK_Fop.CT

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

Parameter MK_Fop.CIT

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

Parameter MK_Fop.ST

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

Parameter MK_Fop.SIT

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

Parameter MK_Fop.CFop

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

Parameter MK_Fop.SFop

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

Module V.MK_Fop

Parameters

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

Signature

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

Parameter MK_Iop.Const

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

Parameter MK_Iop.CT

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

Parameter MK_Iop.ST

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

Parameter MK_Iop.CIop

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

Parameter MK_Iop.SIop

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

Module V.MK_Iop

Parameters

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

Signature

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

Module V.Ref

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

Module Concolic_value.V

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

Module type V.CFop

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

Module type V.CIop

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

Module type V.SFop

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

Module type V.SIop

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

Module Owi.Concolic_value

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

Module type Concolic_value.T

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

Module Owi.Concolic_wasm_ffi

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

Module Concrete.Choice

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

Module Concrete.Data

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

Module Concrete.Elem

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

Module Concrete.Env

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

Module Concrete.Extern_func

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

Module Concrete.Global

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

Module Concrete.Memory

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

Module Concrete.Module_to_run

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

Module Concrete.Table

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

Module Owi.Concrete

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

Module Owi.Concrete_choice

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

Module Owi.Concrete_global

runtime global

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

Module Owi.Concrete_memory

type t

runtime memory

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

Module Owi.Concrete_table

runtime table

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

Module Concrete_value.Func

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

Parameter Make_extern_func.V

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

Parameter Make_extern_func.M

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

Parameter Make_extern_func.Memory

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

Module Concrete_value.Make_extern_func

Parameters

Signature

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

Module Owi.Concrete_value

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

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

Module Convert.Float32

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

Module Convert.Float64

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

Module Convert.Int32

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

Module Convert.Int64

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

Module Owi.Convert

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

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

Module Owi.Env_id

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

Module Owi.Float32

Custom Float32 module for Wasm.

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

Module Owi.Float64

Custom Float64 module for Wasm.

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

Module Owi.Func_id

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

Module Owi.Func_intf

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

Module type Func_intf.Memory_type

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

Module type Func_intf.Monad_type

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

Module type Func_intf.T

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

Module type Func_intf.T_Extern_func

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

Module type Func_intf.Value_types

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

Module Owi.Grouped

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

Module Owi.Imported

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

the types of imported values

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

Module Owi.Indexed

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

Module Owi.Int32

Custom Int32 module for Wasm.

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

conversion

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

unary operators

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

comparison operators

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

binary operators

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

Module Owi.Int64

Custom Int64 module for Wasm.

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

conversion

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

unary operators

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

comparison operators

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

binary operators

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

Module Interpret.Concolic

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

Module Interpret.Concrete

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

Module Interpret.SymbolicM

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

Module Interpret.SymbolicP

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

Module Owi.Interpret

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

Module Owi.Interpret_intf

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

Module P.Choice

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

Module P.Data

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

Module P.Elem

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

Module P.Env

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

Module P.Extern_func

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

Module P.Global

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

Module P.Memory

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

Module P.Module_to_run

type t

runnable module

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

Module P.Table

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

Module Value.Bool

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

Module Value.F32

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

Module Value.F64

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

Module Value.I32

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

Module Value.I64

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

Module Value.Ref

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

Module P.Value

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

Module type Interpret_intf.P

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

Module S.State

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

Module type Interpret_intf.S

type thread

Module to interpret a linked module.

type env
type 'a choice
type module_to_run

interpret a module

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

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

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

Module Owi.Kind

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

Module Owi.Link

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

runtime env

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

runnable module

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

runtime exported items

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

link state

val empty_state : 'f state

the empty link state

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

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

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

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

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

extern modules

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

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

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

Module Link_env.Build

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

Module Owi.Link_env

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

Module type Link_env.P

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

Module type Link_env.T

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

Module Owi.Log

Module to enable or disable the printing of debug logs.

val debug_on : bool Prelude.ref

wether debug printing is enabled or not

val profiling_on : bool Prelude.ref

wether profiling printing is enabled or not

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

print some debug info

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

print some profiling info

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

print some error and exit

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

Module Owi.Named

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

Module Owi.Optimize

Optimize module

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

Module Binary.Module

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

Parse a module from a string.

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

Parse a module from a channel.

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

Parse a module from a file.

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

Module Parse.Binary

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

Module Text.Inline_module

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

Parse an inline module from a string.

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

Parse an inline module from a channel.

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

Parse an inline module from a file.

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

Module Text.Module

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

Parse a module from a string.

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

Parse a module from a channel.

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

Parse a module from a file.

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

Module Text.Script

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

Parse a script from a string.

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

Parse a script from a channel.

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

Parse a script from a file.

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

Module Parse.Text

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

Module Owi.Parse

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

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

Module Owi.Result

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

Module Owi.Rewrite

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

Module Owi.Runtime

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

Module Owi.Script

Module to execute a full Wasm script.

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

execute a Wasm script

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

Module Owi.Solver

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

Module Owi.Spectest

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

val extern_m : extern_module
val m : Text.cmd

the spectest module

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

Module V.Bool

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

Module V.F32

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

Module V.F64

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

Module V.I32

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

Module V.I64

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

Module V.Ref

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

Parameter Make.V

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

Module Stack.Make

Parameters

module V : Value_intf.T

Signature

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

pop operations

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

push operations

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

Module Owi.Stack

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

Module type Stack.S

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

pop operations

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

push operations

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

Module Owi.String_map

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

Module M.Choice

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

Module M.Data

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

Module M.Elem

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

Module M.Env

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

Module M.Extern_func

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

Module Memory.ITbl

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

Module M.Memory

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

Module M.Module_to_run

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

Module Symbolic.M

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

Module MakeP.Data

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

Module MakeP.Elem

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

Module MakeP.Env

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

Module MakeP.Extern_func

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

Module MakeP.Memory

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

Module MakeP.Module_to_run

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

runnable module

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

Module Memory.ITbl

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

Parameter MakeP.Memory

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

Module Thread.Memory

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

Parameter MakeP.Thread

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

Parameter MakeP.Choice

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

Module Symbolic.MakeP

Parameters

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

Signature

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

Module P.Choice

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

Module P.Data

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

Module P.Elem

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

Module P.Env

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

Module P.Extern_func

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

Module Memory.ITbl

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

Module P.Memory

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

Module P.Module_to_run

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

Module Symbolic.P

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

Module Owi.Symbolic

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

Module CoreImpl.State

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

Module Symbolic_choice.CoreImpl

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

Module Thread.Memory

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

Parameter Make.Thread

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

Module Symbolic_choice.Make

Parameters

module Thread : Thread.S

Signature

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

Module Owi.Symbolic_choice

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

Module Owi.Symbolic_choice_intf

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

Module CoreImpl.State

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

Module Intf.CoreImpl

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

Module Thread.Memory

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

Parameter Make.Thread

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

Module Intf.Make

Parameters

module Thread : Thread.S

Signature

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

Module type Symbolic_choice_intf.Intf

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

Module S.V

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

Module type Symbolic_choice_intf.S

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

Module Owi.Symbolic_choice_minimalist

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

Module Owi.Symbolic_choice_with_memory

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

Module Owi.Symbolic_choice_without_memory

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

Module Owi.Symbolic_global

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

Module Symbolic_memory.ITbl

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

Module Owi.Symbolic_memory

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

Module Symbolic_memory_concretizing.ITbl

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

Module Owi.Symbolic_memory_concretizing

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

Module Owi.Symbolic_memory_intf

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

Module Make.ITbl

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

Parameter Make._

type t
type address
val address : Smtml.Expr.t -> address Symbolic_choice_without_memory.t
val address_i32 : Int32.t -> address
val make : unit -> t
val clone : t -> t
val loadn : t -> address -> int -> Smtml.Expr.t
val storen : t -> address -> Smtml.Expr.t -> int -> unit
val validate_address : - t -> - Smtml.Expr.t -> - (Smtml.Expr.t, Trap.t) Prelude.result Symbolic_choice_without_memory.t
val realloc : - t -> - ptr:Smtml.Expr.t -> - size:Smtml.Expr.t -> - Smtml.Expr.t Symbolic_choice_without_memory.t
val free : t -> Smtml.Expr.t -> unit Symbolic_choice_without_memory.t
diff --git a/api/owi/Owi/Symbolic_memory_intf/module-type-Intf/Make/index.html b/api/owi/Owi/Symbolic_memory_intf/module-type-Intf/Make/index.html deleted file mode 100644 index 6e6147b49..000000000 --- a/api/owi/Owi/Symbolic_memory_intf/module-type-Intf/Make/index.html +++ /dev/null @@ -1,51 +0,0 @@ - -Make (owi.Owi.Symbolic_memory_intf.Intf.Make)

Module Intf.Make

Parameters

module _ : M

Signature

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

Module type Symbolic_memory_intf.Intf

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

Module type Symbolic_memory_intf.M

type t
type address
val address : Smtml.Expr.t -> address Symbolic_choice_without_memory.t
val address_i32 : Int32.t -> address
val make : unit -> t
val clone : t -> t
val loadn : t -> address -> int -> Smtml.Expr.t
val storen : t -> address -> Smtml.Expr.t -> int -> unit
val validate_address : - t -> - Smtml.Expr.t -> - (Smtml.Expr.t, Trap.t) Prelude.result Symbolic_choice_without_memory.t
val realloc : - t -> - ptr:Smtml.Expr.t -> - size:Smtml.Expr.t -> - Smtml.Expr.t Symbolic_choice_without_memory.t
val free : t -> Smtml.Expr.t -> unit Symbolic_choice_without_memory.t
diff --git a/api/owi/Owi/Symbolic_memory_intf/module-type-S/ITbl/index.html b/api/owi/Owi/Symbolic_memory_intf/module-type-S/ITbl/index.html deleted file mode 100644 index 7195219dd..000000000 --- a/api/owi/Owi/Symbolic_memory_intf/module-type-S/ITbl/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -ITbl (owi.Owi.Symbolic_memory_intf.S.ITbl)

Module S.ITbl

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

Module type Symbolic_memory_intf.S

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

Module Make.ITbl

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

Parameter Make._

type t
type address
val address : Smtml.Expr.t -> address Symbolic_choice_without_memory.t
val address_i32 : Int32.t -> address
val make : unit -> t
val clone : t -> t
val loadn : t -> address -> int -> Smtml.Expr.t
val storen : t -> address -> Smtml.Expr.t -> int -> unit
val validate_address : - t -> - Smtml.Expr.t -> - (Smtml.Expr.t, Trap.t) Prelude.result Symbolic_choice_without_memory.t
val realloc : - t -> - ptr:Smtml.Expr.t -> - size:Smtml.Expr.t -> - Smtml.Expr.t Symbolic_choice_without_memory.t
val free : t -> Smtml.Expr.t -> unit Symbolic_choice_without_memory.t
diff --git a/api/owi/Owi/Symbolic_memory_make/Make/index.html b/api/owi/Owi/Symbolic_memory_make/Make/index.html deleted file mode 100644 index ade09b41b..000000000 --- a/api/owi/Owi/Symbolic_memory_make/Make/index.html +++ /dev/null @@ -1,51 +0,0 @@ - -Make (owi.Owi.Symbolic_memory_make.Make)

Module Symbolic_memory_make.Make

Parameters

module _ : M

Signature

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

Module Owi.Symbolic_memory_make

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

Module Symbolic_table.ITbl

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

Module Owi.Symbolic_table

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

Module Symbolic_value.Bool

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

Module Symbolic_value.F32

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

Module Symbolic_value.F64

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

Module Symbolic_value.I32

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

Module Symbolic_value.I64

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

Module Symbolic_value.Ref

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

Module Owi.Symbolic_value

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

Module Owi.Symbolic_wasm_ffi

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

Module Owi.Synchronizer

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

Module Owi.Syntax

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

Module Owi.Text

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

Module Owi.Text_lexer

Module for Wasm lexing.

exception Illegal_escape of string

lexing error exception

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

tokenizer

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

lexer

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

Module Text_parser.Incremental

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

Module Text_parser.MenhirInterpreter

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

Module Owi.Text_parser

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

Module Make.Memory

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

Parameter Make.Symbolic_memory

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

Module Thread.Make

Parameters

Signature

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

Module Owi.Thread

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

Module Owi.Thread_intf

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

Module Make.Memory

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

Parameter Make.Symbolic_memory

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

Module Intf.Make

Parameters

Signature

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

Module type Thread_intf.Intf

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

Module type Thread_intf.M

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

Module S.Memory

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

Module type Thread_intf.S

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

Module Thread_with_memory.Memory

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

Module Owi.Thread_with_memory

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

Module Thread_without_memory.Memory

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

Module Owi.Thread_without_memory

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

Module Owi.Tracing

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

Module Owi.Trap

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

Module Owi.Typecheck

Module to typecheck a simplified module.

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

typecheck a given module

diff --git a/api/owi/Owi/Types/index.html b/api/owi/Owi/Types/index.html deleted file mode 100644 index 7b67eaffe..000000000 --- a/api/owi/Owi/Types/index.html +++ /dev/null @@ -1,64 +0,0 @@ - -Types (owi.Owi.Types)

Module Owi.Types

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

Structure

Types

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

Instructions

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

    The name of the module from which the import is done

    *)
  2. name : string;
    (*

    The name of the importee in its module of origin

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

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

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

Module V.Bool

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

Module V.F32

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

Module V.F64

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

Module V.I32

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

Module V.I64

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

Module V.Ref

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

Module Owi.V

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

Module Owi.Value_intf

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

Module type Value_intf.Fop

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

Module type Value_intf.Iop

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

Module T.Bool

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

Module T.F32

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

Module T.F64

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

Module T.I32

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

Module T.I64

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

Module T.Ref

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

Module type Value_intf.T

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

Module Owi.Wasm_ffi_intf

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

Module type Wasm_ffi_intf.S

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

Module S0.Value

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

Module type Wasm_ffi_intf.S0

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

Module Owi.Wq

Synchronized FIFO queues

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

Create a new queue

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

Add a new element to the queue

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

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

val make_pledge : 'a t -> unit

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

val end_pledge : 'a t -> unit

End one pledge.

val fail : 'a t -> unit

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

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

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

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

Module Owi.Wutf8

Utility functions to work with utf8.

val check_utf8 : string -> unit Result.t
val encode : int list -> string
diff --git a/coverage/index.html b/coverage/index.html index abe32b000..511763434 100644 --- a/coverage/index.html +++ b/coverage/index.html @@ -3,13 +3,13 @@ Coverage report - +
@@ -88,7 +88,7 @@

79.96%

- 80% (206 / 255) + 80% (205 / 255) src/bin/owi.ml @@ -167,9 +167,9 @@

79.96%

- + - 83% (5 / 6) + 66% (4 / 6) src/cmd/cmd_validate.ml @@ -275,18 +275,18 @@

79.96%

- + - 66% (48 / 72) + 63% (46 / 72) src/concrete/concrete_value.ml
- + - 82% (14 / 17) + 64% (11 / 17) src/concrete/v.ml @@ -347,9 +347,9 @@

79.96%

- + - 96% (72 / 75) + 93% (70 / 75) src/data_structures/stack.ml @@ -383,9 +383,9 @@

79.96%

- + - 92% (1270 / 1378) + 91% (1266 / 1378) src/interpret/interpret.ml diff --git a/coverage/src/ast/binary_encoder.ml.html b/coverage/src/ast/binary_encoder.ml.html index 0cd7028c0..71a483dec 100644 --- a/coverage/src/ast/binary_encoder.ml.html +++ b/coverage/src/ast/binary_encoder.ml.html @@ -1874,8 +1874,8 @@

52.09%

(* add byte from int (ascii code) *) let write_byte buf i = - let c = Char.chr (i land 0xff) in - Buffer.add_char buf c + let c = Char.chr (i land 0xff) in + Buffer.add_char buf c (* add 2 bytes (16 bits) from int *) let write_bytes_2 buf i = @@ -1893,19 +1893,19 @@

52.09%

write_bytes_4 buf (Int64.to_int32 (Int64.shift_right i 32)) let rec write_u64 buf i = - let b = Int64.to_int (Int64.logand i 0x7fL) in - if Int64.le 0L i && Int64.lt i 128L then write_byte buf b + let b = Int64.to_int (Int64.logand i 0x7fL) in + if Int64.le 0L i && Int64.lt i 128L then write_byte buf b else begin write_byte buf (b lor 0x80); write_u64 buf (Int64.shift_right_logical i 7) end let write_u32 buf i = - write_u64 buf (Int64.logand (Int64.of_int32 i) 0xffffffffL) + write_u64 buf (Int64.logand (Int64.of_int32 i) 0xffffffffL) let write_u32_of_int buf i = - let i = Int32.of_int i in - write_u32 buf i + let i = Int32.of_int i in + write_u32 buf i let write_string buf str = let len = String.length str in @@ -1913,14 +1913,14 @@

52.09%

Buffer.add_string buf str let rec write_s64 buf i = - let b = Int64.to_int (Int64.logand i 0x7fL) in - if Int64.le (-64L) i && Int64.lt i 64L then write_byte buf b + let b = Int64.to_int (Int64.logand i 0x7fL) in + if Int64.le (-64L) i && Int64.lt i 64L then write_byte buf b else begin write_byte buf (b lor 0x80); write_s64 buf (Int64.shift_right i 7) end -let write_s32 buf i = write_s64 buf (Int64.of_int32 i) +let write_s32 buf i = write_s64 buf (Int64.of_int32 i) let write_f32 buf f = let i32 = Float32.to_bits f in @@ -1930,7 +1930,7 @@

52.09%

let i64 = Float64.to_bits f in write_bytes_8 buf i64 -let write_indice buf (Raw idx : binary indice) = write_u32_of_int buf idx +let write_indice buf (Raw idx : binary indice) = write_u32_of_int buf idx let write_char_indice buf c idx = Buffer.add_char buf c; @@ -1956,18 +1956,18 @@

52.09%

Buffer.add_char buf c let encode_vector buf datas encode_func = - let vector_buf = Buffer.create 16 in - let len = List.length datas in - List.iter (encode_func vector_buf) datas; - write_u32_of_int buf len; - Buffer.add_buffer buf vector_buf + let vector_buf = Buffer.create 16 in + let len = List.length datas in + List.iter (encode_func vector_buf) datas; + write_u32_of_int buf len; + Buffer.add_buffer buf vector_buf let write_resulttype buf (rt : _ result_type) = - encode_vector buf rt write_valtype + encode_vector buf rt write_valtype let write_paramtype buf (pt : _ param_type) = - let vt = List.map snd pt in - write_resulttype buf vt + let vt = List.map snd pt in + write_resulttype buf vt let write_mut buf (mut : mut) = let c = match mut with Const -> '\x00' | Var -> '\x01' in @@ -1985,9 +1985,9 @@

52.09%

| _ -> assert false (* TODO: same, new pattern matching cases ? *) let write_block_type_idx buf (typ : binary block_type) = - match typ with + match typ with | Bt_raw (None, _) -> assert false - | Bt_raw (Some idx, _) -> write_indice buf idx + | Bt_raw (Some idx, _) -> write_indice buf idx let write_global_type buf ((mut, vt) : _ global_type) = write_valtype buf vt; @@ -2041,7 +2041,7 @@

52.09%

write_u32_of_int buf i let rec write_instr buf instr = - let add_char c = Buffer.add_char buf c in + let add_char c = Buffer.add_char buf c in match instr with | Unreachable -> add_char '\x00' | Nop -> add_char '\x01' @@ -2076,7 +2076,7 @@

52.09%

add_char '\x11'; write_block_type_idx buf bt; write_indice buf idx - | Drop -> add_char '\x1A' + | Drop -> add_char '\x1A' | Select None -> add_char '\x1B' | Select (Some vts) -> add_char '\x1C'; @@ -2163,9 +2163,9 @@

52.09%

| Memory_grow -> add_char '\x40'; add_char '\x00' - | I32_const i -> + | I32_const i -> add_char '\x41'; - write_s32 buf i + write_s32 buf i | I64_const i -> add_char '\x42'; write_s64 buf i @@ -2212,7 +2212,7 @@

52.09%

| I_unop (S32, Clz) -> add_char '\x67' | I_unop (S32, Ctz) -> add_char '\x68' | I_unop (S32, Popcnt) -> add_char '\x69' - | I_binop (S32, Add) -> add_char '\x6A' + | I_binop (S32, Add) -> add_char '\x6A' | I_binop (S32, Sub) -> add_char '\x6B' | I_binop (S32, Mul) -> add_char '\x6C' | I_binop (S32, Div S) -> add_char '\x6D' @@ -2361,9 +2361,9 @@

52.09%

assert false and write_expr buf expr ~end_op_code = - List.iter (write_instr buf) expr; - let end_op_code = Option.value end_op_code ~default:'\x0B' in - Buffer.add_char buf end_op_code + List.iter (write_instr buf) expr; + let end_op_code = Option.value end_op_code ~default:'\x0B' in + Buffer.add_char buf end_op_code let write_export buf cid ({ name; id } : Binary.export) = write_string buf name; @@ -2384,9 +2384,9 @@

52.09%

write_mut buf mut let write_locals buf locals = - let compressed = + let compressed = List.rev - @@ List.fold_left + @@ List.fold_left (fun compressed (_so, local_type) -> let c = get_char_valtype local_type in match compressed with @@ -2395,9 +2395,9 @@

52.09%

| compressed -> (c, 1) :: compressed ) [] locals in - let len = List.length compressed in - write_u32_of_int buf len; - List.iter + let len = List.length compressed in + write_u32_of_int buf len; + List.iter (fun (char, count) -> write_u32_of_int buf count; Buffer.add_char buf char ) @@ -2482,173 +2482,173 @@

52.09%

write_string buf init let encode_section buf id encode_func data = - let section_buf = Buffer.create 16 in - encode_func section_buf data; - let section_len = Buffer.length section_buf in - if section_len <> 0 then begin + let section_buf = Buffer.create 16 in + encode_func section_buf data; + let section_len = Buffer.length section_buf in + if section_len <> 0 then begin Buffer.add_char buf id; - write_u32_of_int buf section_len; - Buffer.add_buffer buf section_buf + write_u32_of_int buf section_len; + Buffer.add_buffer buf section_buf end (* type: section 1 *) let encode_types buf (rec_types : binary rec_type Named.t) = - encode_vector buf rec_types.values + encode_vector buf rec_types.values (fun buf (typ : binary rec_type Indexed.t) -> - let typ = Indexed.get typ in - match typ with + let typ = Indexed.get typ in + match typ with | [] -> assert false | _ :: _ :: _ -> (* TODO rec types *) assert false - | [ typ ] -> ( + | [ typ ] -> ( match typ with - | _name, (Final, _idx, Def_func_t (pt, rt)) -> + | _name, (Final, _idx, Def_func_t (pt, rt)) -> Buffer.add_char buf '\x60'; - write_paramtype buf pt; - write_resulttype buf rt + write_paramtype buf pt; + write_resulttype buf rt | _ -> (* TODO non final types and other type declarations *) assert false ) ) (* import: section 2 *) let encode_imports buf (funcs, tables, memories, globals) = - let imp_buf = Buffer.create 16 in - let len = - List.length funcs + List.length tables + List.length memories - + List.length globals + let imp_buf = Buffer.create 16 in + let len = + List.length funcs + List.length tables + List.length memories + + List.length globals in - List.iter (write_func_import imp_buf) funcs; - List.iter (write_table_import imp_buf) tables; - List.iter (write_memory_import imp_buf) memories; - List.iter (write_global_import imp_buf) globals; - write_u32_of_int buf len; - Buffer.add_buffer buf imp_buf + List.iter (write_func_import imp_buf) funcs; + List.iter (write_table_import imp_buf) tables; + List.iter (write_memory_import imp_buf) memories; + List.iter (write_global_import imp_buf) globals; + write_u32_of_int buf len; + Buffer.add_buffer buf imp_buf (* function: section 3 *) let encode_functions buf (funcs : binary func list) = - let idx = ref 0 in + let idx = ref 0 in encode_vector buf funcs (fun buf func -> - write_block_type_idx buf func.type_f; - incr idx ) + write_block_type_idx buf func.type_f; + incr idx ) (* table: section 4 *) -let encode_tables buf tables = encode_vector buf tables write_table +let encode_tables buf tables = encode_vector buf tables write_table (* memory: section 5 *) -let encode_memories buf memories = encode_vector buf memories write_memory +let encode_memories buf memories = encode_vector buf memories write_memory (* global: section 6 *) let encode_globals buf globals = - let globals = List.rev globals in - encode_vector buf globals write_global + let globals = List.rev globals in + encode_vector buf globals write_global (* export: section 7 *) let encode_exports buf ({ global; mem; table; func } : exports) = - let exp_buf = Buffer.create 16 in - let len = - List.length global + List.length mem + List.length table + List.length func + let exp_buf = Buffer.create 16 in + let len = + List.length global + List.length mem + List.length table + List.length func in let global = List.rev global in - let mem = List.rev mem in - let table = List.rev table in - let func = List.rev func in - List.iter (write_export exp_buf '\x03') global; - List.iter (write_export exp_buf '\x02') mem; - List.iter (write_export exp_buf '\x01') table; - List.iter (write_export exp_buf '\x00') func; - write_u32_of_int buf len; - Buffer.add_buffer buf exp_buf + let mem = List.rev mem in + let table = List.rev table in + let func = List.rev func in + List.iter (write_export exp_buf '\x03') global; + List.iter (write_export exp_buf '\x02') mem; + List.iter (write_export exp_buf '\x01') table; + List.iter (write_export exp_buf '\x00') func; + write_u32_of_int buf len; + Buffer.add_buffer buf exp_buf (* start: section 8 *) let encode_start buf int_opt = - match int_opt with None -> () | Some funcidx -> write_u32_of_int buf funcidx + match int_opt with None -> () | Some funcidx -> write_u32_of_int buf funcidx (* element: section 9 *) let encode_elements buf { Named.values = elems; _ } = - encode_vector buf elems (fun buf elem -> + encode_vector buf elems (fun buf elem -> let elem = Indexed.get elem in write_element buf elem ) (* datacount: section 12 *) let encode_datacount buf { Named.values = datas; _ } = - let len = List.length datas in - write_u32_of_int buf len + let len = List.length datas in + write_u32_of_int buf len (* code: section 10 *) let encode_codes buf funcs = - encode_vector buf funcs (fun buf { locals; body; _ } -> - let code_buf = Buffer.create 16 in - write_locals code_buf locals; - write_expr code_buf body ~end_op_code:None; - write_u32_of_int buf (Buffer.length code_buf); - Buffer.add_buffer buf code_buf ) + encode_vector buf funcs (fun buf { locals; body; _ } -> + let code_buf = Buffer.create 16 in + write_locals code_buf locals; + write_expr code_buf body ~end_op_code:None; + write_u32_of_int buf (Buffer.length code_buf); + Buffer.add_buffer buf code_buf ) (* data: section 11 *) let encode_datas buf { Named.values = datas; _ } = - encode_vector buf datas (fun buf data -> + encode_vector buf datas (fun buf data -> let data = Indexed.get data in write_data buf data ) let keep_local { Named.values; _ } = - List.filter_map + List.filter_map (fun data -> - match Indexed.get data with - | Runtime.Local data -> Some data + match Indexed.get data with + | Runtime.Local data -> Some data | Runtime.Imported _data -> None ) - (List.rev values) + (List.rev values) let keep_imported { Named.values; _ } = - List.filter_map + List.filter_map (fun data -> - match Indexed.get data with - | Runtime.Local _data -> None + match Indexed.get data with + | Runtime.Local _data -> None | Runtime.Imported data -> Some data ) - (List.rev values) + (List.rev values) let encode (modul : Binary.modul) = - let buf = Buffer.create 256 in - let local_funcs = keep_local modul.func in - let local_tables = keep_local modul.table in - let local_memories = keep_local modul.mem in - let local_globales = keep_local modul.global in - let imported_funcs = keep_imported modul.func in - let imported_tables = keep_imported modul.table in - let imported_memories = keep_imported modul.mem in - let imported_globals = keep_imported modul.global in - Buffer.add_string buf "\x00\x61\x73\x6d"; + let buf = Buffer.create 256 in + let local_funcs = keep_local modul.func in + let local_tables = keep_local modul.table in + let local_memories = keep_local modul.mem in + let local_globales = keep_local modul.global in + let imported_funcs = keep_imported modul.func in + let imported_tables = keep_imported modul.table in + let imported_memories = keep_imported modul.mem in + let imported_globals = keep_imported modul.global in + Buffer.add_string buf "\x00\x61\x73\x6d"; (* magic *) - Buffer.add_string buf "\x01\x00\x00\x00"; + Buffer.add_string buf "\x01\x00\x00\x00"; (* version *) - encode_section buf '\x01' encode_types modul.types; - encode_section buf '\x02' encode_imports + encode_section buf '\x01' encode_types modul.types; + encode_section buf '\x02' encode_imports (imported_funcs, imported_tables, imported_memories, imported_globals); - encode_section buf '\x03' encode_functions local_funcs; - encode_section buf '\x04' encode_tables local_tables; - encode_section buf '\x05' encode_memories local_memories; - encode_section buf '\x06' encode_globals local_globales; - encode_section buf '\x07' encode_exports modul.exports; - encode_section buf '\x08' encode_start modul.start; - encode_section buf '\x09' encode_elements modul.elem; - encode_section buf '\x0C' encode_datacount modul.data; - encode_section buf '\x0A' encode_codes local_funcs; - encode_section buf '\x0B' encode_datas modul.data; - Buffer.contents buf + encode_section buf '\x03' encode_functions local_funcs; + encode_section buf '\x04' encode_tables local_tables; + encode_section buf '\x05' encode_memories local_memories; + encode_section buf '\x06' encode_globals local_globales; + encode_section buf '\x07' encode_exports modul.exports; + encode_section buf '\x08' encode_start modul.start; + encode_section buf '\x09' encode_elements modul.elem; + encode_section buf '\x0C' encode_datacount modul.data; + encode_section buf '\x0A' encode_codes local_funcs; + encode_section buf '\x0B' encode_datas modul.data; + Buffer.contents buf let write_file filename content = - let _dir, filename = Fpath.split_base filename in - let filename, _ext = Fpath.split_ext filename in - let filename = Fpath.add_ext ".wasm" filename in - let filename = Fpath.to_string filename in - let oc = Out_channel.open_bin filename in - Out_channel.output_string oc content; - Out_channel.close oc + let _dir, filename = Fpath.split_base filename in + let filename, _ext = Fpath.split_ext filename in + let filename = Fpath.add_ext ".wasm" filename in + let filename = Fpath.to_string filename in + let oc = Out_channel.open_bin filename in + Out_channel.output_string oc content; + Out_channel.close oc let convert (filename : Fpath.t) ~unsafe ~optimize m = - Log.debug0 "bin encoding ...@\n"; - let+ m = Compile.Text.until_optimize ~unsafe ~optimize m in - let content = encode m in - write_file filename content + Log.debug0 "bin encoding ...@\n"; + let+ m = Compile.Text.until_optimize ~unsafe ~optimize m in + let content = encode m in + write_file filename content
diff --git a/coverage/src/ast/binary_to_text.ml.html b/coverage/src/ast/binary_to_text.ml.html index 91e1b8189..f7c946e14 100644 --- a/coverage/src/ast/binary_to_text.ml.html +++ b/coverage/src/ast/binary_to_text.ml.html @@ -598,7 +598,7 @@

74.84%

open Types let convert_indice (t : binary indice) : text indice = - match t with Raw _ as t -> t + match t with Raw _ as t -> t let convert_heap_type (t : binary heap_type) : text heap_type = match t with @@ -625,22 +625,22 @@

74.84%

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

74.84%

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

74.84%

let from_types (types : Types.binary Types.rec_type Named.t) : Text.module_field list = - Named.fold + Named.fold (fun i (t : Types.binary Types.rec_type) acc -> - let t = convert_rec_type t in - (i, MType t) :: acc ) + let t = convert_rec_type t in + (i, MType t) :: acc ) types [] - |> List.sort (fun (i1, _t1) (i2, _t2) -> Int.compare i1 i2) - |> List.map snd + |> List.sort (fun (i1, _t1) (i2, _t2) -> Int.compare i1 i2) + |> List.map snd let from_global (global : (Binary.global, binary global_type) Runtime.t Named.t) : Text.module_field list = - Named.fold + Named.fold (fun i (g : (Binary.global, binary global_type) Runtime.t) acc -> match g with | Runtime.Local g -> @@ -737,12 +737,12 @@

74.84%

let desc = Import_global (assigned_name, convert_global_type desc) in (i, MImport { modul; name; desc }) :: acc ) global [] - |> List.sort (fun (i1, _t1) (i2, _t2) -> Int.compare i1 i2) - |> List.map snd + |> List.sort (fun (i1, _t1) (i2, _t2) -> Int.compare i1 i2) + |> List.map snd let from_table (table : (binary table, binary table_type) Runtime.t Named.t) : Text.module_field list = - Named.fold + Named.fold (fun i (t : (binary table, binary table_type) Runtime.t) acc -> match t with | Runtime.Local t -> @@ -752,11 +752,11 @@

74.84%

let desc = Import_table (assigned_name, convert_table_type desc) in (i, MImport { modul; name; desc }) :: acc ) table [] - |> List.sort (fun (i1, _t1) (i2, _t2) -> Int.compare i1 i2) - |> List.map snd + |> List.sort (fun (i1, _t1) (i2, _t2) -> Int.compare i1 i2) + |> List.map snd let from_mem (mem : (mem, limits) Runtime.t Named.t) : Text.module_field list = - Named.fold + Named.fold (fun i mem acc -> match mem with | Runtime.Local mem -> (i, MMem mem) :: acc @@ -764,47 +764,47 @@

74.84%

let desc = Import_mem (assigned_name, desc) in (i, MImport { modul; name; desc }) :: acc ) mem [] - |> List.sort (fun (i1, _t1) (i2, _t2) -> Int.compare i1 i2) - |> List.map snd + |> List.sort (fun (i1, _t1) (i2, _t2) -> Int.compare i1 i2) + |> List.map snd let from_func (func : (binary func, binary block_type) Runtime.t Named.t) : Text.module_field list = - Named.fold + Named.fold (fun i (func : (binary func, binary block_type) Runtime.t) acc -> - match func with - | Runtime.Local func -> + match func with + | Runtime.Local func -> let type_f = convert_block_type func.type_f in - let locals = convert_param_type func.locals in - let body = convert_expr func.body in - let id = func.id in + let locals = convert_param_type func.locals in + let body = convert_expr func.body in + let id = func.id in (i, MFunc { type_f; locals; body; id }) :: acc | Imported { modul; name; assigned_name; desc } -> let desc = Import_func (assigned_name, convert_block_type desc) in (i, MImport { modul; name; desc }) :: acc ) func [] - |> List.sort (fun (i1, _t1) (i2, _t2) -> Int.compare i1 i2) - |> List.map snd + |> List.sort (fun (i1, _t1) (i2, _t2) -> Int.compare i1 i2) + |> List.map snd let from_elem (elem : Binary.elem Named.t) : Text.module_field list = - Named.fold + Named.fold (fun i (elem : Binary.elem) acc -> let elem = convert_elem elem in (i, MElem elem) :: acc ) elem [] - |> List.sort (fun (i1, _t1) (i2, _t2) -> Int.compare i1 i2) - |> List.map snd + |> List.sort (fun (i1, _t1) (i2, _t2) -> Int.compare i1 i2) + |> List.map snd let from_data (data : Binary.data Named.t) : Text.module_field list = - Named.fold + Named.fold (fun i (data : Binary.data) acc -> let data = convert_data data in (i, MData data) :: acc ) data [] - |> List.sort (fun (i1, _t1) (i2, _t2) -> Int.compare i1 i2) - |> List.map snd + |> List.sort (fun (i1, _t1) (i2, _t2) -> Int.compare i1 i2) + |> List.map snd let from_exports (exports : Binary.exports) : Text.module_field list = - let global = + let global = List.map (fun { name; id } -> let id = Some (Raw id) in @@ -812,7 +812,7 @@

74.84%

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

74.84%

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

74.84%

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

74.84%

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

77.05%

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

77.05%

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

77.05%

Def_struct_t struct_t let convert_table_type tbl (limits, ref_type) = - let+ ref_type = convert_ref_type tbl ref_type in - (limits, ref_type) + let+ ref_type = convert_ref_type tbl ref_type in + (limits, ref_type) diff --git a/coverage/src/ast/compile.ml.html b/coverage/src/ast/compile.ml.html index 607cd6885..bdd56f760 100644 --- a/coverage/src/ast/compile.ml.html +++ b/coverage/src/ast/compile.ml.html @@ -276,65 +276,65 @@

80.77%

open Syntax module Text = struct - let until_check ~unsafe m = if unsafe then Ok m else Check.modul m + let until_check ~unsafe m = if unsafe then Ok m else Check.modul m let until_group ~unsafe m = - let* m = until_check ~unsafe m in - Grouped.of_symbolic m + let* m = until_check ~unsafe m in + Grouped.of_symbolic m let until_assign ~unsafe m = - let* m = until_group ~unsafe m in - Assigned.of_grouped m + let* m = until_group ~unsafe m in + Assigned.of_grouped m let until_binary ~unsafe m = - let* m = until_assign ~unsafe m in - Rewrite.modul m + let* m = until_assign ~unsafe m in + Rewrite.modul m let until_typecheck ~unsafe m = - let* m = until_binary ~unsafe m in - if unsafe then Ok m + let* m = until_binary ~unsafe m in + if unsafe then Ok m else - let+ () = Typecheck.modul m in - m + let+ () = Typecheck.modul m in + m let until_optimize ~unsafe ~optimize m = - let+ m = until_typecheck ~unsafe m in - if optimize then Optimize.modul m else m + let+ m = until_typecheck ~unsafe m in + if optimize then Optimize.modul m else m let until_link ~unsafe ~optimize ~name link_state m = - let* m = until_optimize ~unsafe ~optimize m in - Link.modul link_state ~name m + let* m = until_optimize ~unsafe ~optimize m in + Link.modul link_state ~name m let until_interpret ~unsafe ~optimize ~name link_state m = - let* m, link_state = until_link ~unsafe ~optimize ~name link_state m in - let+ () = Interpret.Concrete.modul link_state.envs m in - link_state + let* m, link_state = until_link ~unsafe ~optimize ~name link_state m in + let+ () = Interpret.Concrete.modul link_state.envs m in + link_state end module Binary = struct let until_typecheck ~unsafe m = - if unsafe then Ok m + if unsafe then Ok m else - let+ () = Typecheck.modul m in - m + let+ () = Typecheck.modul m in + m let until_optimize ~unsafe ~optimize m = - let+ m = until_typecheck ~unsafe m in - if optimize then Optimize.modul m else m + let+ m = until_typecheck ~unsafe m in + if optimize then Optimize.modul m else m let until_link ~unsafe ~optimize ~name link_state m = - let* m = until_optimize ~unsafe ~optimize m in - Link.modul link_state ~name m + let* m = until_optimize ~unsafe ~optimize m in + Link.modul link_state ~name m let until_interpret ~unsafe ~optimize ~name link_state m = - let* m, link_state = until_link ~unsafe ~optimize ~name link_state m in - let+ () = Interpret.Concrete.modul link_state.envs m in - link_state + let* m, link_state = until_link ~unsafe ~optimize ~name link_state m in + let+ () = Interpret.Concrete.modul link_state.envs m in + link_state end module Any = struct let until_typecheck ~unsafe = function - | Kind.Wat m -> Text.until_typecheck ~unsafe m + | Kind.Wat m -> Text.until_typecheck ~unsafe m | Wasm m -> Binary.until_typecheck ~unsafe m | Wast _ | Ocaml _ -> assert false @@ -356,16 +356,16 @@

80.77%

module File = struct let until_typecheck ~unsafe filename = - let* m = Parse.guess_from_file filename in - match m with - | Kind.Wat m -> Text.until_typecheck ~unsafe m + let* m = Parse.guess_from_file filename in + match m with + | Kind.Wat m -> Text.until_typecheck ~unsafe m | Wasm m -> Binary.until_typecheck ~unsafe m | Wast _ | Ocaml _ -> assert false let until_optimize ~unsafe ~optimize filename = - let* m = Parse.guess_from_file filename in - match m with - | Kind.Wat m -> Text.until_optimize ~unsafe ~optimize m + let* m = Parse.guess_from_file filename in + match m with + | Kind.Wat m -> Text.until_optimize ~unsafe ~optimize m | Wasm m -> Binary.until_optimize ~unsafe ~optimize m | Wast _ | Ocaml _ -> assert false @@ -377,10 +377,10 @@

80.77%

| Wast _ | Ocaml _ -> assert false let until_interpret ~unsafe ~optimize ~name link_state filename = - let* m = Parse.guess_from_file filename in - match m with - | Kind.Wat m -> Text.until_interpret ~unsafe ~optimize ~name link_state m - | Wasm m -> Binary.until_interpret ~unsafe ~optimize ~name link_state m + let* m = Parse.guess_from_file filename in + match m with + | Kind.Wat m -> Text.until_interpret ~unsafe ~optimize ~name link_state m + | Wasm m -> Binary.until_interpret ~unsafe ~optimize ~name link_state m | Wast _ | Ocaml _ -> assert false end diff --git a/coverage/src/ast/text.ml.html b/coverage/src/ast/text.ml.html index 3ae7cb4d4..0f246eab3 100644 --- a/coverage/src/ast/text.ml.html +++ b/coverage/src/ast/text.ml.html @@ -449,13 +449,13 @@

65.45%

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

65.45%

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

65.45%

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

47.34%

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

47.34%

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

47.34%

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

47.34%

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

47.34%

| Rotr let pp_ibinop fmt = function - | (Add : ibinop) -> pf fmt "add" - | Sub -> pf fmt "sub" - | Mul -> pf fmt "mul" + | (Add : ibinop) -> pf fmt "add" + | Sub -> pf fmt "sub" + | Mul -> pf fmt "mul" | Div s -> pf fmt "div_%a" pp_sx s | Rem s -> pf fmt "rem_%a" pp_sx s | And -> pf fmt "and" @@ -2391,7 +2391,7 @@

47.34%

type nonrec itestop = Eqz -let pp_itestop fmt = function Eqz -> pf fmt "eqz" +let pp_itestop fmt = function Eqz -> pf fmt "eqz" type nonrec irelop = | Eq @@ -2401,10 +2401,10 @@

47.34%

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

47.34%

let pp_memarg = let pow_2 n = - assert (Int32.ge n 0l); + assert (Int32.ge n 0l); Int32.shl 1l n in fun fmt { offset; align } -> - let pp_offset fmt offset = - if Int32.gt offset 0l then pf fmt "offset=%ld " offset + let pp_offset fmt offset = + if Int32.gt offset 0l then pf fmt "offset=%ld " offset in - pf fmt "%aalign=%ld" pp_offset offset (pow_2 align) + pf fmt "%aalign=%ld" pp_offset offset (pow_2 align) type nonrec limits = { min : int @@ -2447,18 +2447,18 @@

47.34%

} let pp_limits fmt { min; max } = - match max with None -> pf fmt "%d" min | Some max -> pf fmt "%d %d" min max + match max with None -> pf fmt "%d" min | Some max -> pf fmt "%d %d" min max type nonrec mem = string option * limits -let pp_mem fmt (id, ty) = pf fmt "(memory%a %a)" pp_id_opt id pp_limits ty +let pp_mem fmt (id, ty) = pf fmt "(memory%a %a)" pp_id_opt id pp_limits ty type nonrec final = | Final | No_final let pp_final fmt = function - | Final -> pf fmt "final" + | Final -> pf fmt "final" | No_final -> pf fmt "no_final" (** Structure *) @@ -2506,7 +2506,7 @@

47.34%

let heap_type_eq t1 t2 = (* TODO: this is wrong *) - match (t1, t2) with + match (t1, t2) with | Any_ht, Any_ht | None_ht, None_ht | Eq_ht, Eq_ht @@ -2515,7 +2515,7 @@

47.34%

| Array_ht, Array_ht | Func_ht, Func_ht | No_func_ht, No_func_ht - | Extern_ht, Extern_ht + | Extern_ht, Extern_ht | No_extern_ht, No_extern_ht -> true | Def_ht _, Def_ht _ -> assert false @@ -2523,7 +2523,7 @@

47.34%

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

47.34%

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

47.34%

| Null -> pf fmt "(ref null %a)" pp_heap_type ht let ref_type_eq t1 t2 = - match (t1, t2) with - | (Null, t1), (Null, t2) | (No_null, t1), (No_null, t2) -> heap_type_eq t1 t2 + match (t1, t2) with + | (Null, t1), (Null, t2) | (No_null, t1), (No_null, t2) -> heap_type_eq t1 t2 | _ -> false let compare_ref_type t1 t2 = - match (t1, t2) with - | (Null, t1), (Null, t2) | (No_null, t1), (No_null, t2) -> + match (t1, t2) with + | (Null, t1), (Null, t2) | (No_null, t1), (No_null, t2) -> compare_heap_type t1 t2 | (Null, _), (No_null, _) -> -1 | (No_null, _), (Null, _) -> 1 @@ -2562,52 +2562,52 @@

47.34%

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

47.34%

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

47.34%

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

47.34%

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

47.34%

| Table_init (tid, eid) -> pf fmt "table.init %a %a" pp_indice tid pp_indice eid | Elem_drop id -> pf fmt "elem.drop %a" pp_indice id - | I_load (n, memarg) -> pf fmt "i%a.load %a" pp_nn n pp_memarg memarg + | I_load (n, memarg) -> pf fmt "i%a.load %a" pp_nn n pp_memarg memarg | F_load (n, memarg) -> pf fmt "f%a.load %a" pp_nn n pp_memarg memarg - | I_store (n, memarg) -> pf fmt "i%a.store %a" pp_nn n pp_memarg memarg + | I_store (n, memarg) -> pf fmt "i%a.store %a" pp_nn n pp_memarg memarg | F_store (n, memarg) -> pf fmt "f%a.store %a" pp_nn n pp_memarg memarg | I_load8 (n, sx, memarg) -> pf fmt "i%a.load8_%a %a" pp_nn n pp_sx sx pp_memarg memarg @@ -2856,17 +2856,17 @@

47.34%

| Memory_init id -> pf fmt "memory.init %a" pp_indice id | Data_drop id -> pf fmt "data.drop %a" pp_indice id | Nop -> pf fmt "nop" - | Unreachable -> pf fmt "unreachable" + | Unreachable -> pf fmt "unreachable" | Block (id, bt, e) -> pf fmt "(block%a%a@\n @[<v>%a@])" pp_id_opt id pp_block_type_opt bt pp_expr e | Loop (id, bt, e) -> pf fmt "(loop%a%a@\n @[<v>%a@])" pp_id_opt id pp_block_type_opt bt pp_expr e - | If_else (id, bt, e1, e2) -> + | If_else (id, bt, e1, e2) -> let pp_else fmt e = - match e with - | [] -> () + match e with + | [] -> () | e -> pf fmt "@\n(else@\n @[<v>%a@]@\n)" pp_expr e in pf fmt "(if%a%a@\n @[<v>(then@\n @[<v>%a@]@\n)%a@]@\n)" pp_id_opt id @@ -2875,12 +2875,12 @@

47.34%

| Br_if id -> pf fmt "br_if %a" pp_indice id | Br_table (ids, id) -> pf fmt "br_table %a %a" (array ~sep:sp pp_indice) ids pp_indice id - | Return -> pf fmt "return" + | Return -> pf fmt "return" | Return_call id -> pf fmt "return_call %a" pp_indice id | Return_call_indirect (tbl_id, ty_id) -> pf fmt "return_call_indirect %a %a" pp_indice tbl_id pp_block_type ty_id | Return_call_ref ty_id -> pf fmt "return_call_ref %a" pp_block_type ty_id - | Call id -> pf fmt "call %a" pp_indice id + | Call id -> pf fmt "call %a" pp_indice id | Call_indirect (tbl_id, ty_id) -> pf fmt "call_indirect %a %a" pp_indice tbl_id pp_block_type ty_id | Call_ref ty_id -> pf fmt "call_ref %a" pp_indice ty_id @@ -2918,7 +2918,7 @@

47.34%

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

47.34%

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

47.34%

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

47.34%

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

src/bin/owi.ml

-

80.78%

+

80.39%

diff --git a/coverage/src/cmd/cmd_opt.ml.html b/coverage/src/cmd/cmd_opt.ml.html index 3421ebd8b..77eae18fb 100644 --- a/coverage/src/cmd/cmd_opt.ml.html +++ b/coverage/src/cmd/cmd_opt.ml.html @@ -68,15 +68,15 @@

100.00%

open Syntax let optimize_file ~unsafe filename = - Compile.File.until_optimize ~unsafe ~optimize:true filename + Compile.File.until_optimize ~unsafe ~optimize:true filename let cmd debug unsafe files = - if debug then Log.debug_on := true; - list_iter + if debug then Log.debug_on := true; + list_iter (fun file -> - let+ m = optimize_file ~unsafe file in - let m = Binary_to_text.modul m in - Fmt.pr "%a@\n" Text.pp_modul m ) + let+ m = optimize_file ~unsafe file in + let m = Binary_to_text.modul m in + Fmt.pr "%a@\n" Text.pp_modul m ) files diff --git a/coverage/src/cmd/cmd_run.ml.html b/coverage/src/cmd/cmd_run.ml.html index 0b9e74e12..e660898a2 100644 --- a/coverage/src/cmd/cmd_run.ml.html +++ b/coverage/src/cmd/cmd_run.ml.html @@ -71,17 +71,17 @@

87.50%

open Syntax let run_file ~unsafe ~optimize filename = - let name = None in + let name = None in let+ (_ : _ Link.state) = - Compile.File.until_interpret ~unsafe ~optimize ~name Link.empty_state + Compile.File.until_interpret ~unsafe ~optimize ~name Link.empty_state filename in - () + () let cmd profiling debug unsafe optimize files = - if profiling then Log.profiling_on := true; - if debug then Log.debug_on := true; - list_iter (run_file ~unsafe ~optimize) files + if profiling then Log.profiling_on := true; + if debug then Log.debug_on := true; + list_iter (run_file ~unsafe ~optimize) files diff --git a/coverage/src/cmd/cmd_script.ml.html b/coverage/src/cmd/cmd_script.ml.html index b9985c270..83f159206 100644 --- a/coverage/src/cmd/cmd_script.ml.html +++ b/coverage/src/cmd/cmd_script.ml.html @@ -66,14 +66,14 @@

77.78%

open Syntax let run_file exec filename = - let* script = Parse.Text.Script.from_file filename in - exec script + let* script = Parse.Text.Script.from_file filename in + exec script let cmd profiling debug optimize files no_exhaustion = - let exec = Script.exec ~no_exhaustion ~optimize in + let exec = Script.exec ~no_exhaustion ~optimize in if profiling then Log.profiling_on := true; - if debug then Log.debug_on := true; - list_iter (run_file exec) files + if debug then Log.debug_on := true; + list_iter (run_file exec) files diff --git a/coverage/src/cmd/cmd_sym.ml.html b/coverage/src/cmd/cmd_sym.ml.html index 1bc080fae..e85557ab8 100644 --- a/coverage/src/cmd/cmd_sym.ml.html +++ b/coverage/src/cmd/cmd_sym.ml.html @@ -309,30 +309,30 @@

88.76%

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

88.76%

monad, hence the let*. *) let cmd profiling debug unsafe optimize workers no_stop_at_failure no_values deterministic_result_order fail_mode (workspace : Fpath.t) solver files = - if profiling then Log.profiling_on := true; - if debug then Log.debug_on := true; + if profiling then Log.profiling_on := true; + if debug then Log.debug_on := true; (* deterministic_result_order implies no_stop_at_failure *) - let no_stop_at_failure = deterministic_result_order || no_stop_at_failure in - let* _created_dir = Bos.OS.Dir.create ~path:true ~mode:0o755 workspace in - let pc = Choice.return (Ok ()) in - let result = List.fold_left (run_file ~unsafe ~optimize) pc files in - let thread = Thread_with_memory.init () in - let res_queue = Wq.make () in - let path_count = ref 0 in + let no_stop_at_failure = deterministic_result_order || no_stop_at_failure in + let* _created_dir = Bos.OS.Dir.create ~path:true ~mode:0o755 workspace in + let pc = Choice.return (Ok ()) in + let result = List.fold_left (run_file ~unsafe ~optimize) pc files in + let thread = Thread_with_memory.init () in + let res_queue = Wq.make () in + let path_count = ref 0 in let callback v = - let open Symbolic_choice_intf in + let open Symbolic_choice_intf in incr path_count; - match (fail_mode, v) with - | _, (EVal (Ok ()), _) -> () + match (fail_mode, v) with + | _, (EVal (Ok ()), _) -> () | _, (EVal (Error e), thread) -> Wq.push (`Error e, thread) res_queue - | (`Both | `Trap_only), (ETrap (t, m), thread) -> + | (`Both | `Trap_only), (ETrap (t, m), thread) -> Wq.push (`ETrap (t, m), thread) res_queue | (`Both | `Assertion_only), (EAssert (e, m), thread) -> Wq.push (`EAssert (e, m), thread) res_queue @@ -364,41 +364,41 @@

88.76%

in let join_handles = Symbolic_choice_with_memory.run ~workers solver result thread ~callback - ~callback_init:(fun () -> Wq.make_pledge res_queue) - ~callback_end:(fun () -> Wq.end_pledge res_queue) + ~callback_init:(fun () -> Wq.make_pledge res_queue) + ~callback_end:(fun () -> Wq.end_pledge res_queue) in - let results = + let results = Wq.read_as_seq res_queue ~finalizer:(fun () -> Array.iter Domain.join join_handles ) in - let print_bug = function - | `ETrap (tr, model) -> - Fmt.pr "Trap: %s@\n" (Trap.to_string tr); - Fmt.pr "Model:@\n @[<v>%a@]@." (Smtml.Model.pp ~no_values) model + let print_bug = function + | `ETrap (tr, model) -> + Fmt.pr "Trap: %s@\n" (Trap.to_string tr); + Fmt.pr "Model:@\n @[<v>%a@]@." (Smtml.Model.pp ~no_values) model | `EAssert (assertion, model) -> Fmt.pr "Assert failure: %a@\n" Expr.pp assertion; Fmt.pr "Model:@\n @[<v>%a@]@." (Smtml.Model.pp ~no_values) model in let rec print_and_count_failures count_acc results = - match results () with + match results () with | Seq.Nil -> Ok count_acc - | Seq.Cons ((result, _thread), tl) -> + | Seq.Cons ((result, _thread), tl) -> let* model = match result with - | (`EAssert (_, model) | `ETrap (_, model)) as bug -> + | (`EAssert (_, model) | `ETrap (_, model)) as bug -> print_bug bug; - Ok model + Ok model | `Error e -> Error e in - let count_acc = succ count_acc in - let* () = + let count_acc = succ count_acc in + let* () = if not no_values then - let testcase = Smtml.Model.get_bindings model |> List.map snd in - Cmd_utils.write_testcase ~dir:workspace testcase + let testcase = Smtml.Model.get_bindings model |> List.map snd in + Cmd_utils.write_testcase ~dir:workspace testcase else Ok () in - if no_stop_at_failure then print_and_count_failures count_acc tl - else Ok count_acc + if no_stop_at_failure then print_and_count_failures count_acc tl + else Ok count_acc in let results = if deterministic_result_order then @@ -409,11 +409,11 @@

88.76%

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

76.47%

open Syntax let out_testcase ~dst testcase = - let o = Xmlm.make_output ~nl:true ~indent:(Some 2) dst in - let tag atts name = (("", name), atts) in + let o = Xmlm.make_output ~nl:true ~indent:(Some 2) dst in + let tag atts name = (("", name), atts) in let atts = [ (("", "coversError"), "true") ] in - let to_string v = Fmt.str "%a" Smtml.Value.pp v in - let input v = `El (tag [] "input", [ `Data (to_string v) ]) in - let testcase = `El (tag atts "testcase", List.map input testcase) in + let to_string v = Fmt.str "%a" Smtml.Value.pp v in + let input v = `El (tag [] "input", [ `Data (to_string v) ]) in + let testcase = `El (tag atts "testcase", List.map input testcase) in let dtd = {|<!DOCTYPE testcase PUBLIC "+//IDN sosy-lab.org//DTD test-format testcase 1.1//EN" "https://sosy-lab.org/test-format/testcase-1.1.dtd">|} in Xmlm.output o (`Dtd (Some dtd)); - Xmlm.output_tree Fun.id o testcase + Xmlm.output_tree Fun.id o testcase let write_testcase = let cnt = ref 0 in fun ~dir testcase -> - incr cnt; - let name = Fmt.kstr Fpath.v "testcase-%d.xml" !cnt in - let path = Fpath.append dir name in - let* res = - Bos.OS.File.with_oc path - (fun chan () -> Ok (out_testcase ~dst:(`Channel chan) testcase)) + incr cnt; + let name = Fmt.kstr Fpath.v "testcase-%d.xml" !cnt in + let path = Fpath.append dir name in + let* res = + Bos.OS.File.with_oc path + (fun chan () -> Ok (out_testcase ~dst:(`Channel chan) testcase)) () in - res + res let add_main_as_start (m : Binary.modul) = (* We are checking if there's a start function *) - if Option.is_some m.start then Ok m + if Option.is_some m.start then Ok m else (* If there is none, we look for a function exported with the name `main` *) match diff --git a/coverage/src/cmd/cmd_validate.ml.html b/coverage/src/cmd/cmd_validate.ml.html index df90c7896..963109e86 100644 --- a/coverage/src/cmd/cmd_validate.ml.html +++ b/coverage/src/cmd/cmd_validate.ml.html @@ -3,7 +3,7 @@ cmd_validate.ml — Coverage report - + @@ -15,10 +15,11 @@

src/cmd/cmd_validate.ml

-

83.33%

+

66.67%

@@ -36,7 +37,7 @@

83.33%

- +
@@ -65,14 +66,14 @@

83.33%

open Syntax let validate filename = - let+ (_modul : Binary.modul) = - Compile.File.until_typecheck ~unsafe:false filename + let+ (_modul : Binary.modul) = + Compile.File.until_typecheck ~unsafe:false filename in () let cmd debug files = - if debug then Log.debug_on := true; - list_iter validate files + if debug then Log.debug_on := true; + list_iter validate files
diff --git a/coverage/src/cmd/cmd_wasm2wat.ml.html b/coverage/src/cmd/cmd_wasm2wat.ml.html index ab45f6b55..7b525fd41 100644 --- a/coverage/src/cmd/cmd_wasm2wat.ml.html +++ b/coverage/src/cmd/cmd_wasm2wat.ml.html @@ -66,15 +66,15 @@

100.00%

open Syntax let cmd_one file = - let ext = Fpath.get_ext file in - match ext with - | ".wasm" -> - let* m = Parse.Binary.Module.from_file file in - let m = Binary_to_text.modul m in - Ok (Fmt.pr "%a@\n" Text.pp_modul m) + let ext = Fpath.get_ext file in + match ext with + | ".wasm" -> + let* m = Parse.Binary.Module.from_file file in + let m = Binary_to_text.modul m in + Ok (Fmt.pr "%a@\n" Text.pp_modul m) | ext -> Error (`Unsupported_file_extension ext) -let cmd files = list_iter cmd_one files +let cmd files = list_iter cmd_one files diff --git a/coverage/src/cmd/cmd_wat2wasm.ml.html b/coverage/src/cmd/cmd_wat2wasm.ml.html index 4ad66e780..b50c1eeeb 100644 --- a/coverage/src/cmd/cmd_wat2wasm.ml.html +++ b/coverage/src/cmd/cmd_wat2wasm.ml.html @@ -72,17 +72,17 @@

81.82%

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

76.19%

in Choice.with_thread f - let get_func env id = Link_env.get_func env id + let get_func env id = Link_env.get_func env id - let get_extern_func env id = Link_env.get_extern_func env id + let get_extern_func env id = Link_env.get_extern_func env id let get_table env id : Table.t Choice.t = let orig_table = Link_env.get_table env id in @@ -875,22 +875,22 @@

76.19%

; to_run : Types.binary Types.expr list } - let env (t : t) = t.env + let env (t : t) = t.env - let modul (t : t) = t.modul + let modul (t : t) = t.modul - let to_run (t : t) = t.to_run + let to_run (t : t) = t.to_run end end module P' : Interpret_intf.P = P let convert_module_to_run (m : 'f Link.module_to_run) = - P.Module_to_run.{ modul = m.modul; env = m.env; to_run = m.to_run } + P.Module_to_run.{ modul = m.modul; env = m.env; to_run = m.to_run } -let backup (m : P.Module_to_run.t) = Link_env.backup m.env +let backup (m : P.Module_to_run.t) = Link_env.backup m.env -let recover b (m : P.Module_to_run.t) = Link_env.recover b m.env +let recover b (m : P.Module_to_run.t) = Link_env.recover b m.env diff --git a/coverage/src/concolic/concolic_choice.ml.html b/coverage/src/concolic/concolic_choice.ml.html index 64430c51c..a603ef99d 100644 --- a/coverage/src/concolic/concolic_choice.ml.html +++ b/coverage/src/concolic/concolic_choice.ml.html @@ -397,23 +397,23 @@

86.96%

let pp_pc fmt pc = List.iter (fun e -> Fmt.pf fmt " %a@\n" pp_pc_elt e) pc let pp_assignments ~no_values fmt assignments = - let open Smtml in + let open Smtml in let pp_v = if not no_values then - Fmt.parens (Fmt.pair ~sep:Fmt.sp Symbol.pp (Fmt.parens Concrete_value.pp)) + Fmt.parens (Fmt.pair ~sep:Fmt.sp Symbol.pp (Fmt.parens Concrete_value.pp)) else fun fmt (x, _) -> let ty = Symbol.type_of x in Fmt.parens (Fmt.pair ~sep:Fmt.sp Smtml.Symbol.pp Smtml.Ty.pp) fmt (x, ty) in - Fmt.pf fmt "(model@\n %a)" (Fmt.vbox (Fmt.list pp_v)) assignments + Fmt.pf fmt "(model@\n %a)" (Fmt.vbox (Fmt.list pp_v)) assignments let pc_elt_to_expr = function - | Select (c, v) -> Some (if v then c else Smtml.Expr.Bool.not c) + | Select (c, v) -> Some (if v then c else Smtml.Expr.Bool.not c) | Select_i32 (c, n) -> Some Smtml.Expr.Bitv.I32.(c = v n) | Assume c -> Some c | Assert _ -> None -let pc_to_exprs pc = List.filter_map pc_elt_to_expr pc +let pc_to_exprs pc = List.filter_map pc_elt_to_expr pc type shared_thread_info = { memories : Symbolic_memory.collection @@ -430,30 +430,30 @@

86.96%

} let init_thread preallocated_values shared = - { symbols = 0; pc = []; symbols_value = []; preallocated_values; shared } + { symbols = 0; pc = []; symbols_value = []; preallocated_values; shared } type 'a run_result = ('a, err) Prelude.Result.t * thread type 'a t = M of (thread -> 'a run_result) [@@unboxed] -let return v = M (fun t -> (Ok v, t)) [@@inline] +let return v = M (fun t -> (Ok v, t)) [@@inline] -let run (M v) st : _ run_result = v st [@@inline] +let run (M v) st : _ run_result = v st [@@inline] let bind v f = - M + M (fun init_s -> - let v_final, tmp_st = run v init_s in - match v_final with - | Ok v_final -> run (f v_final) tmp_st - | Error _ as e -> (e, tmp_st) ) + let v_final, tmp_st = run v init_s in + match v_final with + | Ok v_final -> run (f v_final) tmp_st + | Error _ as e -> (e, tmp_st) ) [@@inline] let ( let* ) = bind let map v f = - let* v in - return (f v) + let* v in + return (f v) [@@inline] let ( let+ ) = map @@ -467,17 +467,17 @@

86.96%

let add_pc (c : Concolic_value.V.vbool) = M (fun st -> (Ok (), { st with pc = Assume c.symbolic :: st.pc })) -let add_pc_to_thread (st : thread) c = { st with pc = c :: st.pc } +let add_pc_to_thread (st : thread) c = { st with pc = c :: st.pc } let no_choice e = - let v = Smtml.Expr.simplify e in - not (Smtml.Expr.is_symbolic v) + let v = Smtml.Expr.simplify e in + not (Smtml.Expr.is_symbolic v) let select (vb : Concolic_value.V.vbool) = - let r = vb.concrete in + let r = vb.concrete in let cond = Select (vb.symbolic, r) in let no_choice = no_choice vb.symbolic in - M (fun st -> (Ok r, if no_choice then st else add_pc_to_thread st cond)) + M (fun st -> (Ok r, if no_choice then st else add_pc_to_thread st cond)) [@@inline] let select_i32 (i : Concolic_value.V.int32) = @@ -503,18 +503,18 @@

86.96%

(Ok (), if no_choice then st else add_pc_to_thread st assert_pc) ) else M (fun st -> (Error Assert_fail, st)) -let trap t = M (fun th -> (Error (Trap t), th)) +let trap t = M (fun th -> (Error (Trap t), th)) let with_thread f = M (fun st -> (Ok (f st), st)) let with_new_symbol ty f = - M + M (fun st -> - let id = st.symbols + 1 in - let sym = Fmt.kstr (Smtml.Symbol.make ty) "symbol_%d" id in - let value = Hashtbl.find_opt st.preallocated_values sym in - let concrete, v = f sym value in - let st = + let id = st.symbols + 1 in + let sym = Fmt.kstr (Smtml.Symbol.make ty) "symbol_%d" id in + let value = Hashtbl.find_opt st.preallocated_values sym in + let concrete, v = f sym value in + let st = { st with symbols = st.symbols + 1 ; symbols_value = (sym, concrete) :: st.symbols_value @@ -523,13 +523,13 @@

86.96%

(Ok v, st) ) let run preallocated_values (M v) : _ run_result = - let shared = - { memories = Symbolic_memory.init () - ; tables = Symbolic_table.init () - ; globals = Symbolic_global.init () + let shared = + { memories = Symbolic_memory.init () + ; tables = Symbolic_table.init () + ; globals = Symbolic_global.init () } in - v (init_thread preallocated_values shared) + v (init_thread preallocated_values shared) let run' t : _ run_result = let preallocated_values = Hashtbl.create 0 in diff --git a/coverage/src/concolic/concolic_value.ml.html b/coverage/src/concolic/concolic_value.ml.html index 7e7cb24f7..6b76d54b6 100644 --- a/coverage/src/concolic/concolic_value.ml.html +++ b/coverage/src/concolic/concolic_value.ml.html @@ -1121,7 +1121,7 @@

66.87%

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

66.87%

| Ref cs -> Ref cs.symbolic let f_pair_1 fc fs cs = - { concrete = fc cs.concrete; symbolic = fs cs.symbolic } + { concrete = fc cs.concrete; symbolic = fs cs.symbolic } [@@inline always] let f_pair_2 fc fs cs1 cs2 = - { concrete = fc cs1.concrete cs2.concrete - ; symbolic = fs cs1.symbolic cs2.symbolic + { concrete = fc cs1.concrete cs2.concrete + ; symbolic = fs cs1.symbolic cs2.symbolic } [@@inline always] - let f_pair_1_cst fc fs v = { concrete = fc v; symbolic = fs v } + let f_pair_1_cst fc fs v = { concrete = fc v; symbolic = fs v } [@@inline always] let f_pair_2_cst fc fs v1 v2 = { concrete = fc v1 v2; symbolic = fs v1 v2 } @@ -1169,9 +1169,9 @@

66.87%

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

66.87%

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

66.87%

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

66.87%

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

66.87%

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

66.87%

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

66.87%

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

66.87%

(C.I64) (S.I64) - let of_int32 = f_pair_1 C.I64.of_int32 S.I64.of_int32 + let of_int32 = f_pair_1 C.I64.of_int32 S.I64.of_int32 - let to_int32 = f_pair_1 C.I64.to_int32 S.I64.to_int32 + let to_int32 = f_pair_1 C.I64.to_int32 S.I64.to_int32 - let reinterpret_f64 = f_pair_1 C.I64.reinterpret_f64 S.I64.reinterpret_f64 + let reinterpret_f64 = f_pair_1 C.I64.reinterpret_f64 S.I64.reinterpret_f64 - let extend_i32_s = f_pair_1 C.I64.extend_i32_s S.I64.extend_i32_s + let extend_i32_s = f_pair_1 C.I64.extend_i32_s S.I64.extend_i32_s - let extend_i32_u = f_pair_1 C.I64.extend_i32_u S.I64.extend_i32_u + let extend_i32_u = f_pair_1 C.I64.extend_i32_u S.I64.extend_i32_u end end diff --git a/coverage/src/concolic/concolic_wasm_ffi.ml.html b/coverage/src/concolic/concolic_wasm_ffi.ml.html index 40ccf7d88..cb19a5759 100644 --- a/coverage/src/concolic/concolic_wasm_ffi.ml.html +++ b/coverage/src/concolic/concolic_wasm_ffi.ml.html @@ -450,14 +450,14 @@

40.00%

module Value = Concolic_value.V let symbol_i32 () : Value.int32 Choice.t = - Choice.with_new_symbol (Ty_bitv 32) (fun sym forced_value -> - let n = + Choice.with_new_symbol (Ty_bitv 32) (fun sym forced_value -> + let n = match forced_value with - | None -> Random.bits32 () - | Some (Num (I32 n)) -> n + | None -> Random.bits32 () + | Some (Num (I32 n)) -> n | _ -> assert false in - (I32 n, Value.pair n (Expr.mk_symbol sym)) ) + (I32 n, Value.pair n (Expr.mk_symbol sym)) ) let symbol_i8 () : Value.int32 Choice.t = Choice.with_new_symbol (Ty_bitv 32) (fun sym forced_value -> diff --git a/coverage/src/concrete/concrete.ml.html b/coverage/src/concrete/concrete.ml.html index 593e3073a..e0536107d 100644 --- a/coverage/src/concrete/concrete.ml.html +++ b/coverage/src/concrete/concrete.ml.html @@ -219,11 +219,11 @@

100.00%

(** runnable module *) type t = Concrete_value.Func.extern_func Link.module_to_run - let env (t : Concrete_value.Func.extern_func Link.module_to_run) = t.env + let env (t : Concrete_value.Func.extern_func Link.module_to_run) = t.env - let modul (t : Concrete_value.Func.extern_func Link.module_to_run) = t.modul + let modul (t : Concrete_value.Func.extern_func Link.module_to_run) = t.modul - let to_run (t : Concrete_value.Func.extern_func Link.module_to_run) = t.to_run + let to_run (t : Concrete_value.Func.extern_func Link.module_to_run) = t.to_run end diff --git a/coverage/src/concrete/concrete_choice.ml.html b/coverage/src/concrete/concrete_choice.ml.html index ebbf886fa..592f534a4 100644 --- a/coverage/src/concrete/concrete_choice.ml.html +++ b/coverage/src/concrete/concrete_choice.ml.html @@ -89,20 +89,20 @@

100.00%

type 'a t = 'a -let return x = x [@@inline] +let return x = x [@@inline] -let bind x f = f x [@@inline] +let bind x f = f x [@@inline] let ( let* ) = bind let map v f = - let* v in - return (f v) + let* v in + return (f v) [@@inline] let ( let+ ) = map -let select b = b [@@inline] +let select b = b [@@inline] let select_i32 i = i [@@inline] diff --git a/coverage/src/concrete/concrete_memory.ml.html b/coverage/src/concrete/concrete_memory.ml.html index 53d66035d..c8c5dfdd0 100644 --- a/coverage/src/concrete/concrete_memory.ml.html +++ b/coverage/src/concrete/concrete_memory.ml.html @@ -289,8 +289,8 @@

95.00%

to_.data <- from_.data let init limits : t = - let data = Bytes.make (page_size * limits.min) '\x00' in - { limits; data } + let data = Bytes.make (page_size * limits.min) '\x00' in + { limits; data } let update_memory mem data = let limits = @@ -344,9 +344,9 @@

95.00%

let get_limits { limits; _ } = limits let store_8 mem ~addr n = - let addr = Int32.to_int addr in - let n = Int32.to_int n in - Bytes.set_int8 mem.data addr n + let addr = Int32.to_int addr in + let n = Int32.to_int n in + Bytes.set_int8 mem.data addr n let store_16 mem ~addr n = let addr = Int32.to_int addr in @@ -382,12 +382,12 @@

95.00%

Bytes.get_int32_le mem.data addr let load_64 mem addr = - let addr = Int32.to_int addr in - Bytes.get_int64_le mem.data addr + let addr = Int32.to_int addr in + Bytes.get_int64_le mem.data addr let size_in_pages mem = Int32.of_int @@ (Bytes.length mem.data / page_size) -let size mem = Int32.of_int @@ Bytes.length mem.data +let size mem = Int32.of_int @@ Bytes.length mem.data diff --git a/coverage/src/concrete/concrete_table.ml.html b/coverage/src/concrete/concrete_table.ml.html index d8f3ac41b..ed7f28fdd 100644 --- a/coverage/src/concrete/concrete_table.ml.html +++ b/coverage/src/concrete/concrete_table.ml.html @@ -173,14 +173,14 @@

100.00%

let fresh = let r = ref (-1) in fun () -> - incr r; - !r + incr r; + !r let init ?label (typ : binary table_type) : t = - let limits, ((_null, heap_type) as ref_type) = typ in + let limits, ((_null, heap_type) as ref_type) = typ in let null = Concrete_value.ref_null' heap_type in - let table = Array.make limits.min null in - { id = fresh (); label; limits; typ = ref_type; data = table } + let table = Array.make limits.min null in + { id = fresh (); label; limits; typ = ref_type; data = table } let update table data = table.data <- data diff --git a/coverage/src/concrete/concrete_value.ml.html b/coverage/src/concrete/concrete_value.ml.html index e9c3cb22c..93e12d119 100644 --- a/coverage/src/concrete/concrete_value.ml.html +++ b/coverage/src/concrete/concrete_value.ml.html @@ -3,7 +3,7 @@ concrete_value.ml — Coverage report - + @@ -15,9 +15,10 @@

src/concrete/concrete_value.ml

-

66.67%

+

63.89%

@@ -82,7 +84,7 @@

66.67%

- + @@ -198,7 +200,7 @@

66.67%

- + @@ -418,43 +420,43 @@

66.67%

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

66.67%

(* TODO: make a new kind of instr for this *) let of_instr (i : binary instr) : t = - match i with - | I32_const c -> I32 c - | I64_const c -> I64 c - | F32_const c -> F32 c - | F64_const c -> F64 c + match i with + | I32_const c -> I32 c + | I64_const c -> I64 c + | F32_const c -> F32 c + | F64_const c -> F64 c | _ -> assert false let to_instr = function - | I32 c -> I32_const c - | I64 c -> I64_const c - | F32 c -> F32_const c - | F64 c -> F64_const c + | I32 c -> I32_const c + | I64 c -> I64_const c + | F32 c -> F32_const c + | F64 c -> F64_const c | Ref _ -> assert false let pp fmt = function - | I32 i -> pf fmt "i32.const %ld" i + | I32 i -> pf fmt "i32.const %ld" i | I64 i -> pf fmt "i64.const %Ld" i | F32 f -> pf fmt "f32.const %a" Float32.pp f | F64 f -> pf fmt "f64.const %a" Float64.pp f | Ref r -> pp_ref_value fmt r let ref_null' = function - | Func_ht -> Funcref None - | Extern_ht -> Externref None + | Func_ht -> Funcref None + | Extern_ht -> Externref None | Array_ht -> Arrayref None | Any_ht | None_ht | Eq_ht | I31_ht | Struct_ht | No_func_ht | No_extern_ht | Def_ht _ -> assert false -let ref_null typ = Ref (ref_null' typ) +let ref_null typ = Ref (ref_null' typ) let ref_func (f : Func.t) : t = Ref (Funcref (Some f)) let ref_externref (type x) (t : x Type.Id.t) (v : x) : t = - Ref (Externref (Some (E (t, v)))) + Ref (Externref (Some (E (t, v)))) let ref_is_null = function | Funcref None | Externref None | Arrayref None -> true diff --git a/coverage/src/concrete/v.ml.html b/coverage/src/concrete/v.ml.html index 423ae39cf..85703d188 100644 --- a/coverage/src/concrete/v.ml.html +++ b/coverage/src/concrete/v.ml.html @@ -3,7 +3,7 @@ v.ml — Coverage report - + @@ -15,12 +15,15 @@

src/concrete/v.ml

-

82.35%

+

64.71%

@@ -70,11 +73,11 @@

82.35%

- - + + - + @@ -256,9 +259,9 @@

82.35%

let pp_float64 = Float64.pp - let const_i32 x = x + let const_i32 x = x - let const_i64 x = x + let const_i64 x = x let const_f32 x = x @@ -277,11 +280,11 @@

82.35%

let get_externref (type t) (r : ref_value) (t : t Type.Id.t) : t Value_intf.get_ref = - match r with - | Externref (Some (E (ety, v))) -> ( + match r with + | Externref (Some (E (ety, v))) -> ( match Type.Id.provably_equal t ety with | None -> assert false - | Some Equal -> Ref_value v ) + | Some Equal -> Ref_value v ) | _ -> assert false end @@ -294,7 +297,7 @@

82.35%

let or_ = ( || ) - let int32 = function true -> 1l | false -> 0l + let int32 = function true -> 1l | false -> 0l let pp = Fmt.bool end @@ -303,7 +306,7 @@

82.35%

include Int32 include Convert.Int32 - let to_bool i = Int32.ne i 0l + let to_bool i = Int32.ne i 0l let eq_const = eq end diff --git a/coverage/src/data_structures/env_id.ml.html b/coverage/src/data_structures/env_id.ml.html index 1cda0b61c..ee0d94625 100644 --- a/coverage/src/data_structures/env_id.ml.html +++ b/coverage/src/data_structures/env_id.ml.html @@ -106,20 +106,20 @@

77.78%

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

100.00%

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

100.00%

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

100.00%

let empty = { values = []; named = String_map.empty } let fold f v acc = - List.fold_left - (fun acc v -> f (Indexed.get_index v) (Indexed.get v) acc) + List.fold_left + (fun acc v -> f (Indexed.get_index v) (Indexed.get v) acc) acc v.values let map f v = - let values = List.map f v.values in - { v with values } + let values = List.map f v.values in + { v with values } diff --git a/coverage/src/data_structures/stack.ml.html b/coverage/src/data_structures/stack.ml.html index b8208391c..22fd5f5b2 100644 --- a/coverage/src/data_structures/stack.ml.html +++ b/coverage/src/data_structures/stack.ml.html @@ -3,7 +3,7 @@ stack.ml — Coverage report - + @@ -15,9 +15,10 @@

src/data_structures/stack.ml

-

96.00%

+

93.33%

diff --git a/coverage/src/data_structures/synchronizer.ml.html b/coverage/src/data_structures/synchronizer.ml.html index 5a87463bf..addee9a55 100644 --- a/coverage/src/data_structures/synchronizer.ml.html +++ b/coverage/src/data_structures/synchronizer.ml.html @@ -173,8 +173,8 @@

87.50%

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

87.50%

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

87.50%

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

100.00%

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

src/interpret/interpret.ml

-

92.16%

+

91.87%

diff --git a/coverage/src/optimize/optimize.ml.html b/coverage/src/optimize/optimize.ml.html index 12bc9264f..9aa8cdf7f 100644 --- a/coverage/src/optimize/optimize.ml.html +++ b/coverage/src/optimize/optimize.ml.html @@ -1134,46 +1134,46 @@

86.41%

open Types let rec optimize_expr expr : bool * binary instr list = - match expr with - | ((I32_const _ | I64_const _) as x) - :: ((I32_const _ | I64_const _) as y) + match expr with + | ((I32_const _ | I64_const _) as x) + :: ((I32_const _ | I64_const _) as y) :: (I_binop (nn, op) as i_binop) :: tl -> begin try let result = Interpret.Concrete.exec_ibinop - [ Concrete_value.of_instr y; Concrete_value.of_instr x ] + [ Concrete_value.of_instr y; Concrete_value.of_instr x ] nn op in - begin + begin match result with - | [ ((I32 _ | I64 _) as result) ] -> + | [ ((I32 _ | I64 _) as result) ] -> let _has_changed, e = - optimize_expr (Concrete_value.to_instr result :: tl) + optimize_expr (Concrete_value.to_instr result :: tl) in - (true, e) + (true, e) | _ -> assert false end with Trap _ -> let has_changed, e = optimize_expr (y :: i_binop :: tl) in (has_changed, x :: e) end - | ((F32_const _ | F64_const _) as x) - :: ((F32_const _ | F64_const _) as y) + | ((F32_const _ | F64_const _) as x) + :: ((F32_const _ | F64_const _) as y) :: F_binop (nn, op) :: tl -> let result = Interpret.Concrete.exec_fbinop - [ Concrete_value.of_instr y; Concrete_value.of_instr x ] + [ Concrete_value.of_instr y; Concrete_value.of_instr x ] nn op in - begin + begin match result with - | [ ((F32 _ | F64 _) as result) ] -> + | [ ((F32 _ | F64 _) as result) ] -> let _has_changed, e = - optimize_expr (Concrete_value.to_instr result :: tl) + optimize_expr (Concrete_value.to_instr result :: tl) in - (true, e) + (true, e) | _ -> assert false end | ((I32_const _ | I64_const _) as x) :: I_unop (nn, op) :: tl -> @@ -1377,12 +1377,12 @@

86.41%

(true, e) | _ -> assert false end - | (I32_const _ | I64_const _ | F32_const _ | F64_const _) :: Drop :: tl -> + | (I32_const _ | I64_const _ | F32_const _ | F64_const _) :: Drop :: tl -> let _has_changed, e = optimize_expr tl in - (true, e) - | Local_set (Raw x) :: Local_get (Raw y) :: tl when x = y -> - let _has_changed, e = optimize_expr (Local_tee (Raw x) :: tl) in - (true, e) + (true, e) + | Local_set (Raw x) :: Local_get (Raw y) :: tl when x = y -> + let _has_changed, e = optimize_expr (Local_tee (Raw x) :: tl) in + (true, e) | Local_get _ :: Drop :: tl -> let _has_changed, e = optimize_expr tl in (true, e) @@ -1453,16 +1453,16 @@

86.41%

( has_changed1 || has_changed2 || has_changed' , If_else (n, bt, oe1, oe2) :: e ) end - | hd :: tl -> + | hd :: tl -> let has_changed, e = optimize_expr tl in - (has_changed, hd :: e) - | [] -> (false, []) + (has_changed, hd :: e) + | [] -> (false, []) let locals_func (body_expr : binary expr) = - let locals_hashtbl = Hashtbl.create 16 in - let rec aux_instr (instr : binary instr) = - match instr with - | Local_get ind | Local_set ind | Local_tee ind -> + let locals_hashtbl = Hashtbl.create 16 in + let rec aux_instr (instr : binary instr) = + match instr with + | Local_get ind | Local_set ind | Local_tee ind -> Hashtbl.replace locals_hashtbl ind () | Block (_, _, e) -> aux_expr e | Loop (_, _, e) -> aux_expr e @@ -1473,7 +1473,7 @@

86.41%

| Ref_is_null | Ref_as_non_null | Ref_eq | Drop | Memory_size | Memory_grow | Memory_fill | Memory_copy | Nop | Unreachable | Return | Array_len | I31_get_u | I31_get_s | Ref_i31 | Extern_externalize | Extern_internalize - | I32_const _ | I64_const _ | F32_const _ | F64_const _ + | I32_const _ | I64_const _ | F32_const _ | F64_const _ | I_unop (_, _) | F_unop (_, _) | I_binop (_, _) @@ -1495,7 +1495,7 @@

86.41%

| Table_copy (_, _) | Table_init (_, _) | Elem_drop _ - | I_load (_, _) + | I_load (_, _) | F_load (_, _) | I_store (_, _) | F_store (_, _) @@ -1510,7 +1510,7 @@

86.41%

| Br_on_cast_fail (_, _, _) | Br_on_non_null _ | Br_on_null _ | Return_call _ | Return_call_indirect (_, _) - | Call _ + | Call _ | Call_indirect (_, _) | Call_ref _ | Return_call_ref _ | Array_get _ | Array_get_u _ | Array_new _ | Array_new_data (_, _) @@ -1523,20 +1523,20 @@

86.41%

| Struct_new _ | Struct_new_default _ | Struct_set (_, _) -> () - and aux_expr expr = List.iter aux_instr expr in + and aux_expr expr = List.iter aux_instr expr in aux_expr body_expr; - locals_hashtbl + locals_hashtbl let remove_local map body = - let new_x (Raw x : binary indice) = - let x = match Hashtbl.find_opt map x with None -> x | Some x -> x in + let new_x (Raw x : binary indice) = + let x = match Hashtbl.find_opt map x with None -> x | Some x -> x in Raw x in let rec aux_instr (instr : binary instr) : binary instr = - match instr with - | Local_get ind -> Local_get (new_x ind) + match instr with + | Local_get ind -> Local_get (new_x ind) | Local_set ind -> Local_set (new_x ind) - | Local_tee ind -> Local_tee (new_x ind) + | Local_tee ind -> Local_tee (new_x ind) | Block (m, t, e) -> Block (m, t, aux_expr e) | Loop (m, t, e) -> Loop (m, t, aux_expr e) | If_else (m, t, e1, e2) -> If_else (m, t, aux_expr e1, aux_expr e2) @@ -1544,7 +1544,7 @@

86.41%

| Ref_is_null | Ref_as_non_null | Ref_eq | Drop | Memory_size | Memory_grow | Memory_fill | Memory_copy | Nop | Unreachable | Return | Array_len | I31_get_u | I31_get_s | Ref_i31 | Extern_externalize | Extern_internalize - | I32_const _ | I64_const _ | F32_const _ | F64_const _ + | I32_const _ | I64_const _ | F32_const _ | F64_const _ | I_unop (_, _) | F_unop (_, _) | I_binop (_, _) @@ -1566,7 +1566,7 @@

86.41%

| Table_copy (_, _) | Table_init (_, _) | Elem_drop _ - | I_load (_, _) + | I_load (_, _) | F_load (_, _) | I_store (_, _) | F_store (_, _) @@ -1581,7 +1581,7 @@

86.41%

| Br_on_cast_fail (_, _, _) | Br_on_non_null _ | Br_on_null _ | Return_call _ | Return_call_indirect (_, _) - | Call _ + | Call _ | Call_indirect (_, _) | Call_ref _ | Return_call_ref _ | Array_get _ | Array_get_u _ | Array_new _ | Array_new_data (_, _) @@ -1594,66 +1594,66 @@

86.41%

| Struct_new _ | Struct_new_default _ | Struct_set (_, _) -> instr - and aux_expr expr = List.map aux_instr expr in + and aux_expr expr = List.map aux_instr expr in aux_expr body let remove_unused_locals locals nb_args body = - let unused_locals = + let unused_locals = let used_locals = locals_func body in - let locals = List.mapi (fun i _x -> Raw (nb_args + i)) locals in - List.filter (fun x -> not @@ Hashtbl.mem used_locals x) locals + let locals = List.mapi (fun i _x -> Raw (nb_args + i)) locals in + List.filter (fun x -> not @@ Hashtbl.mem used_locals x) locals in let rename_map = Hashtbl.create 16 in - List.iteri + List.iteri (fun j x -> - let name, _ = x in + let name, _ = x in let _x = Option.value name ~default:"anon" in - let count = ref 0 in + let count = ref 0 in for i = 0 to j do - if List.mem (Raw (nb_args + i)) unused_locals then incr count + if List.mem (Raw (nb_args + i)) unused_locals then incr count done; - if not @@ List.mem (Raw (nb_args + j)) unused_locals then begin + if not @@ List.mem (Raw (nb_args + j)) unused_locals then begin Hashtbl.replace rename_map (nb_args + j) (nb_args + j - !count) end ) locals; - let locals = List.mapi (fun i x -> (nb_args + i, x)) locals in - let locals = + let locals = List.mapi (fun i x -> (nb_args + i, x)) locals in + let locals = List.filter_map - (fun (i, x) -> if List.mem (Raw i) unused_locals then None else Some x) + (fun (i, x) -> if List.mem (Raw i) unused_locals then None else Some x) locals in - let body = remove_local rename_map body in - (locals, body) + let body = remove_local rename_map body in + (locals, body) let optimize_func (func : binary func) = - let { type_f; locals; body; id } = func in + let { type_f; locals; body; id } = func in let rec loop has_changed e = - if not has_changed then + if not has_changed then (* TODO: it should be enough to return e directly, but doing one more call to optimize_expr seems to perform more optimizations... *) - snd @@ optimize_expr e + snd @@ optimize_expr e else - let has_changed, e = optimize_expr e in - loop has_changed e + let has_changed, e = optimize_expr e in + loop has_changed e in let body = loop true body in - let (Bt_raw ((None | Some _), (pt, _))) = type_f in + let (Bt_raw ((None | Some _), (pt, _))) = type_f in let nb_args = List.length pt in - let locals, body = remove_unused_locals locals nb_args body in - { type_f; locals; body; id } + let locals, body = remove_unused_locals locals nb_args body in + { type_f; locals; body; id } let optimize_runtime_func f = - Indexed.map + Indexed.map (function - | Runtime.Imported _ as f -> f - | Local f -> Runtime.Local (optimize_func f) ) + | Runtime.Imported _ as f -> f + | Local f -> Runtime.Local (optimize_func f) ) f -let optimize_funcs funs = Named.map optimize_runtime_func funs +let optimize_funcs funs = Named.map optimize_runtime_func funs let modul m = - Log.debug0 "optimizing ...@\n"; - let func = optimize_funcs m.func in - { m with func } + Log.debug0 "optimizing ...@\n"; + let func = optimize_funcs m.func in + { m with func } diff --git a/coverage/src/parser/binary_parser.ml.html b/coverage/src/parser/binary_parser.ml.html index eb0b7e591..e692bd00f 100644 --- a/coverage/src/parser/binary_parser.ml.html +++ b/coverage/src/parser/binary_parser.ml.html @@ -2809,26 +2809,26 @@

71.41%

; size : int } - let size s = s.size + let size s = s.size - let is_empty input = input.size = 0 + let is_empty input = input.size = 0 let of_string str = - let size = String.length str in - { bytes = str; pt = 0; size } + let size = String.length str in + { bytes = str; pt = 0; size } let sub ~pos ~len input = - if pos <= input.size && len <= input.size - pos then - Ok { input with pt = input.pt + pos; size = len } + if pos <= input.size && len <= input.size - pos then + Ok { input with pt = input.pt + pos; size = len } else Error (`Msg (Fmt.str "length out of bounds in section")) - let sub_suffix pos input = sub ~pos ~len:(input.size - pos) input + let sub_suffix pos input = sub ~pos ~len:(input.size - pos) input - let sub_prefix len input = sub ~pos:0 ~len input + let sub_prefix len input = sub ~pos:0 ~len input let get n input = - if n < input.size then Some (String.get input.bytes (input.pt + n)) - else None + if n < input.size then Some (String.get input.bytes (input.pt + n)) + else None end let string_of_char_list char_list = @@ -2837,26 +2837,26 @@

71.41%

Buffer.contents buf let read_byte ~msg input = - match Input.get 0 input with + match Input.get 0 input with | None -> Error (`Msg msg) - | Some c -> - let+ next_input = Input.sub_suffix 1 input in - (c, next_input) + | Some c -> + let+ next_input = Input.sub_suffix 1 input in + (c, next_input) (* https://en.wikipedia.org/wiki/LEB128#Unsigned_LEB128 *) let read_UN n input = - let rec aux n input = - let* () = - if n <= 0 then Error (`Msg "integer representation too long") else Ok () + let rec aux n input = + let* () = + if n <= 0 then Error (`Msg "integer representation too long") else Ok () in - let* b, input = read_byte ~msg:"integer representation too long" input in - let b = Char.code b in - let* () = - if n >= 7 || b land 0x7f < 1 lsl n then Ok () + let* b, input = read_byte ~msg:"integer representation too long" input in + let b = Char.code b in + let* () = + if n >= 7 || b land 0x7f < 1 lsl n then Ok () else Error (`Msg "integer too large") in - let x = Int64.of_int (b land 0x7f) in - if b land 0x80 = 0 then Ok (x, input) + let x = Int64.of_int (b land 0x7f) in + if b land 0x80 = 0 then Ok (x, input) else (* TODO: make this tail-rec *) let+ i64, input = aux (n - 7) input in @@ -2865,26 +2865,26 @@

71.41%

aux n input let read_U32 input = - let+ i64, input = read_UN 32 input in - (Int64.to_int i64, input) + let+ i64, input = read_UN 32 input in + (Int64.to_int i64, input) (* https://en.wikipedia.org/wiki/LEB128#Signed_LEB128 *) let read_SN n input = - let rec aux n input = - let* () = - if n <= 0 then Error (`Msg "integer representation too long") else Ok () + let rec aux n input = + let* () = + if n <= 0 then Error (`Msg "integer representation too long") else Ok () in - let* b, input = read_byte ~msg:"integer representation too long" input in - let b = Char.code b in - let mask = (-1 lsl (n - 1)) land 0x7f in + let* b, input = read_byte ~msg:"integer representation too long" input in + let b = Char.code b in + let mask = (-1 lsl (n - 1)) land 0x7f in let* () = - if n >= 7 || b land mask = 0 || b land mask = mask then Ok () + if n >= 7 || b land mask = 0 || b land mask = mask then Ok () else Error (`Msg "integer too large") in - let x = Int64.of_int (b land 0x7f) in - if b land 0x80 = 0 then - let x = - if b land 0x40 = 0 then x else Int64.(logor x (logxor (-1L) 0x7fL)) + let x = Int64.of_int (b land 0x7f) in + if b land 0x80 = 0 then + let x = + if b land 0x40 = 0 then x else Int64.(logor x (logxor (-1L) 0x7fL)) in Ok (x, input) else @@ -2899,8 +2899,8 @@

71.41%

(Int64.to_int i64, input) let read_S32 input = - let+ i64, input = read_SN 32 input in - (Int64.to_int32 i64, input) + let+ i64, input = read_SN 32 input in + (Int64.to_int32 i64, input) let read_S33 input = let+ i64, input = read_SN 33 input in @@ -2949,22 +2949,22 @@

71.41%

(Float64.of_bits i64, input) let vector parse_elt input = - let* nb_elt, input = read_U32 input in - let rec loop loop_id input acc = - if nb_elt = loop_id then Ok (List.rev acc, input) + let* nb_elt, input = read_U32 input in + let rec loop loop_id input acc = + if nb_elt = loop_id then Ok (List.rev acc, input) else - let* acc_elt, input = parse_elt loop_id input in - let acc = acc_elt :: acc in + let* acc_elt, input = parse_elt loop_id input in + let acc = acc_elt :: acc in loop (loop_id + 1) input acc in loop 0 input [] -let vector_no_id f input = vector (fun _id -> f) input +let vector_no_id f input = vector (fun _id -> f) input let check_end_opcode ?unexpected_eoi_msg input = - let msg = Option.value unexpected_eoi_msg ~default:"END opcode expected" in - match read_byte ~msg input with - | Ok ('\x0B', input) -> Ok input + let msg = Option.value unexpected_eoi_msg ~default:"END opcode expected" in + match read_byte ~msg input with + | Ok ('\x0B', input) -> Ok input | Ok (c, _input) -> Error (`Msg (Fmt.str "END opcode expected (got %s instead)" (Char.escaped c))) @@ -3019,7 +3019,7 @@

71.41%

| Ok (t, input) -> Ok (Ref_type t, input) | Error _ as e -> e ) ) -let read_valtypes input = vector_no_id read_valtype input +let read_valtypes input = vector_no_id read_valtype input let read_mut input = let* b, input = read_byte ~msg:"read_mut" input in @@ -3098,8 +3098,8 @@

71.41%

let block_type_of_rec_type t = (* TODO: this is a ugly hack, it is necessary for now and should be removed at some point... *) - match t with - | [ (_id, (_final, _subtypes, Def_func_t (pt, rt))) ] -> + match t with + | [ (_id, (_final, _subtypes, Def_func_t (pt, rt))) ] -> Bt_raw (None, (pt, rt)) | _ -> assert false @@ -3118,8 +3118,8 @@

71.41%

end let rec read_instr types input = - let* b, input = read_byte ~msg:"read_instr" input in - match b with + let* b, input = read_byte ~msg:"read_instr" input in + match b with | '\x00' -> Ok (Unreachable, input) | '\x01' -> Ok (Nop, input) | '\x02' -> @@ -3165,7 +3165,7 @@

71.41%

let* Raw typeidx, input = read_indice input in let+ tableidx, input = read_indice input in (Call_indirect (tableidx, block_type_of_rec_type types.(typeidx)), input) - | '\x1A' -> Ok (Drop, input) + | '\x1A' -> Ok (Drop, input) | '\x1B' -> Ok (Select None, input) | '\x1C' -> let+ valtypes, input = read_valtypes input in @@ -3266,9 +3266,9 @@

71.41%

| '\x40' -> let+ input = check_zero_opcode input in (Memory_grow, input) - | '\x41' -> - let+ i32, input = read_S32 input in - (I32_const i32, input) + | '\x41' -> + let+ i32, input = read_S32 input in + (I32_const i32, input) | '\x42' -> let+ i64, input = read_S64 input in (I64_const i64, input) @@ -3315,7 +3315,7 @@

71.41%

| '\x67' -> Ok (I_unop (S32, Clz), input) | '\x68' -> Ok (I_unop (S32, Ctz), input) | '\x69' -> Ok (I_unop (S32, Popcnt), input) - | '\x6A' -> Ok (I_binop (S32, Add), input) + | '\x6A' -> Ok (I_binop (S32, Add), input) | '\x6B' -> Ok (I_binop (S32, Sub), input) | '\x6C' -> Ok (I_binop (S32, Mul), input) | '\x6D' -> Ok (I_binop (S32, Div S), input) @@ -3417,13 +3417,13 @@

71.41%

| c -> Error (`Msg (Fmt.str "illegal opcode (2) %s" (Char.escaped c))) and read_expr types input = - let rec aux acc input = - match read_byte ~msg:"read_expr" input with - | Ok (('\x05' | '\x0B'), _) -> Ok (List.rev acc, input) + let rec aux acc input = + match read_byte ~msg:"read_expr" input with + | Ok (('\x05' | '\x0B'), _) -> Ok (List.rev acc, input) | Error _ -> Ok (List.rev acc, input) - | Ok _ -> - let* instr, input = read_instr types input in - aux (instr :: acc) input + | Ok _ -> + let* instr, input = read_instr types input in + aux (instr :: acc) input in aux [] input @@ -3439,46 +3439,46 @@

71.41%

| Global of mut * 'b val_type let magic_check str = - if String.length str < 4 then Error (`Msg "unexpected end") + if String.length str < 4 then Error (`Msg "unexpected end") else - let magic = String.sub str 0 4 in - if String.equal magic "\x00\x61\x73\x6d" then Ok () + let magic = String.sub str 0 4 in + if String.equal magic "\x00\x61\x73\x6d" then Ok () else Error (`Msg "magic header not detected") let version_check str = - if String.length str < 8 then Error (`Msg "unexpected end") + if String.length str < 8 then Error (`Msg "unexpected end") else - let version = String.sub str 4 4 in - if String.equal version "\x01\x00\x00\x00" then Ok () + let version = String.sub str 4 4 in + if String.equal version "\x01\x00\x00\x00" then Ok () else Error (`Msg "unknown binary version") let check_section_id = function - | '\x00' .. '\x0C' -> Ok () + | '\x00' .. '\x0C' -> Ok () | c -> Error (`Msg (Fmt.str "malformed section id %s" (Char.escaped c))) let section_parse input ~expected_id default section_content_parse = - match Input.get 0 input with - | Some id when Char.equal id expected_id -> - let* () = check_section_id id in - let* input = Input.sub_suffix 1 input in - let* () = - if Input.size input = 0 then Error (`Msg "unexpected end") else Ok () + match Input.get 0 input with + | Some id when Char.equal id expected_id -> + let* () = check_section_id id in + let* input = Input.sub_suffix 1 input in + let* () = + if Input.size input = 0 then Error (`Msg "unexpected end") else Ok () in - let* size, input = read_U32 input in - let* () = - if size > Input.size input then Error (`Msg "length out of bounds") - else Ok () + let* size, input = read_U32 input in + let* () = + if size > Input.size input then Error (`Msg "length out of bounds") + else Ok () in - let* section_input = Input.sub_prefix size input in - let* next_input = Input.sub_suffix size input in - let* res, after_section_input = section_content_parse section_input in - if Input.size after_section_input > 0 then + let* section_input = Input.sub_prefix size input in + let* next_input = Input.sub_suffix size input in + let* res, after_section_input = section_content_parse section_input in + if Input.size after_section_input > 0 then Error (`Msg "section size mismatch") - else Ok (res, next_input) - | None -> Ok (default, input) - | Some id -> - let* () = check_section_id id in - Ok (default, input) + else Ok (res, next_input) + | None -> Ok (default, input) + | Some id -> + let* () = check_section_id id in + Ok (default, input) let parse_utf8_name input = let* () = @@ -3490,7 +3490,7 @@

71.41%

(name, input) let section_custom input = - let consume_to_end x input = + let consume_to_end x input = let+ input = Input.sub ~pos:0 ~len:0 input in (x, input) in @@ -3500,16 +3500,16 @@

71.41%

(Some name, input) let read_type _id input = - let* fcttype, input = read_byte ~msg:"read_type" input in - let* () = + let* fcttype, input = read_byte ~msg:"read_type" input in + let* () = match fcttype with - | '\x60' -> Ok () + | '\x60' -> Ok () | _ -> Error (`Msg "integer representation too long") in - let* params, input = read_valtypes input in - let+ results, input = read_valtypes input in - let params = List.map (fun param -> (None, param)) params in - ([ (None, (Final, [], Def_func_t (params, results))) ], input) + let* params, input = read_valtypes input in + let+ results, input = read_valtypes input in + let params = List.map (fun param -> (None, param)) params in + ([ (None, (Final, [], Def_func_t (params, results))) ], input) let read_global_type input = let* val_type, input = read_valtype input in @@ -3630,37 +3630,37 @@

71.41%

((n, t), input) let read_locals input = - let* nts, input = vector_no_id read_local input in - let ns = + let* nts, input = vector_no_id read_local input in + let ns = List.map (fun (n, _t) -> Convert.Int64.extend_i32_u @@ Int32.of_int n) nts in - let+ () = - if not @@ Int64.lt_u (List.fold_left Int64.add 0L ns) 0x1_0000_0000L then + let+ () = + if not @@ Int64.lt_u (List.fold_left Int64.add 0L ns) 0x1_0000_0000L then Error (`Msg "too many locals") - else Ok () + else Ok () in - let locals = List.map (fun (n, t) -> List.init n (fun _i -> (None, t))) nts in - let locals = List.flatten locals in - (locals, input) + let locals = List.map (fun (n, t) -> List.init n (fun _i -> (None, t))) nts in + let locals = List.flatten locals in + (locals, input) let read_code types input = - let* size, input = read_U32 input in - let* code_input = Input.sub_prefix size input in - let* next_input = Input.sub_suffix size input in - let* locals, code_input = read_locals code_input in - let* code, code_input = read_expr types code_input in - let* () = - if Input.size code_input = 0 && Input.size next_input = 0 then + let* size, input = read_U32 input in + let* code_input = Input.sub_prefix size input in + let* next_input = Input.sub_suffix size input in + let* locals, code_input = read_locals code_input in + let* code, code_input = read_expr types code_input in + let* () = + if Input.size code_input = 0 && Input.size next_input = 0 then Error (`Msg "unexpected end of section or function") - else Ok () + else Ok () in - let* code_input = - check_end_opcode ~unexpected_eoi_msg:"unexpected end of section or function" + let* code_input = + check_end_opcode ~unexpected_eoi_msg:"unexpected end of section or function" code_input in - if Input.size code_input > 0 then + if Input.size code_input > 0 then Error (`Msg "unexpected end of section or function") - else Ok ((locals, code), next_input) + else Ok ((locals, code), next_input) (* TODO: merge Elem and Data modes ? *) let read_data_active types input = @@ -3694,140 +3694,140 @@

71.41%

| i -> Error (`Msg (Fmt.str "malformed data segment kind %d" i)) let parse_many_custom_section input = - let rec aux acc input = - let* custom_section, input = section_custom input in - match custom_section with - | None -> Ok (List.rev acc, input) + let rec aux acc input = + let* custom_section, input = section_custom input in + match custom_section with + | None -> Ok (List.rev acc, input) | Some _ as custom_section -> aux (custom_section :: acc) input in aux [] input let sections_iterate (input : Input.t) = (* Custom *) - let* _custom_sections, input = parse_many_custom_section input in + let* _custom_sections, input = parse_many_custom_section input in (* Type *) - let* type_section, input = - section_parse input ~expected_id:'\x01' [] (vector read_type) + let* type_section, input = + section_parse input ~expected_id:'\x01' [] (vector read_type) in - let type_section = Array.of_list type_section in + let type_section = Array.of_list type_section in (* Custom *) - let* _custom_sections', input = parse_many_custom_section input in - let _custom_sections = _custom_sections @ _custom_sections' in + let* _custom_sections', input = parse_many_custom_section input in + let _custom_sections = _custom_sections @ _custom_sections' in (* Imports *) let* import_section, input = - section_parse input ~expected_id:'\x02' [] (vector_no_id read_import) + section_parse input ~expected_id:'\x02' [] (vector_no_id read_import) in (* Custom *) - let* _custom_sections', input = parse_many_custom_section input in - let _custom_sections = _custom_sections @ _custom_sections' in + let* _custom_sections', input = parse_many_custom_section input in + let _custom_sections = _custom_sections @ _custom_sections' in (* Function *) let* function_section, input = - section_parse input ~expected_id:'\x03' [] (vector_no_id read_U32) + section_parse input ~expected_id:'\x03' [] (vector_no_id read_U32) in (* Custom *) - let* _custom_sections', input = parse_many_custom_section input in - let _custom_sections = _custom_sections @ _custom_sections' in + let* _custom_sections', input = parse_many_custom_section input in + let _custom_sections = _custom_sections @ _custom_sections' in (* Tables *) let* table_section, input = - section_parse input ~expected_id:'\x04' [] (vector_no_id read_table) + section_parse input ~expected_id:'\x04' [] (vector_no_id read_table) in (* Custom *) - let* _custom_sections', input = parse_many_custom_section input in - let _custom_sections = _custom_sections @ _custom_sections' in + let* _custom_sections', input = parse_many_custom_section input in + let _custom_sections = _custom_sections @ _custom_sections' in (* Memory *) let* memory_section, input = - section_parse input ~expected_id:'\x05' [] (vector_no_id read_memory) + section_parse input ~expected_id:'\x05' [] (vector_no_id read_memory) in (* Custom *) - let* _custom_sections', input = parse_many_custom_section input in - let _custom_sections = _custom_sections @ _custom_sections' in + let* _custom_sections', input = parse_many_custom_section input in + let _custom_sections = _custom_sections @ _custom_sections' in (* Globals *) let* global_section, input = - section_parse input ~expected_id:'\x06' [] - (vector_no_id (read_global type_section)) + section_parse input ~expected_id:'\x06' [] + (vector_no_id (read_global type_section)) in (* Custom *) - let* _custom_sections', input = parse_many_custom_section input in - let _custom_sections = _custom_sections @ _custom_sections' in + let* _custom_sections', input = parse_many_custom_section input in + let _custom_sections = _custom_sections @ _custom_sections' in (* Exports *) let* export_section, input = - section_parse input ~expected_id:'\x07' [] (vector_no_id read_export) + section_parse input ~expected_id:'\x07' [] (vector_no_id read_export) in (* Custom *) - let* _custom_sections', input = parse_many_custom_section input in - let _custom_sections = _custom_sections @ _custom_sections' in + let* _custom_sections', input = parse_many_custom_section input in + let _custom_sections = _custom_sections @ _custom_sections' in (* Start *) let* start_section, input = - section_parse input ~expected_id:'\x08' None @@ fun input -> - let+ idx_start_func, input = read_U32 input in - (Some idx_start_func, input) + section_parse input ~expected_id:'\x08' None @@ fun input -> + let+ idx_start_func, input = read_U32 input in + (Some idx_start_func, input) in (* Custom *) - let* _custom_sections', input = parse_many_custom_section input in - let _custom_sections = _custom_sections @ _custom_sections' in + let* _custom_sections', input = parse_many_custom_section input in + let _custom_sections = _custom_sections @ _custom_sections' in (* Elements *) let* element_section, input = - section_parse input ~expected_id:'\x09' [] - @@ vector_no_id (read_element type_section) + section_parse input ~expected_id:'\x09' [] + @@ vector_no_id (read_element type_section) in (* Custom *) - let* _custom_sections', input = parse_many_custom_section input in - let _custom_sections = _custom_sections @ _custom_sections' in + let* _custom_sections', input = parse_many_custom_section input in + let _custom_sections = _custom_sections @ _custom_sections' in (* Data_count *) let* data_count_section, input = - section_parse input ~expected_id:'\x0C' None @@ fun input -> - let+ i, input = read_U32 input in - (Some i, input) + section_parse input ~expected_id:'\x0C' None @@ fun input -> + let+ i, input = read_U32 input in + (Some i, input) in (* Custom *) - let* _custom_sections', input = parse_many_custom_section input in - let _custom_sections = _custom_sections @ _custom_sections' in + let* _custom_sections', input = parse_many_custom_section input in + let _custom_sections = _custom_sections @ _custom_sections' in (* Code *) let* code_section, input = - section_parse input ~expected_id:'\x0A' [] - (vector_no_id (read_code type_section)) + section_parse input ~expected_id:'\x0A' [] + (vector_no_id (read_code type_section)) in - let* () = - if List.compare_lengths function_section code_section <> 0 then + let* () = + if List.compare_lengths function_section code_section <> 0 then Error (`Msg "function and code section have inconsistent lengths") - else Ok () + else Ok () in (* Custom *) - let* _custom_sections', input = parse_many_custom_section input in - let _custom_sections = _custom_sections @ _custom_sections' in + let* _custom_sections', input = parse_many_custom_section input in + let _custom_sections = _custom_sections @ _custom_sections' in (* Data *) let+ data_section, input = - section_parse input ~expected_id:'\x0B' [] - (vector_no_id (read_data type_section)) + section_parse input ~expected_id:'\x0B' [] + (vector_no_id (read_data type_section)) in - let* () = - match (List.length data_section, data_count_section) with - | 0, None -> Ok () + let* () = + match (List.length data_section, data_count_section) with + | 0, None -> Ok () | _data_len, None -> let code_use_dataidx = ref false in let f_iter = function @@ -3838,33 +3838,33 @@

71.41%

iter_expr f_iter expr; if !code_use_dataidx then Error (`Msg "data count section required") else Ok () - | data_len, Some data_count when data_len = data_count -> Ok () + | data_len, Some data_count when data_len = data_count -> Ok () | _ -> Error (`Msg "data count and data section have inconsistent lengths") in (* Custom *) (* TODO: actually use the various custom sections *) - let* _custom_sections', input = parse_many_custom_section input in - let _custom_sections = _custom_sections @ _custom_sections' in + let* _custom_sections', input = parse_many_custom_section input in + let _custom_sections = _custom_sections @ _custom_sections' in let+ () = - if not @@ Input.is_empty input then Error (`Msg "malformed section id") - else Ok () + if not @@ Input.is_empty input then Error (`Msg "malformed section id") + else Ok () in - let indexed_of_list l = List.mapi Indexed.return l in - let indexed_of_array l = Array.mapi Indexed.return l |> Array.to_list in + let indexed_of_list l = List.mapi Indexed.return l in + let indexed_of_array l = Array.mapi Indexed.return l |> Array.to_list in (* Types *) let types = let values = indexed_of_array type_section in - { Named.values; named = String_map.empty } + { Named.values; named = String_map.empty } in (* Memories *) let mem = let local = List.map (fun mem -> Runtime.Local mem) memory_section in - let imported = + let imported = List.filter_map (function | modul, name, Mem desc -> @@ -3873,14 +3873,14 @@

71.41%

| _not_a_memory_import -> None ) import_section in - let values = indexed_of_list (imported @ local) in - { Named.values; named = String_map.empty } + let values = indexed_of_list (imported @ local) in + { Named.values; named = String_map.empty } in (* Globals *) let global = let local = List.map (fun g -> Runtime.Local g) global_section in - let imported = + let imported = List.filter_map (function | modul, name, Global (mut, val_type) -> @@ -3890,8 +3890,8 @@

71.41%

| _not_a_global_import -> None ) import_section in - let values = indexed_of_list (imported @ local) in - { Named.values; named = String_map.empty } + let values = indexed_of_list (imported @ local) in + { Named.values; named = String_map.empty } in (* Functions *) @@ -3899,15 +3899,15 @@

71.41%

let local = List.map2 (fun typeidx (locals, body) -> - Runtime.Local - { type_f = block_type_of_rec_type type_section.(typeidx) + Runtime.Local + { type_f = block_type_of_rec_type type_section.(typeidx) ; locals ; body ; id = None } ) function_section code_section in - let imported = + let imported = List.filter_map (function | modul, name, Func typeidx -> @@ -3921,14 +3921,14 @@

71.41%

| _not_a_function_import -> None ) import_section in - let values = indexed_of_list (imported @ local) in - { Named.values; named = String_map.empty } + let values = indexed_of_list (imported @ local) in + { Named.values; named = String_map.empty } in (* Tables *) let table = let local = List.map (fun tbl -> Runtime.Local (None, tbl)) table_section in - let imported = + let imported = List.filter_map (function | modul, name, Table (limits, ref_type) -> @@ -3942,20 +3942,20 @@

71.41%

| _not_a_table_import -> None ) import_section in - let values = indexed_of_list (imported @ local) in - { Named.values; named = String_map.empty } + let values = indexed_of_list (imported @ local) in + { Named.values; named = String_map.empty } in (* Elems *) let elem = let values = indexed_of_list element_section in - { Named.values; named = String_map.empty } + { Named.values; named = String_map.empty } in (* Data *) let data = let values = indexed_of_list data_section in - { Named.values; named = String_map.empty } + { Named.values; named = String_map.empty } in (* Exports *) @@ -3979,11 +3979,11 @@

71.41%

| _ -> Fmt.failwith "read_exportdesc error" ) empty_exports export_section in - let exports = - { func = List.rev exports.func - ; table = List.rev exports.table - ; mem = List.rev exports.mem - ; global = List.rev exports.global + let exports = + { func = List.rev exports.func + ; table = List.rev exports.table + ; mem = List.rev exports.mem + ; global = List.rev exports.global } in @@ -4000,21 +4000,21 @@

71.41%

} let from_string content = - let* () = magic_check content in - let* () = version_check content in - let* input = Input.of_string content |> Input.sub_suffix 8 in - let* m = sections_iterate input in - m + let* () = magic_check content in + let* () = version_check content in + let* input = Input.of_string content |> Input.sub_suffix 8 in + let* m = sections_iterate input in + m let from_channel chan = - let content = In_channel.input_all chan in - from_string content + let content = In_channel.input_all chan in + from_string content let from_file (filename : Fpath.t) = - let* res = - Bos.OS.File.with_ic filename (fun chan () -> from_channel chan) () + let* res = + Bos.OS.File.with_ic filename (fun chan () -> from_channel chan) () in - res + res diff --git a/coverage/src/parser/parse.ml.html b/coverage/src/parser/parse.ml.html index 8d8438f23..6bd80a2ea 100644 --- a/coverage/src/parser/parse.ml.html +++ b/coverage/src/parser/parse.ml.html @@ -1463,14 +1463,14 @@

10.40%

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

10.40%

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

10.40%

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

96.93%

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

96.93%

let of_bits x = x -let to_bits x = x +let to_bits x = x -let is_inf x = Int32.eq x pos_inf || Int32.eq x neg_inf +let is_inf x = Int32.eq x pos_inf || Int32.eq x neg_inf let is_nan x = let xf = Int32.float_of_bits x in @@ -843,24 +843,24 @@

96.93%

canonicalize_nan nan let binary x op y = - let xf = to_float x in - let yf = to_float y in - let t = op xf yf in - if not @@ Float.is_nan t then of_float t else determine_binary_nan x y + let xf = to_float x in + let yf = to_float y in + let t = op xf yf in + if not @@ Float.is_nan t then of_float t else determine_binary_nan x y let unary op x = let t = op (to_float x) in if not @@ Float.is_nan t then of_float t else determine_unary_nan x -let zero = of_float 0.0 +let zero = of_float 0.0 -let add x y = binary x ( +. ) y +let add x y = binary x ( +. ) y -let sub x y = binary x ( -. ) y +let sub x y = binary x ( -. ) y -let mul x y = binary x ( *. ) y +let mul x y = binary x ( *. ) y -let div x y = binary x ( /. ) y +let div x y = binary x ( /. ) y let sqrt x = unary Float.sqrt x @@ -903,35 +903,35 @@

96.93%

if is_nan result then determine_unary_nan result else result let min x y = - let xf = to_float x in - let yf = to_float y in + let xf = to_float x in + let yf = to_float y in - if Float.is_nan xf || Float.is_nan yf then determine_binary_nan x y + if Float.is_nan xf || Float.is_nan yf then determine_binary_nan x y else - let delta = Float.compare xf yf in - if delta < 0 then x + let delta = Float.compare xf yf in + if delta < 0 then x else if delta > 0 then y else (* min -0 0 is -0 *) Int32.logor x y let max x y = - let xf = to_float x in - let yf = to_float y in + let xf = to_float x in + let yf = to_float y in - if Float.is_nan xf || Float.is_nan yf then determine_binary_nan x y + if Float.is_nan xf || Float.is_nan yf then determine_binary_nan x y else - let delta = Float.compare xf yf in - if delta < 0 then y - else if delta > 0 then x + let delta = Float.compare xf yf in + if delta < 0 then y + else if delta > 0 then x else (* max -0 0 is 0 *) Int32.logand x y (* abs, neg, copysign are purely bitwise operations, even on NaN values *) -let abs x = Int32.logand x Int32.max_int +let abs x = Int32.logand x Int32.max_int -let neg x = Int32.logxor x Int32.min_int +let neg x = Int32.logxor x Int32.min_int -let copy_sign x y = Int32.logor (abs x) (Int32.logand y Int32.min_int) +let copy_sign x y = Int32.logor (abs x) (Int32.logand y Int32.min_int) let eq x y = let x = to_float x in @@ -1009,19 +1009,19 @@

96.93%

*) let float_of_string_prevent_double_rounding s = (* First parse to a 64 bit float. *) - let z = match float_of_string s with None -> assert false | Some z -> z in + let z = match float_of_string s with None -> assert false | Some z -> z in (* If value is already infinite we are done. *) - if Float.compare (abs_float z) (1.0 /. 0.0) = 0 then z + if Float.compare (abs_float z) (1.0 /. 0.0) = 0 then z else (* Else, bit twiddling to see what rounding to target precision will do. *) - let open Int64 in + let open Int64 in let bits = bits_of_float z in - let lsb = shift_left 1L 29 in + let lsb = shift_left 1L 29 in (* Check for tie, i.e. whether the bits right of target LSB are 10000... *) - let tie = shift_right lsb 1 in - let mask = lognot (shift_left (-1L) 29) in + let tie = shift_right lsb 1 in + let mask = lognot (shift_left (-1L) 29) in (* If we have no tie, we are good. *) - if Int64.ne (logand bits mask) tie then z + if Int64.ne (logand bits mask) tie then z else (* Else, define epsilon to be the value of the tie bit. *) let exp = float_of_bits (logand bits 0xfff0_0000_0000_0000L) in @@ -1059,9 +1059,9 @@

96.93%

| _ -> z let of_signless_string s = - if String.equal s "inf" then pos_inf - else if String.equal s "nan" then pos_nan - else if String.length s > 6 && String.equal (String.sub s 0 6) "nan:0x" then + if String.equal s "inf" then pos_inf + else if String.equal s "nan" then pos_nan + else if String.length s > 6 && String.equal (String.sub s 0 6) "nan:0x" then let x = Int32.of_string (String.sub s 4 (String.length s - 4)) in if Int32.eq x Int32.zero then Fmt.failwith "nan payload must not be zero" else if Int32.ne (Int32.logand x bare_nan) Int32.zero then @@ -1070,16 +1070,16 @@

96.93%

Fmt.failwith "nan payload must not overlap with sign bit" else Int32.logor x bare_nan else - let s' = String.concat "" (String.split_on_char '_' s) in - let x = of_float (float_of_string_prevent_double_rounding s') in - if is_inf x then Log.err "of_string" else x + let s' = String.concat "" (String.split_on_char '_' s) in + let x = of_float (float_of_string_prevent_double_rounding s') in + if is_inf x then Log.err "of_string" else x let of_string s = - if String.equal s "" then Log.err "of_string" - else if Char.equal s.[0] '+' || Char.equal s.[0] '-' then - let x = of_signless_string (String.sub s 1 (String.length s - 1)) in - if Char.equal s.[0] '+' then x else neg x - else of_signless_string s + if String.equal s "" then Log.err "of_string" + else if Char.equal s.[0] '+' || Char.equal s.[0] '-' then + let x = of_signless_string (String.sub s 1 (String.length s - 1)) in + if Char.equal s.[0] '+' then x else neg x + else of_signless_string s (* String conversion that groups digits for readability *) @@ -1130,7 +1130,7 @@

96.93%

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

96.69%

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

96.69%

let of_bits x = x -let to_bits x = x +let to_bits x = x -let is_inf x = Int64.eq x pos_inf || Int64.eq x neg_inf +let is_inf x = Int64.eq x pos_inf || Int64.eq x neg_inf let is_nan x = let xf = Int64.float_of_bits x in @@ -845,24 +845,24 @@

96.69%

canonicalize_nan nan let binary x op y = - let xf = to_float x in - let yf = to_float y in - let t = op xf yf in - if not @@ Float.is_nan t then of_float t else determine_binary_nan x y + let xf = to_float x in + let yf = to_float y in + let t = op xf yf in + if not @@ Float.is_nan t then of_float t else determine_binary_nan x y let unary op x = let t = op (to_float x) in if not @@ Float.is_nan t then of_float t else determine_unary_nan x -let zero = of_float 0.0 +let zero = of_float 0.0 -let add x y = binary x ( +. ) y +let add x y = binary x ( +. ) y -let sub x y = binary x ( -. ) y +let sub x y = binary x ( -. ) y -let mul x y = binary x ( *. ) y +let mul x y = binary x ( *. ) y -let div x y = binary x ( /. ) y +let div x y = binary x ( /. ) y let sqrt x = unary Float.sqrt x @@ -904,35 +904,35 @@

96.69%

if is_nan result then determine_unary_nan result else result let min x y = - let xf = to_float x in - let yf = to_float y in + let xf = to_float x in + let yf = to_float y in - if Float.is_nan xf || Float.is_nan yf then determine_binary_nan x y + if Float.is_nan xf || Float.is_nan yf then determine_binary_nan x y else - let delta = Float.compare xf yf in - if delta < 0 then x + let delta = Float.compare xf yf in + if delta < 0 then x else if delta > 0 then y else (* min -0 0 is -0 *) Int64.logor x y let max x y = - let xf = to_float x in - let yf = to_float y in + let xf = to_float x in + let yf = to_float y in - if Float.is_nan xf || Float.is_nan yf then determine_binary_nan x y + if Float.is_nan xf || Float.is_nan yf then determine_binary_nan x y else - let delta = Float.compare xf yf in - if delta > 0 then x + let delta = Float.compare xf yf in + if delta > 0 then x else if delta < 0 then y else (* max -0 0 is 0 *) Int64.logand x y (* abs, neg, copysign are purely bitwise operations, even on NaN values *) -let abs x = Int64.logand x Int64.max_int +let abs x = Int64.logand x Int64.max_int -let neg x = Int64.logxor x Int64.min_int +let neg x = Int64.logxor x Int64.min_int -let copy_sign x y = Int64.logor (abs x) (Int64.logand y Int64.min_int) +let copy_sign x y = Int64.logor (abs x) (Int64.logand y Int64.min_int) let eq x y = let x = to_float x in @@ -968,37 +968,37 @@

96.69%

* Compare mantissa of two floats in string representation (hex or dec). * This is a gross hack to detect rounding during parsing of floats. *) -let is_hex = function '0' .. '9' | 'A' .. 'F' -> true | _ -> false +let is_hex = function '0' .. '9' | 'A' .. 'F' -> true | _ -> false -let is_exp hex c = Char.compare c (if hex then 'P' else 'E') = 0 +let is_exp hex c = Char.compare c (if hex then 'P' else 'E') = 0 -let at_end hex s i = i = String.length s || is_exp hex s.[i] +let at_end hex s i = i = String.length s || is_exp hex s.[i] let rec skip_non_hex s i = (* to skip sign, 'x', '.', '_', etc. *) - if at_end true s i || is_hex s.[i] then i else skip_non_hex s (i + 1) + if at_end true s i || is_hex s.[i] then i else skip_non_hex s (i + 1) let rec skip_zeroes s i = - let i' = skip_non_hex s i in - if at_end true s i' || Char.compare s.[i'] '0' <> 0 then i' + let i' = skip_non_hex s i in + if at_end true s i' || Char.compare s.[i'] '0' <> 0 then i' else skip_zeroes s (i' + 1) let rec compare_mantissa_str' hex s1 i1 s2 i2 = - let i1' = skip_non_hex s1 i1 in - let i2' = skip_non_hex s2 i2 in - match (at_end hex s1 i1', at_end hex s2 i2') with - | true, true -> 0 + let i1' = skip_non_hex s1 i1 in + let i2' = skip_non_hex s2 i2 in + match (at_end hex s1 i1', at_end hex s2 i2') with + | true, true -> 0 | true, false -> if at_end hex s2 (skip_zeroes s2 i2') then 0 else -1 | false, true -> if at_end hex s1 (skip_zeroes s1 i1') then 0 else 1 - | false, false -> ( + | false, false -> ( match Char.compare s1.[i1'] s2.[i2'] with - | 0 -> compare_mantissa_str' hex s1 (i1' + 1) s2 (i2' + 1) + | 0 -> compare_mantissa_str' hex s1 (i1' + 1) s2 (i2' + 1) | n -> n ) let compare_mantissa_str hex s1 s2 = - let s1' = String.uppercase_ascii s1 in - let s2' = String.uppercase_ascii s2 in - compare_mantissa_str' hex s1' (skip_zeroes s1' 0) s2' (skip_zeroes s2' 0) + let s1' = String.uppercase_ascii s1 in + let s2' = String.uppercase_ascii s2 in + compare_mantissa_str' hex s1' (skip_zeroes s1' 0) s2' (skip_zeroes s2' 0) (* * Convert a string to a float in target precision by going through @@ -1010,27 +1010,27 @@

96.69%

*) let float_of_string_prevent_double_rounding s = (* First parse to a 64 bit float. *) - let z = match float_of_string s with None -> assert false | Some z -> z in + let z = match float_of_string s with None -> assert false | Some z -> z in (* If value is already infinite we are done. *) - if Float.equal (abs_float z) (1.0 /. 0.0) then z + if Float.equal (abs_float z) (1.0 /. 0.0) then z else (* Else, bit twiddling to see what rounding to target precision will do. *) - let open Int64 in + let open Int64 in let bits = bits_of_float z in - let lsb = shift_left 1L 0 in + let lsb = shift_left 1L 0 in (* Check for tie, i.e. whether the bits right of target LSB are 10000... *) - let tie = shift_right lsb 1 in - let mask = lognot (shift_left (-1L) 0) in + let tie = shift_right lsb 1 in + let mask = lognot (shift_left (-1L) 0) in (* If we have no tie, we are good. *) - if Int64.ne (logand bits mask) tie then z + if Int64.ne (logand bits mask) tie then z else (* Else, define epsilon to be the value of the tie bit. *) - let exp = float_of_bits (logand bits 0xfff0_0000_0000_0000L) in - let eps = float_of_bits (logor tie (bits_of_float exp)) -. exp in + let exp = float_of_bits (logand bits 0xfff0_0000_0000_0000L) in + let eps = float_of_bits (logor tie (bits_of_float exp)) -. exp in (* Convert 64 bit float back to string to compare to input. *) let hex = String.contains s 'x' in - let s' = - if not hex then Fmt.str "%.*g" (String.length s) z + let s' = + if not hex then Fmt.str "%.*g" (String.length s) z else let m = logor (logand bits 0xf_ffff_ffff_ffffL) 0x10_0000_0000_0000L @@ -1057,12 +1057,12 @@

96.69%

match compare_mantissa_str hex s s' with | -1 -> z -. eps | 1 -> z +. eps - | _ -> z + | _ -> z let of_signless_string s = - if String.equal s "inf" then pos_inf - else if String.equal s "nan" then pos_nan - else if String.length s > 6 && String.equal (String.sub s 0 6) "nan:0x" then + if String.equal s "inf" then pos_inf + else if String.equal s "nan" then pos_nan + else if String.length s > 6 && String.equal (String.sub s 0 6) "nan:0x" then let x = Int64.of_string (String.sub s 4 (String.length s - 4)) in if Int64.eq x Int64.zero then Fmt.failwith "nan payload must not be zero" else if Int64.ne (Int64.logand x bare_nan) Int64.zero then @@ -1071,16 +1071,16 @@

96.69%

Fmt.failwith "nan payload must not overlap with sign bit" else Int64.logor x bare_nan else - let s' = String.concat "" (String.split_on_char '_' s) in - let x = of_float (float_of_string_prevent_double_rounding s') in - if is_inf x then Log.err "of_string" else x + let s' = String.concat "" (String.split_on_char '_' s) in + let x = of_float (float_of_string_prevent_double_rounding s') in + if is_inf x then Log.err "of_string" else x let of_string s = - if String.equal s "" then Log.err "of_string" - else if Char.equal s.[0] '+' || Char.equal s.[0] '-' then - let x = of_signless_string (String.sub s 1 (String.length s - 1)) in - if Char.equal s.[0] '+' then x else neg x - else of_signless_string s + if String.equal s "" then Log.err "of_string" + else if Char.equal s.[0] '+' || Char.equal s.[0] '-' then + let x = of_signless_string (String.sub s 1 (String.length s - 1)) in + if Char.equal s.[0] '+' then x else neg x + else of_signless_string s (* String conversion that groups digits for readability *) @@ -1131,7 +1131,7 @@

96.69%

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

98.47%

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

98.47%

(* If bit (32 - 1) is set, sx will sign-extend t to maintain the * invariant that small ints are stored sign-extended inside a wider int. *) let sx x = - Int64.to_int32 - @@ Int64.shift_right (Int64.shift_left (Int64.of_int32 x) 32) 32 + Int64.to_int32 + @@ Int64.shift_right (Int64.shift_left (Int64.of_int32 x) 32) 32 (* We don't override min_int and max_int since those are used * by other functions (like parsing), and rely on it being * min/max for int32 *) (* The smallest signed |32|-bits int. *) -let low_int = shift_left minus_one 31 +let low_int = shift_left minus_one 31 (* The largest signed |32|-bits int. *) -let high_int = logxor low_int minus_one +let high_int = logxor low_int minus_one (* WebAssembly's shifts mask the shift count according to the 32. *) -let shift f x y = f x (to_int (logand y 31l)) +let shift f x y = f x (to_int (logand y 31l)) -let shl x y = sx (shift shift_left x y) +let shl x y = sx (shift shift_left x y) -let shr_s x y = shift shift_right x y +let shr_s x y = shift shift_right x y -let shr_u x y = sx (shift shift_right_logical x y) +let shr_u x y = sx (shift shift_right_logical x y) let rotl x y = - let n = logand y 31l in - logor (shl x n) (shr_u x (sub 32l n)) + let n = logand y 31l in + logor (shl x n) (shr_u x (sub 32l n)) let rotr x y = - let n = logand y 31l in - logor (shr_u x n) (shl x (sub 32l n)) + let n = logand y 31l in + logor (shr_u x n) (shl x (sub 32l n)) let extend_s n x = - let shift = 32 - n in - shift_right (shift_left x shift) shift + let shift = 32 - n in + shift_right (shift_left x shift) shift (* String conversion that allows leading signs and unsigned values *) -let require b = if not b then Log.err "of_string (int32)" +let require b = if not b then Log.err "of_string (int32)" let dec_digit = function - | '0' .. '9' as c -> Char.code c - Char.code '0' + | '0' .. '9' as c -> Char.code c - Char.code '0' | _ -> Log.err "of_string" let hex_digit = function | '0' .. '9' as c -> Char.code c - Char.code '0' | 'a' .. 'f' as c -> 0xa + Char.code c - Char.code 'a' - | 'A' .. 'F' as c -> 0xa + Char.code c - Char.code 'A' + | 'A' .. 'F' as c -> 0xa + Char.code c - Char.code 'A' | _ -> Log.err "of_string" -let max_upper = unsigned_div minus_one 10l +let max_upper = unsigned_div minus_one 10l -let max_lower = unsigned_rem minus_one 10l +let max_lower = unsigned_rem minus_one 10l let sign_extend i = - let sign_bit = logand (of_int (1 lsl (32 - 1))) i in - if eq sign_bit zero then i + let sign_bit = logand (of_int (1 lsl (32 - 1))) i in + if eq sign_bit zero then i else (* Build a sign-extension mask *) - let sign_mask = shift_left minus_one 32 in - logor sign_mask i + let sign_mask = shift_left minus_one 32 in + logor sign_mask i let of_string s = - let len = String.length s in - let rec parse_hex i num = - if i = len then num - else if Char.equal s.[i] '_' then parse_hex (i + 1) num + let len = String.length s in + let rec parse_hex i num = + if i = len then num + else if Char.equal s.[i] '_' then parse_hex (i + 1) num else - let digit = of_int (hex_digit s.[i]) in - require (le_u num (shr_u minus_one (of_int 4))); - parse_hex (i + 1) (logor (shift_left num 4) digit) + let digit = of_int (hex_digit s.[i]) in + require (le_u num (shr_u minus_one (of_int 4))); + parse_hex (i + 1) (logor (shift_left num 4) digit) in let rec parse_dec i num = - if i = len then num - else if Char.equal s.[i] '_' then parse_dec (i + 1) num + if i = len then num + else if Char.equal s.[i] '_' then parse_dec (i + 1) num else - let digit = of_int (dec_digit s.[i]) in - require (lt_u num max_upper || (eq num max_upper && le_u digit max_lower)); - parse_dec (i + 1) (add (mul num 10l) digit) + let digit = of_int (dec_digit s.[i]) in + require (lt_u num max_upper || (eq num max_upper && le_u digit max_lower)); + parse_dec (i + 1) (add (mul num 10l) digit) in let parse_int i = - require (len - i > 0); - if i + 2 <= len && Char.equal s.[i] '0' && Char.equal s.[i + 1] 'x' then - parse_hex (i + 2) zero - else parse_dec i zero + require (len - i > 0); + if i + 2 <= len && Char.equal s.[i] '0' && Char.equal s.[i + 1] 'x' then + parse_hex (i + 2) zero + else parse_dec i zero in require (len > 0); - let parsed = + let parsed = match s.[0] with | '+' -> parse_int 1 - | '-' -> + | '-' -> let n = parse_int 1 in - require (ge (sub n one) minus_one); - neg n - | _ -> parse_int 0 + require (ge (sub n one) minus_one); + neg n + | _ -> parse_int 0 in let parsed = sign_extend parsed in - require (le low_int parsed && le parsed high_int); - parsed + require (le low_int parsed && le parsed high_int); + parsed diff --git a/coverage/src/primitives/int64.ml.html b/coverage/src/primitives/int64.ml.html index a1db079b8..3f999f979 100644 --- a/coverage/src/primitives/int64.ml.html +++ b/coverage/src/primitives/int64.ml.html @@ -405,21 +405,21 @@

96.92%

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

96.92%

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

96.92%

(* String conversion that allows leading signs and unsigned values *) -let require b = if not b then Log.err "of_string (int64)" +let require b = if not b then Log.err "of_string (int64)" let dec_digit = function - | '0' .. '9' as c -> Char.code c - Char.code '0' + | '0' .. '9' as c -> Char.code c - Char.code '0' | _ -> Log.err "of_string" let hex_digit = function @@ -485,11 +485,11 @@

96.92%

| 'A' .. 'F' as c -> 0xa + Char.code c - Char.code 'A' | _ -> Log.err "of_string" -let max_upper, max_lower = divrem_u minus_one 10L +let max_upper, max_lower = divrem_u minus_one 10L let of_string s = - let len = String.length s in - let rec parse_hex i num = + let len = String.length s in + let rec parse_hex i num = if i = len then num else if Char.equal s.[i] '_' then parse_hex (i + 1) num else @@ -498,31 +498,31 @@

96.92%

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

80.09%

module Host_externref = struct type t = int - let ty : t Type.Id.t = Type.Id.make () + let ty : t Type.Id.t = Type.Id.make () let value i = Concrete_value.Externref (Some (Concrete_value.E (ty, i))) end @@ -793,24 +793,24 @@

80.09%

let unsafe = false let run ~no_exhaustion ~optimize script = - let state = + let state = Link.extern_module Link.empty_state ~name:"spectest_extern" Spectest.extern_m in - let script = Spectest.m :: Register ("spectest", Some "spectest") :: script in + let script = Spectest.m :: Register ("spectest", Some "spectest") :: script in let debug_on = !Log.debug_on in let registered = ref false in let curr_module = ref 0 in list_fold_left (fun (link_state : Concrete_value.Func.extern_func Link.state) -> function - | Text.Text_module m -> - if !curr_module = 0 then Log.debug_on := false; - Log.debug0 "*** module@\n"; - incr curr_module; - let+ link_state = - Compile.Text.until_interpret link_state ~unsafe ~optimize ~name:None m + | Text.Text_module m -> + if !curr_module = 0 then Log.debug_on := false; + Log.debug0 "*** module@\n"; + incr curr_module; + let+ link_state = + Compile.Text.until_interpret link_state ~unsafe ~optimize ~name:None m in - Log.debug_on := debug_on; + Log.debug_on := debug_on; link_state | Text.Quoted_module m -> Log.debug0 "*** quoted module@\n"; @@ -925,11 +925,11 @@

80.09%

check_error_result expected got in link_state - | Register (name, mod_name) -> - if !curr_module = 1 && not !registered then Log.debug_on := false; - Log.debug0 "*** register@\n"; - let+ state = Link.register_module link_state ~name ~id:mod_name in - Log.debug_on := debug_on; + | Register (name, mod_name) -> + if !curr_module = 1 && not !registered then Log.debug_on := false; + Log.debug0 "*** register@\n"; + let+ state = Link.register_module link_state ~name ~id:mod_name in + Log.debug_on := debug_on; state | Action a -> Log.debug0 "*** action@\n"; @@ -938,8 +938,8 @@

80.09%

state script let exec ~no_exhaustion ~optimize script = - let+ _link_state = run ~no_exhaustion ~optimize script in - () + let+ _link_state = run ~no_exhaustion ~optimize script in + () diff --git a/coverage/src/script/spectest.ml.html b/coverage/src/script/spectest.ml.html index f60013e0e..b83f49201 100644 --- a/coverage/src/script/spectest.ml.html +++ b/coverage/src/script/spectest.ml.html @@ -461,7 +461,7 @@

83.33%

let extern_m = let print = () in - let print_i32 i = pr "%li@\n%!" i in + let print_i32 i = pr "%li@\n%!" i in let print_i64 i = pr "%Li@\n%!" i in let print_f32 f = pr "%a@\n%!" Float32.pp f in let print_f64 f = pr "%a@\n%!" Float64.pp f in @@ -605,12 +605,12 @@

83.33%

} ; MGlobal { typ = (Const, Num_type F32) - ; init = [ F32_const (Float32.of_float 666.6) ] + ; init = [ F32_const (Float32.of_float 666.6) ] ; id = Some "global_f32" } ; MGlobal { typ = (Const, Num_type F64) - ; init = [ F64_const (Float64.of_float 666.6) ] + ; init = [ F64_const (Float64.of_float 666.6) ] ; id = Some "global_f64" } ; MExport { name = "func"; desc = Export_func (Some (Text "func")) } diff --git a/coverage/src/symbolic/solver.ml.html b/coverage/src/symbolic/solver.ml.html index 3f59db331..389924653 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 337a17fb5..d0a767a55 100644 --- a/coverage/src/symbolic/symbolic.ml.html +++ b/coverage/src/symbolic/symbolic.ml.html @@ -354,9 +354,9 @@

83.87%

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

83.87%

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

83.87%

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

83.87%

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

83.87%

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

83.87%

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

83.87%

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

95.69%

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

95.69%

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

95.69%

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

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 - | ETrap _ as mx -> M.return mx - | EAssert _ as mx -> M.return mx + 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) - | ETrap _ as mx -> mx - | EAssert _ as mx -> mx + match mx with + | EVal x -> EVal (f x) + | ETrap _ as mx -> mx + | EAssert _ as mx -> mx let ( let+ ) = map end @@ -1258,57 +1258,57 @@

95.69%

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

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 - let n = Thread.symbols thread in - let sym = Fmt.kstr (Smtml.Symbol.make ty) "symbol_%d" n in - let+ () = - modify_thread (fun thread -> - let thread = Thread.add_symbol thread sym in - Thread.incr_symbols thread ) + let* thread in + let n = Thread.symbols thread in + let sym = Fmt.kstr (Smtml.Symbol.make ty) "symbol_%d" n in + let+ () = + modify_thread (fun thread -> + let thread = Thread.add_symbol thread sym in + Thread.incr_symbols thread ) in - f sym + f sym (* Yielding is currently done each time the solver is about to be called, @@ -1349,120 +1349,120 @@

95.69%

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

94.87%

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

94.87%

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

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

94.87%

let value v = v.value -let set_value v x = v.value <- x +let set_value v x = v.value <- x let mut v = v.orig.mut -let typ v = v.orig.typ +let typ v = v.orig.typ diff --git a/coverage/src/symbolic/symbolic_memory.ml.html b/coverage/src/symbolic/symbolic_memory.ml.html index 3ca16474c..ba6f5ad76 100644 --- a/coverage/src/symbolic/symbolic_memory.ml.html +++ b/coverage/src/symbolic/symbolic_memory.ml.html @@ -562,7 +562,7 @@

66.67%

module Ty = Smtml.Ty open Expr -let page_size = Symbolic_value.const_i32 65_536l +let page_size = Symbolic_value.const_i32 65_536l type t = { data : (Int32.t, Value.int32) Hashtbl.t @@ -760,7 +760,7 @@

66.67%

type collection = t ITbl.t Env_id.Tbl.t -let init () = Env_id.Tbl.create 0 +let init () = Env_id.Tbl.create 0 let iter f collection = Env_id.Tbl.iter (fun _ tbl -> f tbl) collection diff --git a/coverage/src/symbolic/symbolic_memory_concretizing.ml.html b/coverage/src/symbolic/symbolic_memory_concretizing.ml.html index 0a8777c0b..22c6b9538 100644 --- a/coverage/src/symbolic/symbolic_memory_concretizing.ml.html +++ b/coverage/src/symbolic/symbolic_memory_concretizing.ml.html @@ -342,47 +342,47 @@

91.67%

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

91.67%

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

91.67%

(_, Sign_extend 24, ({ node = Symbol { ty = Ty_bitv 8; _ }; _ } as sym)) -> sym - | _ -> Expr.make (Extract (v, pos + 1, pos)) + | _ -> Expr.make (Extract (v, pos + 1, pos)) let storen m a v n = - for i = 0 to n - 1 do - let a' = Int32.add a (Int32.of_int i) in - let v' = extract v i in - Hashtbl.replace m.data a' v' + for i = 0 to n - 1 do + let a' = Int32.add a (Int32.of_int i) in + let v' = extract v i in + Hashtbl.replace m.data a' v' done let validate_address m a = - let open Symbolic_choice_without_memory in + let open Symbolic_choice_without_memory in match Smtml.Expr.view a with - | Val (Num (I32 _)) -> return (Ok a) (* An i32 is a valid address *) - | Ptr { base; offset } -> ( + | Val (Num (I32 _)) -> return (Ok a) (* An i32 is a valid address *) + | Ptr { base; offset } -> ( let open Symbolic_value in (* A pointer is valid if it's within bounds. *) match Hashtbl.find m.chunks base with | exception Not_found -> return (Error Trap.Memory_leak_use_after_free) - | size -> - let+ is_out_of_bounds = select (I32.ge_u offset size) in - if is_out_of_bounds then Error Trap.Memory_heap_buffer_overflow - else Ok a ) + | size -> + let+ is_out_of_bounds = select (I32.ge_u offset size) in + if is_out_of_bounds then Error Trap.Memory_heap_buffer_overflow + else Ok a ) | _ -> (* A symbolic expression should be a valid address *) return (Ok a) let ptr v = - let open Symbolic_choice_without_memory in + let open Symbolic_choice_without_memory in match Expr.view v with - | Ptr { base; _ } -> return base + | Ptr { base; _ } -> return base | _ -> Log.debug2 {|free: cannot fetch pointer base of "%a"|} Expr.pp v; let* () = add_pc @@ Expr.value False in assert false let free m p = - let open Symbolic_choice_without_memory in - let+ base = ptr p in - if not @@ Hashtbl.mem m.chunks base then + let open Symbolic_choice_without_memory in + let+ base = ptr p in + if not @@ Hashtbl.mem m.chunks base then Fmt.failwith "Memory leak double free"; - Hashtbl.remove m.chunks base + Hashtbl.remove m.chunks base let realloc m ~ptr ~size = - let open Symbolic_choice_without_memory in - let+ base = address ptr in - Hashtbl.replace m.chunks base size; - Expr.ptr base (Symbolic_value.const_i32 0l) + let open Symbolic_choice_without_memory in + let+ base = address ptr in + Hashtbl.replace m.chunks base size; + Expr.ptr base (Symbolic_value.const_i32 0l) end include Symbolic_memory_make.Make (Backend) diff --git a/coverage/src/symbolic/symbolic_memory_make.ml.html b/coverage/src/symbolic/symbolic_memory_make.ml.html index 42ad8dc4d..bb2db9bd4 100644 --- a/coverage/src/symbolic/symbolic_memory_make.ml.html +++ b/coverage/src/symbolic/symbolic_memory_make.ml.html @@ -397,7 +397,7 @@

88.71%

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

88.71%

(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 @@ -448,29 +448,29 @@

88.71%

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 = - let open Symbolic_choice_without_memory in - let* addr = Backend.validate_address m a 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 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 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 + let open Symbolic_choice_without_memory in + let+ a = must_be_valid_address m.data a 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 let load_8_u m a = - let open Symbolic_choice_without_memory in - let+ a = must_be_valid_address m.data a 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 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 @@ -489,9 +489,9 @@

88.71%

| _ -> Smtml.Expr.cvtop (Ty_bitv 32) (Zero_extend 16) v let load_32 m a = - let open Symbolic_choice_without_memory in - let+ a = must_be_valid_address m.data a in - Backend.loadn m.data a 4 + let open Symbolic_choice_without_memory in + let+ a = must_be_valid_address m.data a in + Backend.loadn m.data a 4 let load_64 m a = let open Symbolic_choice_without_memory in @@ -499,9 +499,9 @@

88.71%

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 in - Backend.storen m.data a v 1 + let open Symbolic_choice_without_memory in + let+ a = must_be_valid_address m.data addr in + Backend.storen m.data a v 1 let store_16 m ~addr v = let open Symbolic_choice_without_memory in @@ -509,42 +509,42 @@

88.71%

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

88.71%

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 d4a1f3678..c84fdc3c0 100644 --- a/coverage/src/symbolic/symbolic_table.ml.html +++ b/coverage/src/symbolic/symbolic_table.ml.html @@ -224,7 +224,7 @@

71.11%

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

71.11%

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

71.11%

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

71.11%

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

84.84%

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

84.84%

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

84.84%

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

84.84%

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

84.84%

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

84.84%

let rem e1 e2 = binop ty Rem e1 e2 - let unsigned_rem e1 e2 = binop ty RemU e1 e2 + let unsigned_rem e1 e2 = binop ty RemU e1 e2 let boolify e = - match view e with - | Val (Num (I32 0l)) -> Some (Bool.const false) - | Val (Num (I32 1l)) -> Some (Bool.const true) - | Cvtop (_, OfBool, cond) -> Some cond - | _ -> None + match view e with + | Val (Num (I32 0l)) -> Some (Bool.const false) + | Val (Num (I32 1l)) -> Some (Bool.const true) + | Cvtop (_, OfBool, cond) -> Some cond + | _ -> None let logand e1 e2 = - match (boolify e1, boolify e2) with - | Some b1, Some b2 -> Bool.int32 (Bool.and_ b1 b2) - | _ -> binop ty And e1 e2 + match (boolify e1, boolify e2) with + | Some b1, Some b2 -> Bool.int32 (Bool.and_ b1 b2) + | _ -> binop ty And e1 e2 let logor e1 e2 = match (boolify e1, boolify e2) with @@ -1127,57 +1127,57 @@

84.84%

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

84.84%

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

84.84%

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

84.84%

module F64 = struct let ty = Ty_fp 64 - let zero = const_f64 Float64.zero + let zero = const_f64 Float64.zero let abs x = unop ty Abs x diff --git a/coverage/src/symbolic/symbolic_wasm_ffi.ml.html b/coverage/src/symbolic/symbolic_wasm_ffi.ml.html index 662b901f6..23830dd73 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 -> @@ -278,7 +278,7 @@

100.00%

Choice.with_new_symbol (Ty_bitv 8) (fun sym -> Expr.make (Cvtop (Ty_bitv 32, Zero_extend 24, Expr.symbol sym)) ) - let symbol_i32 () = Choice.with_new_symbol (Ty_bitv 32) Expr.symbol + let symbol_i32 () = Choice.with_new_symbol (Ty_bitv 32) Expr.symbol let symbol_i64 () = Choice.with_new_symbol (Ty_bitv 64) Expr.symbol @@ -289,10 +289,10 @@

100.00%

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

100.00%

} let create symbols symbol_set pc memories tables globals breadcrumbs = - { symbols; symbol_set; pc; memories; tables; globals; breadcrumbs } + { symbols; symbol_set; pc; memories; tables; globals; breadcrumbs } let init () = - let symbols = 0 in + let symbols = 0 in let symbol_set = [] in let pc = [] in let memories = Memory.init () in - let tables = Symbolic_table.init () in - let globals = Symbolic_global.init () in - let breadcrumbs = [] in + let tables = Symbolic_table.init () in + let globals = Symbolic_global.init () in + let breadcrumbs = [] in create symbols symbol_set pc memories tables globals breadcrumbs - let symbols t = t.symbols + let symbols t = t.symbols - let symbols_set t = t.symbol_set + let symbols_set t = t.symbol_set - let pc t = t.pc + let pc t = t.pc - let memories t = t.memories + let memories t = t.memories - let tables t = t.tables + let tables t = t.tables - let globals t = t.globals + let globals t = t.globals - let breadcrumbs t = t.breadcrumbs + let breadcrumbs t = t.breadcrumbs - let add_symbol t s = { t with symbol_set = s :: t.symbol_set } + let add_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 54a70c9f3..5ed6cc7d8 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 + 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 69ccc4187..d4e210af6 100644 --- a/coverage/src/symbolic/thread_without_memory.ml.html +++ b/coverage/src/symbolic/thread_without_memory.ml.html @@ -56,7 +56,7 @@

100.00%

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

100.00%

{ declared_types; func_types; named_types; last_assigned_int; all_types } let assign_heap_type (acc : type_acc) typ : type_acc Result.t = - let { func_types; last_assigned_int; all_types; _ } = acc in - let+ typ = Binary_types.convert_func_type None typ in - let typ = Def_func_t typ in + let { func_types; last_assigned_int; all_types; _ } = acc in + let+ typ = Binary_types.convert_func_type None typ in + let typ = Def_func_t typ in match TypeMap.find_opt typ all_types with - | Some _id -> acc - | None -> + | Some _id -> acc + | None -> let id = last_assigned_int in let last_assigned_int = succ last_assigned_int in - let all_types = TypeMap.add typ id all_types in - let func_types = + let all_types = TypeMap.add typ id all_types in + let func_types = match typ with - | Def_func_t _ftype -> Indexed.return id typ :: func_types + | Def_func_t _ftype -> Indexed.return id typ :: func_types | Def_array_t (_mut, _storage_type) -> assert false | Def_struct_t _ -> assert false in { acc with func_types; last_assigned_int; all_types } let assign_types (modul : Grouped.t) : binary str_type Named.t Result.t = - let empty_acc : type_acc = + let empty_acc : type_acc = { declared_types = [] ; func_types = [] ; named_types = String_map.empty @@ -451,32 +451,32 @@

100.00%

; all_types = TypeMap.empty } in - let* acc = list_fold_left assign_type empty_acc (List.rev modul.typ) in - let+ acc = - list_fold_left assign_heap_type acc (List.rev modul.function_type) + let* acc = list_fold_left assign_type empty_acc (List.rev modul.typ) in + let+ acc = + list_fold_left assign_heap_type acc (List.rev modul.function_type) in - let values = List.rev acc.declared_types @ List.rev acc.func_types in + let values = List.rev acc.declared_types @ List.rev acc.func_types in { Named.values; named = acc.named_types } let get_runtime_name (get_name : 'a -> string option) (elt : ('a, 'b) Runtime.t) : string option = - match elt with - | Local v -> get_name v - | Imported { assigned_name; _ } -> assigned_name + match elt with + | Local v -> get_name v + | Imported { assigned_name; _ } -> assigned_name let name kind ~get_name values = - let assign_one (named : int String_map.t) (elt : _ Indexed.t) = - let elt_v = Indexed.get elt in - match get_name elt_v with - | None -> Ok named - | Some name -> + let assign_one (named : int String_map.t) (elt : _ Indexed.t) = + let elt_v = Indexed.get elt in + match get_name elt_v with + | None -> Ok named + | Some name -> let index = Indexed.get_index elt in - if String_map.mem name named then + if String_map.mem name named then Error (`Msg (Fmt.str "duplicate %s %s" kind name)) - else ok @@ String_map.add name index named + else ok @@ String_map.add name index named in - let+ named = list_fold_left assign_one String_map.empty values in - { Named.values; named } + let+ named = list_fold_left assign_one String_map.empty values in + { Named.values; named } let check_type_id (types : binary str_type Named.t) ((id, func_type) : Grouped.type_check) = @@ -494,36 +494,36 @@

100.00%

| Some _ -> assert false let of_grouped (modul : Grouped.t) : t Result.t = - Log.debug0 "assigning ...@\n"; - let* typ = assign_types modul in - let* global = - name "global" - ~get_name:(get_runtime_name (fun ({ id; _ } : Text.global) -> id)) + Log.debug0 "assigning ...@\n"; + let* typ = assign_types modul in + let* global = + name "global" + ~get_name:(get_runtime_name (fun ({ id; _ } : Text.global) -> id)) modul.global in - let* table = - name "table" - ~get_name:(get_runtime_name (fun ((id, _) : binary table) -> id)) + let* table = + name "table" + ~get_name:(get_runtime_name (fun ((id, _) : binary table) -> id)) modul.table in - let* mem = - name "mem" - ~get_name:(get_runtime_name (fun ((id, _) : mem) -> id)) + let* mem = + name "mem" + ~get_name:(get_runtime_name (fun ((id, _) : mem) -> id)) modul.mem in - let* func = - name "func" - ~get_name:(get_runtime_name (fun ({ id; _ } : text func) -> id)) + let* func = + name "func" + ~get_name:(get_runtime_name (fun ({ id; _ } : text func) -> id)) modul.func in - let* elem = - name "elem" ~get_name:(fun (elem : Text.elem) -> elem.id) modul.elem + let* elem = + name "elem" ~get_name:(fun (elem : Text.elem) -> elem.id) modul.elem in - let* data = - name "data" ~get_name:(fun (data : Text.data) -> data.id) modul.data + let* data = + name "data" ~get_name:(fun (data : Text.data) -> data.id) modul.data in - let+ () = list_iter (check_type_id typ) modul.type_checks in - { id = modul.id + let+ () = list_iter (check_type_id typ) modul.type_checks in + { id = modul.id ; typ ; global ; table diff --git a/coverage/src/text_to_binary/grouped.ml.html b/coverage/src/text_to_binary/grouped.ml.html index 46c50d7ca..3f5f887c6 100644 --- a/coverage/src/text_to_binary/grouped.ml.html +++ b/coverage/src/text_to_binary/grouped.ml.html @@ -457,7 +457,7 @@

100.00%

} let curr_id (curr : int) (i : text indice option) = - match i with None -> Curr (pred curr) | Some id -> Indice id + match i with None -> Curr (pred curr) | Some id -> Indice id type t = { id : string option @@ -479,10 +479,10 @@

100.00%

} let imp (import : text import) (assigned_name, desc) : 'a Imported.t = - { modul = import.modul; name = import.name; assigned_name; desc } + { modul = import.modul; name = import.name; assigned_name; desc } let empty_module id = - { id + { id ; typ = [] ; function_type = [] ; type_checks = [] @@ -508,24 +508,24 @@

100.00%

let init_curr = { global = 0; table = 0; mem = 0; func = 0; elem = 0; data = 0 } let add_global value (fields : t) (curr : curr) = - let index = curr.global in - ( { fields with global = Indexed.return index value :: fields.global } - , { curr with global = succ curr.global } ) + let index = curr.global in + ( { fields with global = Indexed.return index value :: fields.global } + , { curr with global = succ curr.global } ) let add_table value (fields : t) (curr : curr) = - let index = curr.table in - ( { fields with table = Indexed.return index value :: fields.table } - , { curr with table = succ curr.table } ) + let index = curr.table in + ( { fields with table = Indexed.return index value :: fields.table } + , { curr with table = succ curr.table } ) let add_mem value (fields : t) (curr : curr) = - let index = curr.mem in - ( { fields with mem = Indexed.return index value :: fields.mem } - , { curr with mem = succ curr.mem } ) + let index = curr.mem in + ( { fields with mem = Indexed.return index value :: fields.mem } + , { curr with mem = succ curr.mem } ) let add_func value (fields : t) (curr : curr) = - let index = curr.func in - ( { fields with func = Indexed.return index value :: fields.func } - , { curr with func = succ curr.func } ) + let index = curr.func in + ( { fields with func = Indexed.return index value :: fields.func } + , { curr with func = succ curr.func } ) let add_elem value (fields : t) (curr : curr) = let index = curr.elem in @@ -538,73 +538,73 @@

100.00%

, { curr with data = succ curr.data } ) let declare_func_type type_f (fields : t) = - match type_f with + match type_f with | Bt_ind _ -> fields - | Bt_raw (id, typ) -> + | Bt_raw (id, typ) -> let type_checks = match id with - | None -> fields.type_checks + | None -> fields.type_checks | Some id -> (id, typ) :: fields.type_checks in { fields with function_type = typ :: fields.function_type; type_checks } let of_symbolic (modul : Text.modul) : t Result.t = - Log.debug0 "grouping ...@\n"; - let add ((fields : t), curr) field : (t * curr) Result.t = - match field with + Log.debug0 "grouping ...@\n"; + let add ((fields : t), curr) field : (t * curr) Result.t = + match field with | Text.MType typ -> let typ = typ @ fields.typ in Ok ({ fields with typ }, curr) - | MGlobal global -> ok @@ add_global (Local global) fields curr + | MGlobal global -> ok @@ add_global (Local global) fields curr | MImport ({ desc = Import_global (a, (mut, val_type)); _ } as import) -> let+ val_type = Binary_types.convert_val_type None val_type in let b = (mut, val_type) in let imported = imp import (a, b) in add_global (Imported imported) fields curr - | MExport { name; desc = Export_global id } -> + | MExport { name; desc = Export_global id } -> let id = curr_id curr.global id in - let exports = + let exports = { fields.exports with global = { name; id } :: fields.exports.global } in Ok ({ fields with exports }, curr) - | MTable table -> + | MTable table -> let id, table_type = table in - let+ table_type = Binary_types.convert_table_type None table_type in - let table = (id, table_type) in + let+ table_type = Binary_types.convert_table_type None table_type in + let table = (id, table_type) in add_table (Local table) fields curr | MImport ({ desc = Import_table (id, table_type); _ } as import) -> let+ table_type = Binary_types.convert_table_type None table_type in let imported = imp import (id, table_type) in add_table (Imported imported) fields curr - | MExport { name; desc = Export_table id } -> + | MExport { name; desc = Export_table id } -> let id = curr_id curr.table id in - let exports = + let exports = { fields.exports with table = { name; id } :: fields.exports.table } in Ok ({ fields with exports }, curr) - | MMem mem -> ok @@ add_mem (Local mem) fields curr + | MMem mem -> ok @@ add_mem (Local mem) fields curr | MImport ({ desc = Import_mem (id, limits); _ } as import) -> let imported = imp import (id, limits) in ok @@ add_mem (Imported imported) fields curr - | MExport { name; desc = Export_mem id } -> + | MExport { name; desc = Export_mem id } -> let id = curr_id curr.mem id in - let exports = + let exports = { fields.exports with mem = { name; id } :: fields.exports.mem } in Ok ({ fields with exports }, curr) - | MFunc func -> + | MFunc func -> let fields = declare_func_type func.type_f fields in - let index = curr.func in + let index = curr.func in let value = Runtime.Local func in - let func = Indexed.return index value :: fields.func in - Ok ({ fields with func }, { curr with func = succ curr.func }) - | MImport ({ desc = Import_func (a, type_f); _ } as import) -> - let imported : text block_type Imported.t = imp import (a, type_f) in + let func = Indexed.return index value :: fields.func in + Ok ({ fields with func }, { curr with func = succ curr.func }) + | MImport ({ desc = Import_func (a, type_f); _ } as import) -> + let imported : text block_type Imported.t = imp import (a, type_f) in let fields = declare_func_type type_f fields in - ok @@ add_func (Imported imported) fields curr - | MExport { name; desc = Export_func id } -> + ok @@ add_func (Imported imported) fields curr + | MExport { name; desc = Export_func id } -> let id = curr_id curr.func id in - let exports = + let exports = { fields.exports with func = { name; id } :: fields.exports.func } in Ok ({ fields with exports }, curr) @@ -627,12 +627,12 @@

100.00%

in let data : Text.data = { id = data.id; init = data.init; mode } in ok @@ add_data data fields curr - | MStart start -> Ok ({ fields with start = Some start }, curr) + | MStart start -> Ok ({ fields with start = Some start }, curr) in let+ modul, _curr = - list_fold_left add (empty_module modul.id, init_curr) modul.fields + list_fold_left add (empty_module modul.id, init_curr) modul.fields in - modul + modul diff --git a/coverage/src/text_to_binary/rewrite.ml.html b/coverage/src/text_to_binary/rewrite.ml.html index 4d8e97f77..d61d274b3 100644 --- a/coverage/src/text_to_binary/rewrite.ml.html +++ b/coverage/src/text_to_binary/rewrite.ml.html @@ -933,22 +933,22 @@

88.66%

module StrType = struct type t = binary str_type - let compare (x : t) (y : t) = Types.compare_str_type x y + let compare (x : t) (y : t) = Types.compare_str_type x y end module TypeMap = Map.Make (StrType) let typemap (types : binary str_type Named.t) = - Named.fold - (fun idx typ acc -> TypeMap.add typ (Raw idx) acc) + Named.fold + (fun idx typ acc -> TypeMap.add typ (Raw idx) acc) types TypeMap.empty -let find (named : 'a Named.t) : _ -> binary indice = function - | Raw _i as indice -> indice - | Text name -> ( +let find (named : 'a Named.t) : _ -> binary indice = function + | Raw _i as indice -> indice + | Text name -> ( match String_map.find_opt name named.named with | None -> assert false - | Some i -> Raw i ) + | Some i -> Raw i ) let get error (named : 'a Named.t) indice : 'a Indexed.t Result.t = let (Raw i) = find named indice in @@ -962,7 +962,7 @@

88.66%

let rewrite_expr (modul : Assigned.t) (locals : binary param list) (iexpr : text expr) : binary expr Result.t = (* block_ids handling *) - let block_id_to_raw (loop_count, block_ids) id = + let block_id_to_raw (loop_count, block_ids) id = let* id = match id with | Text id -> begin @@ -1007,40 +1007,40 @@

88.66%

let bt_to_raw : text block_type option -> binary block_type option Result.t = function - | None -> Ok None + | None -> Ok None | Some bt -> let+ raw = bt_some_to_raw bt in Some raw in let* locals, _after_last_assigned_local = - list_fold_left + list_fold_left (fun (locals, next_free_int) ((name, _type) : binary param) -> - match name with + match name with | None -> Ok (locals, next_free_int + 1) - | Some name -> + | Some name -> if String_map.mem name locals then Error (`Duplicate_local name) - else Ok (String_map.add name next_free_int locals, next_free_int + 1) + else Ok (String_map.add name next_free_int locals, next_free_int + 1) ) (String_map.empty, 0) locals in - let find_local = function + let find_local = function | Raw _i as id -> id - | Text name -> ( + | Text name -> ( match String_map.find_opt name locals with | None -> assert false - | Some id -> Raw id ) + | Some id -> Raw id ) in let find_table id = find modul.table id in - let find_func id = find modul.func id in + let find_func id = find modul.func id in let find_data id = find modul.data id in let find_elem id = find modul.elem id in let find_type id = find modul.typ id in let rec body (loop_count, block_ids) : text instr -> binary instr Result.t = - function + function | Br_table (ids, id) -> let block_id_to_raw = block_id_to_raw (loop_count, block_ids) in let* ids = array_map block_id_to_raw ids in @@ -1052,27 +1052,27 @@

88.66%

| Br id -> let+ id = block_id_to_raw (loop_count, block_ids) id in Br id - | Call id -> + | Call id -> let id = find_func id in - Ok (Call id) + Ok (Call id) | Return_call id -> let id = find_func id in Ok (Return_call id) - | Local_set id -> + | Local_set id -> let id = find_local id in - Ok (Local_set id) - | Local_get id -> + Ok (Local_set id) + | Local_get id -> let id = find_local id in - Ok (Local_get id) + Ok (Local_get id) | Local_tee id -> let id = find_local id in Ok (Local_tee id) - | If_else (id, bt, e1, e2) -> - let* bt = bt_to_raw bt in - let block_ids = id :: block_ids in - let* e1 = expr e1 (loop_count, block_ids) in - let+ e2 = expr e2 (loop_count, block_ids) in - If_else (id, bt, e1, e2) + | If_else (id, bt, e1, e2) -> + let* bt = bt_to_raw bt in + let block_ids = id :: block_ids in + let* e1 = expr e1 (loop_count, block_ids) in + let+ e2 = expr e2 (loop_count, block_ids) in + If_else (id, bt, e1, e2) | Loop (id, bt, e) -> let* bt = bt_to_raw bt in let+ e = expr e (loop_count + 1, id :: block_ids) in @@ -1174,15 +1174,15 @@

88.66%

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

88.66%

| Struct_new _ | Br_on_non_null _ | Br_on_null _ ) as _i -> assert false and expr (e : text expr) (loop_count, block_ids) : binary expr Result.t = - list_map (fun i -> body (loop_count, block_ids) i) e + list_map (fun i -> body (loop_count, block_ids) i) e in expr iexpr (0, []) let rewrite_block_type (typemap : binary indice TypeMap.t) (modul : Assigned.t) (block_type : text block_type) : binary block_type Result.t = - match block_type with + match block_type with | Bt_ind id -> begin let+ v = get (`Unknown_type id) modul.typ id in match Indexed.get v with @@ -1206,21 +1206,21 @@

88.66%

Bt_raw (Some (Raw idx), t') | _ -> assert false end - | Bt_raw (_, func_type) -> - let+ t = Binary_types.convert_func_type None func_type in - let idx = + | Bt_raw (_, func_type) -> + let+ t = Binary_types.convert_func_type None func_type in + let idx = match TypeMap.find_opt (Def_func_t t) typemap with | None -> assert false - | Some idx -> idx + | Some idx -> idx in Bt_raw (Some idx, t) let rewrite_global (modul : Assigned.t) (global : Text.global) : Binary.global Result.t = - let* init = rewrite_expr modul [] global.init in - let mut, val_type = global.typ in - let+ val_type = Binary_types.convert_val_type None val_type in - let typ = (mut, val_type) in + let* init = rewrite_expr modul [] global.init in + let mut, val_type = global.typ in + let+ val_type = Binary_types.convert_val_type None val_type in + let typ = (mut, val_type) in { Binary.id = global.id; init; typ } let rewrite_elem (modul : Assigned.t) (elem : Text.elem) : Binary.elem Result.t @@ -1254,92 +1254,92 @@

88.66%

let rewrite_export named (exports : Grouped.opt_export list) : Binary.export list Result.t = - list_map + list_map (fun { Grouped.name; id } -> - let+ id = + let+ id = match id with | Curr id -> Ok id - | Indice id -> + | Indice id -> let (Raw id) = find named id in - Ok id + Ok id in - { Binary.name; id } ) + { Binary.name; id } ) exports let rewrite_exports (modul : Assigned.t) (exports : Grouped.opt_exports) : Binary.exports Result.t = - let* global = rewrite_export modul.global exports.global in - let* mem = rewrite_export modul.mem exports.mem in - let* table = rewrite_export modul.table exports.table in - let+ func = rewrite_export modul.func exports.func in - { Binary.global; mem; table; func } + let* global = rewrite_export modul.global exports.global in + let* mem = rewrite_export modul.mem exports.mem in + let* table = rewrite_export modul.table exports.table in + let+ func = rewrite_export modul.func exports.func in + { Binary.global; mem; table; func } let rewrite_func (typemap : binary indice TypeMap.t) (modul : Assigned.t) ({ id; type_f; locals; body; _ } : text func) : binary func Result.t = - let* (Bt_raw (_, (params, _)) as type_f) = - rewrite_block_type typemap modul type_f + let* (Bt_raw (_, (params, _)) as type_f) = + rewrite_block_type typemap modul type_f in - let* locals = list_map (Binary_types.convert_param None) locals in - let+ body = rewrite_expr modul (params @ locals) body in - { body; type_f; id; locals } + let* locals = list_map (Binary_types.convert_param None) locals in + let+ body = rewrite_expr modul (params @ locals) body in + { body; type_f; id; locals } let rewrite_import (f : 'a -> 'b Result.t) (import : 'a Imported.t) : 'b Imported.t Result.t = - let+ desc = f import.desc in - { import with desc } + let+ desc = f import.desc in + { import with desc } let rewrite_runtime f g r = - match r with - | Runtime.Local v -> - let+ v = f v in - Runtime.Local v - | Imported i -> - let+ i = g i in - Runtime.Imported i + match r with + | Runtime.Local v -> + let+ v = f v in + Runtime.Local v + | Imported i -> + let+ i = g i in + Runtime.Imported i let rewrite_named f named = - let+ values = - list_map + let+ values = + list_map (fun ind -> - let index = Indexed.get_index ind in - let value = Indexed.get ind in - let+ value = f value in - Indexed.return index value ) + let index = Indexed.get_index ind in + let value = Indexed.get ind in + let+ value = f value in + Indexed.return index value ) named.Named.values in - { named with Named.values } + { named with Named.values } let rewrite_types (_modul : Assigned.t) (t : binary str_type) : binary rec_type Result.t = (* TODO: the input `t` should actually be a `binary rec_type` *) - let t = [ (None, (Final, [], t)) ] in + let t = [ (None, (Final, [], t)) ] in Ok t let modul (modul : Assigned.t) : Binary.modul Result.t = - Log.debug0 "rewriting ...@\n"; - let typemap = typemap modul.typ in - let* global = + Log.debug0 "rewriting ...@\n"; + let typemap = typemap modul.typ in + let* global = let+ { Named.named; values } = - rewrite_named (rewrite_runtime (rewrite_global modul) ok) modul.global + rewrite_named (rewrite_runtime (rewrite_global modul) ok) modul.global in - let values = List.rev values in - { Named.named; values } + let values = List.rev values in + { Named.named; values } in - let* elem = rewrite_named (rewrite_elem modul) modul.elem in - let* data = rewrite_named (rewrite_data modul) modul.data in - let* exports = rewrite_exports modul modul.exports in - let* func = - let import = rewrite_import (rewrite_block_type typemap modul) in - let runtime = rewrite_runtime (rewrite_func typemap modul) import in - rewrite_named runtime modul.func + let* elem = rewrite_named (rewrite_elem modul) modul.elem in + let* data = rewrite_named (rewrite_data modul) modul.data in + let* exports = rewrite_exports modul modul.exports in + let* func = + let import = rewrite_import (rewrite_block_type typemap modul) in + let runtime = rewrite_runtime (rewrite_func typemap modul) import in + rewrite_named runtime modul.func in - let+ types = rewrite_named (rewrite_types modul) modul.typ in - let start = + let+ types = rewrite_named (rewrite_types modul) modul.typ in + let start = match modul.start with - | None -> None - | Some id -> + | None -> None + | Some id -> let (Raw id) = find func id in - Some id + Some id in let modul : Binary.modul = diff --git a/coverage/src/utils/log.ml.html b/coverage/src/utils/log.ml.html index f9b3f16f4..8435f2017 100644 --- a/coverage/src/utils/log.ml.html +++ b/coverage/src/utils/log.ml.html @@ -86,18 +86,18 @@

83.33%

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

75.86%

| `Duplicate_table id -> Fmt.str "duplicate table %s" id | `Failed_with_but_expected (got, expected) -> Fmt.str "expected %s but got (%s)" expected (err_to_string got) - | `Found_bug n -> + | `Found_bug n -> if n > 1 then Fmt.str "Reached %d problems!" n - else Fmt.str "Reached problem!" + else Fmt.str "Reached problem!" | `Global_is_immutable -> "global is immutable" | `Illegal_escape txt -> Fmt.str "illegal escape %S" txt | `Import_after_function -> "import after function" @@ -398,7 +398,7 @@

75.86%

| `Start_function -> "start function must have type [] -> []" | `Timeout -> "timeout" | `Trap t -> Fmt.str "trap: %s" (Trap.to_string t) - | `Type_mismatch msg -> Fmt.str "type mismatch (%s)" msg + | `Type_mismatch msg -> Fmt.str "type mismatch (%s)" msg | `Unbound_last_module -> "unbound last module" | `Unbound_module id -> Fmt.str "unbound module %s" id | `Unbound_name id -> Fmt.str "unbound name %s" id diff --git a/coverage/src/utils/syntax.ml.html b/coverage/src/utils/syntax.ml.html index 3a8d13e98..6df6e0723 100644 --- a/coverage/src/utils/syntax.ml.html +++ b/coverage/src/utils/syntax.ml.html @@ -177,45 +177,45 @@

100.00%

open Prelude.Result -let ( let* ) o f = match o with Ok v -> f v | Error _ as e -> e +let ( let* ) o f = match o with Ok v -> f v | Error _ as e -> e -let ( let+ ) o f = match o with Ok v -> Ok (f v) | Error _ as e -> e +let ( let+ ) o f = match o with Ok v -> Ok (f v) | Error _ as e -> e -let ok v = Ok v +let ok v = Ok v let list_iter f l = - let err = ref None in + let err = ref None in try List.iter (fun v -> - match f v with - | Error _e as e -> + match f v with + | Error _e as e -> err := Some e; raise Exit - | Ok () -> () ) + | Ok () -> () ) l; - Ok () - with Exit -> Option.get !err + Ok () + with Exit -> Option.get !err let list_map f l = - let err = ref None in + let err = ref None in try - ok - @@ List.map + ok + @@ List.map (fun v -> - match f v with + match f v with | Error _e as e -> err := Some e; raise Exit - | Ok v -> v ) + | Ok v -> v ) l with Exit -> Option.get !err let list_fold_left f acc l = - List.fold_left + List.fold_left (fun acc v -> - let* acc in - f acc v ) + let* acc in + f acc v ) (Ok acc) l let array_iter f a = diff --git a/coverage/src/utils/tracing.ml.html b/coverage/src/utils/tracing.ml.html index 4782374ec..2046d372f 100644 --- a/coverage/src/utils/tracing.ml.html +++ b/coverage/src/utils/tracing.ml.html @@ -107,19 +107,19 @@

57.14%

type Runtime_events.User.tag += Solver_model let check = - Runtime_events.User.register "solver_check" Solver_check + Runtime_events.User.register "solver_check" Solver_check Runtime_events.Type.span let check_true = - Runtime_events.User.register "solver_check_true" Solver_check_true + Runtime_events.User.register "solver_check_true" Solver_check_true Runtime_events.Type.span let check_false = - Runtime_events.User.register "solver_check_false" Solver_check_false + Runtime_events.User.register "solver_check_false" Solver_check_false Runtime_events.Type.span let model = - Runtime_events.User.register "solver_model" Solver_model + Runtime_events.User.register "solver_model" Solver_model Runtime_events.Type.span let with_ev ev f = diff --git a/coverage/src/utils/wutf8.ml.html b/coverage/src/utils/wutf8.ml.html index 2b2484da5..217407bf0 100644 --- a/coverage/src/utils/wutf8.ml.html +++ b/coverage/src/utils/wutf8.ml.html @@ -166,14 +166,14 @@

16.67%

| _ -> raise Utf8 let check_utf8 s = - let open Uutf in + let open Uutf in let decoder = decoder ~encoding:`UTF_8 (`String s) in - let rec loop () = - match decode decoder with + let rec loop () = + match decode decoder with | `Malformed s -> Error (`Malformed_utf8_encoding s) | `Await -> assert false - | `End -> Ok () - | `Uchar _ -> loop () + | `End -> Ok () + | `Uchar _ -> loop () in loop () diff --git a/coverage/src/validate/check.ml.html b/coverage/src/validate/check.ml.html index f76936c18..bab96b062 100644 --- a/coverage/src/validate/check.ml.html +++ b/coverage/src/validate/check.ml.html @@ -242,7 +242,7 @@

100.00%

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

100.00%

} let modul m = - Log.debug0 "checking ...@\n"; - let add_global = + Log.debug0 "checking ...@\n"; + let add_global = let seen = Hashtbl.create 512 in - function + function | None -> Ok () - | Some id -> + | Some id -> if Hashtbl.mem seen id then Error (`Duplicate_global id) - else Ok (Hashtbl.replace seen id ()) + else Ok (Hashtbl.replace seen id ()) in let add_table = let seen = Hashtbl.create 512 in - function + function | None -> Ok () - | Some id -> + | Some id -> if Hashtbl.mem seen id then Error (`Duplicate_table id) - else Ok (Hashtbl.replace seen id ()) + else Ok (Hashtbl.replace seen id ()) in let add_memory = let seen = Hashtbl.create 512 in - function - | None -> Ok () - | Some id -> + function + | None -> Ok () + | Some id -> if Hashtbl.mem seen id then Error (`Duplicate_memory id) - else Ok (Hashtbl.add seen id ()) + else Ok (Hashtbl.add seen id ()) in let+ (_env : env) = - List.fold_left + List.fold_left (fun env field -> - let* env in - match field with - | MExport _e -> Ok env - | MFunc _f -> Ok { env with funcs = true } - | MStart _start -> + let* env in + match field with + | MExport _e -> Ok env + | MFunc _f -> Ok { env with funcs = true } + | MStart _start -> if env.start then Error `Multiple_start_sections - else Ok { env with start = true } - | MImport i -> + else Ok { env with start = true } + | MImport i -> if env.funcs then Error `Import_after_function - else if env.memory then Error `Import_after_memory - else if env.tables then Error `Import_after_table - else if env.globals then Error `Import_after_global - else begin + else if env.memory then Error `Import_after_memory + else if env.tables then Error `Import_after_table + else if env.globals then Error `Import_after_global + else begin match i.desc with | Import_mem (id, _) -> let* () = add_memory id in if env.imported_memory then Error `Multiple_memories else Ok { env with imported_memory = true } - | Import_func _ -> Ok env + | Import_func _ -> Ok env | Import_global (id, _) -> let+ () = add_global id in env @@ -308,22 +308,22 @@

100.00%

end | MData _d -> Ok env | MElem _e -> Ok env - | MMem (id, _) -> - let* () = add_memory id in - if env.memory || env.imported_memory then Error `Multiple_memories - else Ok { env with memory = true } + | MMem (id, _) -> + let* () = add_memory id in + if env.memory || env.imported_memory then Error `Multiple_memories + else Ok { env with memory = true } | MType _t -> Ok env - | MGlobal { id; _ } -> - let+ () = add_global id in - { env with globals = true } - | MTable (id, _) -> - let+ () = add_table id in - { env with tables = true } ) - (Ok (empty_env ())) + | MGlobal { id; _ } -> + let+ () = add_global id in + { env with globals = true } + | MTable (id, _) -> + let+ () = add_table id in + { env with tables = true } ) + (Ok (empty_env ())) m.fields in - m + m diff --git a/coverage/src/validate/typecheck.ml.html b/coverage/src/validate/typecheck.ml.html index b402ddc77..aa39c06a0 100644 --- a/coverage/src/validate/typecheck.ml.html +++ b/coverage/src/validate/typecheck.ml.html @@ -1654,8 +1654,8 @@

88.23%

| Something let typ_equal t1 t2 = - match (t1, t2) with - | Num_type t1, Num_type t2 -> Types.num_type_eq t1 t2 + match (t1, t2) with + | Num_type t1, Num_type t2 -> Types.num_type_eq t1 t2 | Ref_type t1, Ref_type t2 -> Types.heap_type_eq t1 t2 | Any, _ | _, Any -> true | Something, _ | _, Something -> true @@ -1670,10 +1670,10 @@

88.23%

let pp_typ_list fmt l = list ~sep:sp pp_typ fmt l let typ_of_val_type = function - | Types.Ref_type (_null, t) -> Ref_type t - | Num_type t -> Num_type t + | Types.Ref_type (_null, t) -> Ref_type t + | Num_type t -> Num_type t -let typ_of_pt pt = typ_of_val_type @@ snd pt +let typ_of_pt pt = typ_of_val_type @@ snd pt module Index = struct module M = Int @@ -1682,15 +1682,15 @@

88.23%

end let check_mem modul n = - if n >= List.length modul.mem.values then Error (`Unknown_memory (Raw n)) - else Ok () + if n >= List.length modul.mem.values then Error (`Unknown_memory (Raw n)) + else Ok () let check_data modul n = if n >= List.length modul.data.values then Error (`Unknown_data (Raw n)) else Ok () let check_align memarg_align align = - if Int32.ge memarg_align align then Error `Alignment_too_large else Ok () + if Int32.ge memarg_align align then Error `Alignment_too_large else Ok () module Env = struct type t = @@ -1702,23 +1702,23 @@

88.23%

} let local_get i env = - match Index.Map.find_opt i env.locals with + match Index.Map.find_opt i env.locals with | None -> Error (`Unknown_local (Raw i)) - | Some v -> Ok v + | Some v -> Ok v let global_get i modul = - let value = Indexed.get_at i modul.global.values in - match value with + let value = Indexed.get_at i modul.global.values in + match value with | None -> Error (`Unknown_global (Raw i)) - | Some (Runtime.Local { typ = desc; _ } | Imported { desc; _ }) -> Ok desc + | Some (Runtime.Local { typ = desc; _ } | Imported { desc; _ }) -> Ok desc let func_get i modul = - let value = Indexed.get_at i modul.func.values in - match value with + let value = Indexed.get_at i modul.func.values in + match value with | None -> Error (`Unknown_func (Raw i)) | Some - ( Runtime.Local { type_f = Bt_raw (_, t); _ } - | Imported { desc = Bt_raw (_, t); _ } ) -> + ( Runtime.Local { type_f = Bt_raw (_, t); _ } + | Imported { desc = Bt_raw (_, t); _ } ) -> Ok t let block_type_get i env = @@ -1727,10 +1727,10 @@

88.23%

| Some bt -> Ok bt let table_type_get i (modul : Binary.modul) = - let value = Indexed.get_at i modul.table.values in - match value with + let value = Indexed.get_at i modul.table.values in + match value with | None -> Error (`Unknown_table (Raw i)) - | Some (Runtime.Local (_, (_, t)) | Imported { desc = _, t; _ }) -> Ok t + | Some (Runtime.Local (_, (_, t)) | Imported { desc = _, t; _ }) -> Ok t let elem_type_get i env = let value = Indexed.get_at i env.modul.elem.values in @@ -1739,15 +1739,15 @@

88.23%

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

88.23%

let any = Any -let itype = function S32 -> i32 | S64 -> i64 +let itype = function S32 -> i32 | S64 -> i64 -let ftype = function S32 -> f32 | S64 -> f64 +let ftype = function S32 -> f32 | S64 -> f64 let arraytype _modul _i = (* TODO *) assert false @@ -1798,15 +1798,15 @@

88.23%

let pp fmt (s : stack) = pf fmt "[%a]" pp_typ_list s let match_num_type (required : num_type) (got : num_type) = - match (required, got) with - | I32, I32 -> true - | I64, I64 -> true - | F32, F32 -> true - | F64, F64 -> true + match (required, got) with + | I32, I32 -> true + | I64, I64 -> true + | F32, F32 -> true + | F64, F64 -> true | _, _ -> false let match_ref_type required got = - match (required, got) with + match (required, got) with | Any_ht, _ -> true | None_ht, None_ht -> true | Eq_ht, Eq_ht -> true @@ -1815,23 +1815,23 @@

88.23%

| Array_ht, Array_ht -> true | No_func_ht, No_func_ht -> true | Func_ht, Func_ht -> true - | Extern_ht, Extern_ht -> true + | Extern_ht, Extern_ht -> true | No_extern_ht, No_extern_ht -> true | _ -> (* TODO: complete this *) false let match_types required got = - match (required, got) with + match (required, got) with | Something, _ | _, Something -> true | Any, _ | _, Any -> true - | Num_type required, Num_type got -> match_num_type required got - | Ref_type required, Ref_type got -> match_ref_type required got + | Num_type required, Num_type got -> match_num_type required got + | Ref_type required, Ref_type got -> match_ref_type required got | Num_type _, Ref_type _ | Ref_type _, Num_type _ -> false let rec equal s s' = - match (s, s') with - | [], s | s, [] -> List.for_all (function Any -> true | _ -> false) s + match (s, s') with + | [], s | s, [] -> List.for_all (function Any -> true | _ -> false) s | Any :: tl, Any :: tl' -> equal tl s' || equal s tl' | Any :: tl, hd :: tl' | hd :: tl', Any :: tl -> equal tl (hd :: tl') || equal (Any :: tl) tl' @@ -1840,18 +1840,18 @@

88.23%

let ( ||| ) l r = match (l, r) with None, v | v, None -> v | _l, r -> r let rec match_prefix ~prefix ~stack = - match (prefix, stack) with - | [], stack -> Some stack - | _hd :: _tl, [] -> None + match (prefix, stack) with + | [], stack -> Some stack + | _hd :: _tl, [] -> None | _hd :: tl, Any :: tl' -> match_prefix ~prefix ~stack:tl' ||| match_prefix ~prefix:tl ~stack - | hd :: tl, hd' :: tl' -> - if match_types hd hd' then match_prefix ~prefix:tl ~stack:tl' else None + | hd :: tl, hd' :: tl' -> + if match_types hd hd' then match_prefix ~prefix:tl ~stack:tl' else None let pop required stack = - match match_prefix ~prefix:required ~stack with - | None -> Error (`Type_mismatch "pop") - | Some stack -> Ok stack + match match_prefix ~prefix:required ~stack with + | None -> Error (`Type_mismatch "pop") + | Some stack -> Ok stack let pop_ref = function | (Something | Ref_type _) :: tl -> Ok tl @@ -1859,12 +1859,12 @@

88.23%

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

88.23%

let rec typecheck_instr (env : Env.t) (stack : stack) (instr : binary instr) : stack Result.t = - match instr with + match instr with | Nop -> Ok stack - | Drop -> Stack.drop stack + | Drop -> Stack.drop stack | Return -> let+ _stack = Stack.pop (List.rev_map typ_of_val_type env.result_type) stack in [ any ] - | Unreachable -> Ok [ any ] - | I32_const _ -> Stack.push [ i32 ] stack - | I64_const _ -> Stack.push [ i64 ] stack - | F32_const _ -> Stack.push [ f32 ] stack - | F64_const _ -> Stack.push [ f64 ] stack + | Unreachable -> Ok [ any ] + | I32_const _ -> Stack.push [ i32 ] stack + | I64_const _ -> Stack.push [ i64 ] stack + | F32_const _ -> Stack.push [ f32 ] stack + | F64_const _ -> Stack.push [ f64 ] stack | I_unop (s, _op) -> let t = itype s in let* stack = Stack.pop [ t ] stack in Stack.push [ t ] stack - | I_binop (s, _op) -> + | I_binop (s, _op) -> let t = itype s in - let* stack = Stack.pop [ t; t ] stack in - Stack.push [ t ] stack + let* stack = Stack.pop [ t; t ] stack in + Stack.push [ t ] stack | F_unop (s, _op) -> let t = ftype s in let* stack = Stack.pop [ t ] stack in Stack.push [ t ] stack - | F_binop (s, _op) -> + | F_binop (s, _op) -> let t = ftype s in - let* stack = Stack.pop [ t; t ] stack in - Stack.push [ t ] stack + let* stack = Stack.pop [ t; t ] stack in + Stack.push [ t ] stack | I_testop (nn, _) -> let* stack = Stack.pop [ itype nn ] stack in Stack.push [ i32 ] stack - | I_relop (nn, _) -> + | I_relop (nn, _) -> let t = itype nn in - let* stack = Stack.pop [ t; t ] stack in - Stack.push [ i32 ] stack + let* stack = Stack.pop [ t; t ] stack in + Stack.push [ i32 ] stack | F_relop (nn, _) -> let t = ftype nn in let* stack = Stack.pop [ t; t ] stack in Stack.push [ i32 ] stack - | Local_get (Raw i) -> - let* t = Env.local_get i env in - Stack.push [ t ] stack - | Local_set (Raw i) -> - let* t = Env.local_get i env in - Stack.pop [ t ] stack + | Local_get (Raw i) -> + let* t = Env.local_get i env in + Stack.push [ t ] stack + | Local_set (Raw i) -> + let* t = Env.local_get i env in + Stack.pop [ t ] stack | Local_tee (Raw i) -> let* t = Env.local_get i env in let* stack = Stack.pop [ t ] stack in @@ -1935,11 +1935,11 @@

88.23%

in let t = typ_of_val_type t in Stack.pop [ t ] stack - | If_else (_id, block_type, e1, e2) -> - let* stack = Stack.pop [ i32 ] stack in - let* stack_e1 = typecheck_expr env e1 ~is_loop:false block_type ~stack in - let+ _stack_e2 = typecheck_expr env e2 ~is_loop:false block_type ~stack in - stack_e1 + | If_else (_id, block_type, e1, e2) -> + let* stack = Stack.pop [ i32 ] stack in + let* stack_e1 = typecheck_expr env e1 ~is_loop:false block_type ~stack in + let+ _stack_e2 = typecheck_expr env e2 ~is_loop:false block_type ~stack in + stack_e1 | I_load8 (nn, _, memarg) -> let* () = check_mem env.modul 0 in let* () = check_align memarg.align 1l in @@ -1950,12 +1950,12 @@

88.23%

let* () = check_align memarg.align 2l in let* stack = Stack.pop [ i32 ] stack in Stack.push [ itype nn ] stack - | I_load (nn, memarg) -> - let* () = check_mem env.modul 0 in - let max_allowed = match nn with S32 -> 4l | S64 -> 8l in - let* () = check_align memarg.align max_allowed in - let* stack = Stack.pop [ i32 ] stack in - Stack.push [ itype nn ] stack + | I_load (nn, memarg) -> + let* () = check_mem env.modul 0 in + let max_allowed = match nn with S32 -> 4l | S64 -> 8l in + let* () = check_align memarg.align max_allowed in + let* stack = Stack.pop [ i32 ] stack in + Stack.push [ itype nn ] stack | I64_load32 (_, memarg) -> let* () = check_mem env.modul 0 in let* () = check_align memarg.align 4l in @@ -2040,10 +2040,10 @@

88.23%

let* _tbl_type = Env.table_type_get tbl_id env.modul in let* stack = Stack.pop [ i32 ] stack in Stack.pop_push bt stack - | Call (Raw i) -> - let* pt, rt = Env.func_get i env.modul in - let* stack = Stack.pop (List.rev_map typ_of_pt pt) stack in - Stack.push (List.rev_map typ_of_val_type rt) stack + | Call (Raw i) -> + let* pt, rt = Env.func_get i env.modul in + let* stack = Stack.pop (List.rev_map typ_of_pt pt) stack in + Stack.push (List.rev_map typ_of_val_type rt) stack | Call_ref _t -> let+ stack = Stack.pop_ref stack in (* TODO: @@ -2190,48 +2190,48 @@

88.23%

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

88.23%

| _ -> Error `Constant_expression_required let typecheck_const_expr (modul : modul) refs = - list_fold_left (typecheck_const_instr modul refs) [] + list_fold_left (typecheck_const_instr modul refs) [] let typecheck_global (modul : modul) refs (global : (global, binary global_type) Runtime.t Indexed.t) = - match Indexed.get global with + match Indexed.get global with | Imported _ -> Ok () - | Local { typ; init; _ } -> ( - let* real_type = typecheck_const_expr modul refs init in - match real_type with - | [ real_type ] -> - let expected = typ_of_val_type @@ snd typ in - if not @@ typ_equal expected real_type then + | Local { typ; init; _ } -> ( + let* real_type = typecheck_const_expr modul refs init in + match real_type with + | [ real_type ] -> + let expected = typ_of_val_type @@ snd typ in + if not @@ typ_equal expected real_type then Error (`Type_mismatch "typecheck global 1") - else Ok () + else Ok () | _whatever -> Error (`Type_mismatch "typecheck_global 2") ) let typecheck_elem modul refs (elem : elem Indexed.t) = @@ -2325,96 +2325,96 @@

88.23%

| _whatever -> Error (`Type_mismatch "typecheck_data") ) let typecheck_start { start; func; _ } = - match start with - | None -> Ok () - | Some idx -> ( + match start with + | None -> Ok () + | Some idx -> ( let* f = - match List.find_opt (Indexed.has_index idx) func.values with + match List.find_opt (Indexed.has_index idx) func.values with | None -> Error (`Unknown_func (Raw idx)) - | Some f -> Ok f + | Some f -> Ok f in - let pt, rt = + let pt, rt = match Indexed.get f with - | Local { type_f = Bt_raw (_, t); _ } + | Local { type_f = Bt_raw (_, t); _ } | Imported { desc = Bt_raw (_, t); _ } -> t in - match (pt, rt) with [], [] -> Ok () | _, _ -> Error `Start_function ) + match (pt, rt) with [], [] -> Ok () | _, _ -> Error `Start_function ) let validate_exports modul = - let* () = - list_iter + let* () = + list_iter (fun { id; name = _ } -> - let* _t = Env.func_get id modul in - Ok () ) + let* _t = Env.func_get id modul in + Ok () ) modul.exports.func in - let* () = - list_iter + let* () = + list_iter (fun { id; name = _ } -> - let* _t = Env.table_type_get id modul in - Ok () ) + let* _t = Env.table_type_get id modul in + Ok () ) modul.exports.table in - let* () = - list_iter + let* () = + list_iter (fun { id; name = _ } -> - let* _t = Env.global_get id modul in - Ok () ) + let* _t = Env.global_get id modul in + Ok () ) modul.exports.global in - list_iter + list_iter (fun { id; name = _ } -> - let* () = check_mem modul id in - Ok () ) + let* () = check_mem modul id in + Ok () ) modul.exports.mem let check_limit { min; max } = - match max with - | None -> Ok () - | Some max -> - if min > max then Error `Size_minimum_greater_than_maximum else Ok () + match max with + | None -> Ok () + | Some max -> + if min > max then Error `Size_minimum_greater_than_maximum else Ok () let validate_tables modul = - list_iter + list_iter (fun t -> - match Indexed.get t with - | Runtime.Local (_, (limits, _)) | Imported { desc = limits, _; _ } -> + match Indexed.get t with + | Runtime.Local (_, (limits, _)) | Imported { desc = limits, _; _ } -> check_limit limits ) modul.table.values let validate_mem modul = - list_iter + list_iter (fun t -> - match Indexed.get t with - | Runtime.Local (_, desc) | Imported { desc; _ } -> + match Indexed.get t with + | Runtime.Local (_, desc) | Imported { desc; _ } -> let* () = if desc.min > 65536 then Error `Memory_size_too_large else - match desc.max with - | Some max when max > 65536 -> Error `Memory_size_too_large - | Some _ | None -> Ok () + match desc.max with + | Some max when max > 65536 -> Error `Memory_size_too_large + | Some _ | None -> Ok () in - check_limit desc ) + check_limit desc ) modul.mem.values let modul (modul : modul) = - Log.debug0 "typechecking ...@\n"; - let refs = Hashtbl.create 512 in - let* () = list_iter (typecheck_global modul refs) modul.global.values in - let* () = list_iter (typecheck_elem modul refs) modul.elem.values in - let* () = list_iter (typecheck_data modul refs) modul.data.values in - let* () = typecheck_start modul in - let* () = validate_exports modul in - let* () = validate_tables modul in - let* () = validate_mem modul in - List.iter - (fun (export : export) -> Hashtbl.add refs export.id ()) + Log.debug0 "typechecking ...@\n"; + let refs = Hashtbl.create 512 in + let* () = list_iter (typecheck_global modul refs) modul.global.values in + let* () = list_iter (typecheck_elem modul refs) modul.elem.values in + let* () = list_iter (typecheck_data modul refs) modul.data.values in + let* () = typecheck_start modul in + let* () = validate_exports modul in + let* () = validate_tables modul in + let* () = validate_mem modul in + List.iter + (fun (export : export) -> Hashtbl.add refs export.id ()) modul.exports.func; - Named.fold + Named.fold (fun _index func acc -> - let* () = acc in - typecheck_function modul func refs ) + let* () = acc in + typecheck_function modul func refs ) modul.func (Ok ())