+module MemUpdate = struct
+include Hashtbl.Make (
+ struct
+ type t = Tag.t*Ptset.Int.t*Ptset.Int.t*Ptset.Int.t*Ptset.Int.t
+ let equal (a1,b1,c1,d1,e1) (a2,b2,c2,d2,e2) = a1==a2 &&
+ b1 == b2 && c1 == c2 && d1 == d2 && e1 == e2
+ let hash (a,b,c,d,e) =
+ HASHINT4(HASHINT2(a,Uid.to_int (Ptset.Int.uid b)),
+ Uid.to_int (Ptset.Int.uid c),
+ Uid.to_int (Ptset.Int.uid d),
+ Uid.to_int (Ptset.Int.uid e))
+ end)
+
+end
+