jon.recoil.org

Module Alloc_mode.For_allocations

type t = private
  1. | Heap
    (*

    Normal allocation on the OCaml heap.

    *)
  2. | Local of {
    1. region : Flambda2_identifiers.Variable.t;
    }
    (*

    Allocation on the local allocation stack in the given region.

    *)

Decisions on allocation locations

val print : Format.formatter -> t -> unit
val compare : t -> t -> int
val heap : t
val local : region:Flambda2_identifiers.Variable.t -> t

Returns Heap if stack allocation is disabled!

val as_type : t -> For_types.t
val from_lambda : Lambda.locality_mode -> current_region:Flambda2_identifiers.Variable.t option -> t
include Flambda2_nominal.Contains_names.S with type t := t

Compute the free names of a term. Such computation covers all kinds of bindable names (variables, continuations, ...)

val apply_renaming : t -> Flambda2_nominal.Renaming.t -> t

Apply a renaming throughout a term.

include Flambda2_nominal.Contains_ids.S with type t := t
val ids_for_export : t -> Flambda2_nominal.Ids_for_export.t

Gather all table identifiers to export them.