Module Zero_alloc_checker
Check that functions do not allocate on the heap (local allocations are ignored).
Maintains shared state per compilation unit
val record_unit_info : Stdlib.Format.formatter -> unitRecords the result in Compilenv to be saved to cmx.
val cfg :
Stdlib.Format.formatter ->
future_funcnames:Misc.Stdlib.String.Set.t ->
Cfg_with_layout.t ->
Cfg_with_layout.tmodule Witness : sig ... endWhen the check fails, Witness.t represents an instruction that does not satisfy the property.
module Witnesses : sig ... endtype iter_witnesses =
(string -> Zero_alloc_checker.Witnesses.components -> unit) ->
unitIterate over all function symbols with their witnesses. This function can be called at any time, but the complete information is only available after a call to record_unit_info. To get all witnesses for all functions, and not only for functions annotated with @zero_alloc, set Oxcaml_flags.zero_alloc_checker_details_cutoff to a negative value before calls to fundecl. Used by compiler_hooks.
val iter_witnesses : Zero_alloc_checker.iter_witnessesval is_check_enabled : Cmm.codegen_option list -> string -> Debuginfo.t -> bool