package jasmin

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Jasmin.VarallocSource

Sourcetype alignment_constraint = {
  1. ac_strict : Wsize.wsize;
  2. ac_heuristic : Wsize.wsize;
}
Sourcetype param_info = {
  1. pi_ptr : Prog.var;
  2. pi_writable : bool;
  3. pi_align : alignment_constraint;
}
Sourcetype ptr_kind =
  1. | Direct of Prog.var * Interval.interval * Expr.v_scope
  2. | StackPtr of Prog.var
  3. | RegPtr of Prog.var
Sourcetype stk_alloc_oracle_t = {
  1. sao_calls : Jasmin.Prog.Sf.t;
  2. sao_params : param_info option list;
  3. sao_return : int option list;
  4. sao_slots : (Prog.var * Wsize.wsize * int) list;
  5. sao_align : Wsize.wsize;
  6. sao_size : int;
  7. sao_alloc : ptr_kind Prog.Hv.t;
  8. sao_modify_rsp : bool;
}
Sourcetype glob_alloc_oracle_t = {
  1. gao_data : Obj.t list;
  2. gao_slots : (Prog.var * Wsize.wsize * int) list;
  3. gao_align : Wsize.wsize;
  4. gao_size : int;
}
Sourceval extend_sao : stk_alloc_oracle_t -> Prog.var list -> int * Wsize.wsize * (Prog.var * int) list