aboutsummaryrefslogtreecommitdiffhomepage
path: root/checker/values.ml
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2015-03-16 09:24:00 +0100
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2015-03-25 15:38:34 +0100
commit578d73a8b8eb6623bfa688c1e3ed9d1442bd435f (patch)
tree6c67b6999002c00b23d06fd9bb4563afdbe75eb0 /checker/values.ml
parentc1729637d4fe32ebe0268eb338fcf4d032bb5df7 (diff)
Exporting memory representation of STM tasks for votour.
Diffstat (limited to 'checker/values.ml')
-rw-r--r--checker/values.ml27
1 files changed, 27 insertions, 0 deletions
diff --git a/checker/values.ml b/checker/values.ml
index 2b375651b..cf93466b0 100644
--- a/checker/values.ml
+++ b/checker/values.ml
@@ -321,6 +321,33 @@ let v_libobj = Tuple ("libobj", [|v_id;v_obj|])
let v_libobjs = List v_libobj
let v_libraryobjs = Tuple ("library_objects",[|v_libobjs;v_libobjs|])
+(** STM objects *)
+
+let v_frozen = Tuple ("frozen", [|List (v_pair Int Dyn); Opt Dyn|])
+let v_states = v_pair Any v_frozen
+let v_state = Tuple ("state", [|v_states; Any; v_bool|])
+
+let v_vcs =
+ let data = Opt Any in
+ let vcs =
+ Tuple ("vcs",
+ [|Any; Any;
+ Tuple ("dag",
+ [|Any; Any; v_map Any (Tuple ("state_info",
+ [|Any; Any; Opt v_state; v_pair data Any|]))
+ |])
+ |])
+ in
+ let () = Obj.set_field (Obj.magic data) 0 (Obj.magic vcs) in
+ vcs
+
+let v_uuid = Any
+let v_request id doc =
+ Tuple ("request", [|Any; Any; doc; Any; id; String|])
+let v_tasks = List (v_pair (v_request v_uuid v_vcs) v_bool)
+let v_counters = Any
+let v_stm_seg = v_pair v_tasks v_counters
+
(** Toplevel structures in a vo (see Cic.mli) *)
let v_lib =