Jasmin.VarallocSourcetype ptr_kind = | Direct of Prog.var * Interval.interval * Expr.v_scope| StackPtr of Prog.var| RegPtr of Prog.vartype stk_alloc_oracle_t = {sao_calls : Jasmin.Prog.Sf.t;sao_params : param_info option list;sao_return : int option list;sao_slots : (Prog.var * Wsize.wsize * int) list;sao_align : Wsize.wsize;sao_size : int;sao_alloc : ptr_kind Prog.Hv.t;sao_modify_rsp : bool;}type glob_alloc_oracle_t = {gao_data : Obj.t list;gao_slots : (Prog.var * Wsize.wsize * int) list;gao_align : Wsize.wsize;gao_size : int;}val alloc_stack_prog :
Prog.var Arch_full.callstyle ->
Wsize.wsize ->
('info, 'asm) Prog.prog ->
glob_alloc_oracle_t * stk_alloc_oracle_t Jasmin.Prog.Hf.tval extend_sao :
stk_alloc_oracle_t ->
Prog.var list ->
int * Wsize.wsize * (Prog.var * int) list