Module Memory_observer

module Memory_observer: sig .. end

Extend the environment with statements which allocate/deallocate memory blocks.


val store : Env.t -> Cil_types.kernel_function -> Cil_types.varinfo list -> Env.t

For each variable of the given list, if necessary according to the mtracking analysis, add a call to __e_acsl_store_block in the given environment.

val duplicate_store : Env.t -> Cil_types.kernel_function -> Cil_datatype.Varinfo.Set.t -> Env.t

Same as store, with a call to __e_acsl_duplicate_store_block.

val delete_from_list : Env.t -> Cil_types.kernel_function -> Cil_types.varinfo list -> Env.t

Same as store, with a call to __e_acsl_delete_block.

val delete_from_set : Env.t -> Cil_types.kernel_function -> Cil_datatype.Varinfo.Set.t -> Env.t

Same as delete_from_list with a set of variables instead of a list.