Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
memory.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
external set_memory : Module.t -> int -> int -> string -> string list -> bool list -> Expression.t list -> int list -> bool -> unit = "caml_binaryen_set_memory__bytecode" "caml_binaryen_set_memory" type segment = { name : string; passive : bool; offset : Expression.t; size : int; } (** Module, initial size, maximum size, export name, segments, shared. *) let set_memory wasm_mod initial maximum export_name (segments : segment list) = let split_segments segments = List.fold_right (fun { name; passive; offset; size } (segment_names, segment_passive, segment_offsets, segment_sizes) -> ( name :: segment_names, passive :: segment_passive, offset :: segment_offsets, size :: segment_sizes )) segments ([], [], [], []) in let segment_names, segment_passive, segment_offsets, segment_sizes = split_segments segments in set_memory wasm_mod initial maximum export_name segment_names segment_passive segment_offsets segment_sizes shared let unlimited = -1