Commit 5b8ef5f2 authored by Andrei Paskevich's avatar Andrei Paskevich

Mlw: cloning of program expressions (wip)

parent 60b2fc15
......@@ -765,7 +765,9 @@ let eff_write rd wr =
eff_covers = Mreg.domain wr }
(*TODO: should we use it and what semantics to give? *)
(*let eff_reset e r = { e with eff_resets = Sreg.add r e.eff_resets }*)
let eff_reset ({eff_writes = wr} as e) rs =
if not (Mreg.set_disjoint wr rs) then invalid_arg "Ity.eff_reset";
{ e with eff_resets = Sreg.union rs e.eff_resets }
exception IllegalAssign of region * region * region
......
......@@ -316,7 +316,7 @@ val eff_read_single_pre : pvsymbol -> effect -> effect
val eff_read_single_post : effect -> pvsymbol -> effect
val eff_bind_single : pvsymbol -> effect -> effect
(* val eff_reset : effect -> region -> effect (* confine to an empty cover *) *)
val eff_reset : effect -> Sreg.t -> effect (* confine to an empty cover *)
val eff_reset_overwritten : effect -> effect (* confine all subregions under writes *)
val eff_raise : effect -> xsymbol -> effect
......
This diff is collapsed.
......@@ -66,7 +66,7 @@ and mod_inst = {
mi_ts : itysymbol Mts.t;
mi_ls : lsymbol Mls.t;
mi_pr : prsymbol Mpr.t;
mi_pv : pvsymbol Mpv.t;
mi_pv : pvsymbol Mvs.t;
mi_rs : rsymbol Mrs.t;
mi_xs : xsymbol Mexn.t;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment