Mavryk_webassembly_interpreter.Instance
module ModuleMap : sig ... end
module Vector = Mavryk_lazy_containers.Lazy_vector.Int32Vector
module NameMap : sig ... end
val pp_module_key :
Ppx_deriving_runtime.Format.formatter ->
module_key ->
Ppx_deriving_runtime.unit
val show_module_key : module_key -> Ppx_deriving_runtime.string
type module_inst = {
types : Types.func_type Vector.t;
funcs : func_inst Vector.t;
tables : table_inst Vector.t;
memories : memory_inst Vector.t;
globals : global_inst Vector.t;
exports : extern NameMap.t;
elems : elem_inst Vector.t;
datas : data_inst Vector.t;
allocations : Ast.allocations;
}
and func_inst = module_key Func.t
and table_inst = Table.t
and memory_inst = Memory.t
and global_inst = Global.t
and input_inst = Input_buffer.t
and output_inst = Output_buffer.t
and elem_inst = Values.ref_ Vector.t Stdlib.ref
and data_inst = Ast.data_label Stdlib.ref
and extern =
| ExternFunc of func_inst
| ExternTable of table_inst
| ExternMemory of memory_inst
| ExternGlobal of global_inst
and module_reg = module_inst ModuleMap.t
val empty_module_inst : module_inst
val update_module_ref : 'a ModuleMap.t -> module_key -> 'b -> unit
val resolve_module_ref : 'a ModuleMap.t -> module_key -> 'a Lwt.t
val extern_type_of : extern -> Types.extern_type
val export : module_inst -> NameMap.key -> extern option Lwt.t