jon.recoil.org

Module Slot_offsets.Layout

Offsets & Layouts

type slot = private
  1. | Value_slot of {
    1. size : Flambda2_simplify_shared.Slot_offsets.words;
    2. is_scanned : bool;
    3. value_slot : Flambda2_identifiers.Value_slot.t;
    }
  2. | Infix_header
  3. | Function_slot of {
    1. size : Flambda2_simplify_shared.Slot_offsets.words;
    2. function_slot : Flambda2_identifiers.Function_slot.t;
    3. last_function_slot : bool;
    }

Layout slots, aka what might be found in a block at a given offset. A layout slot can take up more than one word of memory (this is the case for closures, which can take either 2 or 3 words depending on arity).

Alias for complete layouts. The list is sorted according to offsets (in increasing order).

Order the given function slots and env vars into a list of layout slots together with their respective offset. Note that there may be holes between the offsets.

Printing function for layouts.

Printing functions for layout slots.