summaryrefslogtreecommitdiff
path: root/compiler/Interpreter.ml
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/Interpreter.ml')
-rw-r--r--compiler/Interpreter.ml11
1 files changed, 9 insertions, 2 deletions
diff --git a/compiler/Interpreter.ml b/compiler/Interpreter.ml
index d3b3c7e6..e752594e 100644
--- a/compiler/Interpreter.ml
+++ b/compiler/Interpreter.ml
@@ -253,8 +253,15 @@ let evaluate_function_symbolic (config : C.partial_config) (synthesize : bool)
cf_pop cf_return ctx
| Some back_id ->
(* Backward translation *)
- evaluate_function_symbolic_synthesize_backward_from_return config
- fdef inst_sg back_id ctx
+ let e =
+ evaluate_function_symbolic_synthesize_backward_from_return
+ config fdef inst_sg back_id ctx
+ in
+ (* We insert a delimiter to indicate the point where we switch
+ * from the part which is common to all the functions (forwards
+ * and backwards) and the part specific to this backward function.
+ *)
+ S.synthesize_forward_end e
else None
| Panic ->
(* Note that as we explore all the execution branches, one of