Module Emitenv

type label = Linear.label
type gc_call = {
  1. gc_lbl : label;
  2. gc_return_lbl : label;
  3. gc_frame_lbl : label;
}
type bound_error_call = {
  1. bd_lbl : label;
  2. bd_frame : label;
}
type float_literal = {
  1. fl : int64;
  2. lbl : label;
}
type int_literal = {
  1. n : nativeint;
  2. n_lbl : label;
}
type offset_computation = {
  1. lbl : label;
  2. dst : label;
  3. src : label;
}
type gotrel_literal = {
  1. lbl_got : label;
  2. lbl_pic : label;
}
type symbol_literal = {
  1. sym : string;
  2. lbl : label;
}
type per_function_env = {
  1. f : Linear.fundecl;
  2. mutable stack_offset : int;
  3. mutable call_gc_sites : gc_call list;
  4. mutable call_gc_label : label;
  5. mutable bound_error_sites : bound_error_call list;
  6. mutable bound_error_call : label option;
  7. mutable jumptables_lbl : label option;
  8. mutable jumptables : label list;
  9. mutable float_literals : float_literal list;
  10. mutable int_literals : int_literal list;
  11. mutable offset_literals : offset_computation list;
  12. mutable gotrel_literals : gotrel_literal list;
  13. mutable symbol_literals : symbol_literal list;
  14. mutable size_literals : int;
}