Up

module Malloc

: sig

Malloc bindings

Allows you to set/query the behaviour of malloc. The functions in this module may not be implemented on your platform.

#
type mallinfo = {
# arena
: int;(*non-mmapped space allocated from system*)
# ordblks
: int;(*number of free chunks*)
# smblks
: int;(*number of fastbin blocks*)
# hblks
: int;(*number of mmapped regions*)
# hblkhd
: int;(*space in mmapped regions*)
# usmblks
: int;(*maximum total allocated space*)
# fsmblks
: int;(*space available in freed fastbin blocks*)
# uordblks
: int;(*total allocated space*)
# fordblks
: int;(*total free space*)
# keepcost
: int;(*top-most, releasable (via malloc_trim) space*)
}
#
type opt =
# | TRIM_THRESHOLD
(*Maximum amount of unused top-most memory to keep before releasing via malloc_trim in free().*)
# | TOP_PAD
(*Amount of extra `padding' space to allocate or retain whenever sbrk is called.*)
# | MMAP_THRESHOLD
(*Request size threshold for using mmap() to service a request. Requests of at least this size that cannot be allocated using already-existing space will be serviced via mmap.*)
# | MMAP_MAX
(*Maximum number of requests to simultaneously service using mmap.*)
# | CHECK_ACTION

Malloc options

#
val mallinfo : (unit -> mallinfo) Core.Std.Or_error.t

mallinfo ()

Returns information on the state of malloced memory (C-heap).
#
val mallopt : (opt -> int -> unit) Core.Std.Or_error.t

mallopt opt n sets malloc configuration option opt to n.

#
val malloc_trim : (int -> unit) Core.Std.Or_error.t

malloc_trim n release all but n bytes of freed top-most memory back to the system.

Raises Failure if unsuccessful.
#
val malloc_stats : (unit -> unit) Core.Std.Or_error.t

malloc_stats () prints brief summary statistics on stderr.

#
val bin_mallinfo : mallinfo Core.Std.Bin_prot.Type_class.t
#
val bin_read_mallinfo : mallinfo Core.Std.Bin_prot.Read.reader
#
val __bin_read_mallinfo__ : (int -> mallinfo) Core.Std.Bin_prot.Read.reader
#
val bin_reader_mallinfo : mallinfo Core.Std.Bin_prot.Type_class.reader
#
val bin_size_mallinfo : mallinfo Core.Std.Bin_prot.Size.sizer
#
val bin_write_mallinfo : mallinfo Core.Std.Bin_prot.Write.writer
#
val bin_writer_mallinfo : mallinfo Core.Std.Bin_prot.Type_class.writer
#
val mallinfo_of_sexp : Sexplib.Sexp.t -> mallinfo
#
val sexp_of_mallinfo : mallinfo -> Sexplib.Sexp.t
#
val bin_opt : opt Core.Std.Bin_prot.Type_class.t
#
val bin_read_opt : opt Core.Std.Bin_prot.Read.reader
#
val __bin_read_opt__ : (int -> opt) Core.Std.Bin_prot.Read.reader
#
val bin_reader_opt : opt Core.Std.Bin_prot.Type_class.reader
#
val bin_size_opt : opt Core.Std.Bin_prot.Size.sizer
#
val bin_write_opt : opt Core.Std.Bin_prot.Write.writer
#
val bin_writer_opt : opt Core.Std.Bin_prot.Type_class.writer
#
val opt_of_sexp : Sexplib.Sexp.t -> opt
#
val sexp_of_opt : opt -> Sexplib.Sexp.t
end