summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRobert Norton2019-11-21 13:10:02 +0000
committerRobert Norton2019-11-21 13:15:29 +0000
commit8e8df5b7c6f914651d1da5baa4cb2b3c058da720 (patch)
treefaef5bc7af30f3e27efe6644590732db867d98fd /src
parent1b27222cd06d824cf72d339d5acecf4d521ddd0f (diff)
Implement -cycle-limit option for OCaml emulator similar to one for C.
Diffstat (limited to 'src')
-rw-r--r--src/sail_lib.ml8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/sail_lib.ml b/src/sail_lib.ml
index 8251f9b4..03994657 100644
--- a/src/sail_lib.ml
+++ b/src/sail_lib.ml
@@ -17,6 +17,14 @@ let opt_trace = ref false
let trace_depth = ref 0
let random = ref false
+
+let opt_cycle_limit = ref 0
+let cycle_count = ref 0
+
+let cycle_limit_reached () =
+ cycle_count := !cycle_count + 1;
+ !opt_cycle_limit != 0 && !cycle_count >= !opt_cycle_limit
+
let sail_call (type t) (f : _ -> t) =
let module M =
struct exception Return of t end