Module Debuginfo

module Scoped_location : sig ... end
type item = private {
  1. dinfo_file : string;
  2. dinfo_line : int;
  3. dinfo_char_start : int;
  4. dinfo_char_end : int;
  5. dinfo_start_bol : int;
  6. dinfo_end_bol : int;
  7. dinfo_end_line : int;
  8. dinfo_scopes : Scoped_location.scopes;
}
type t = item list
type alloc_dbginfo_item = {
  1. alloc_words : int;
  2. alloc_dbg : t;
}

Due to Comballoc, a single Ialloc instruction may combine several unrelated allocations. Their Debuginfo.t (which may differ) are stored as a list of alloc_dbginfo. This list is in order of increasing memory address, which is the reverse of the original allocation order. Later allocations are consed to the front of this list by Comballoc.

type alloc_dbginfo = alloc_dbginfo_item list
val none : t
val is_none : t -> bool
val to_string : t -> string
val from_location : Scoped_location.t -> t
val to_location : t -> Location.t
val inline : t -> t -> t
val compare : t -> t -> int
val hash : t -> int
val print_compact : Stdlib.Format.formatter -> t -> unit