|
@@ -284,14 +284,19 @@ class ModelverseKernel(object):
|
|
|
old_evalstack_link, old_phase_link, evalstack_roots = \
|
|
|
yield [("RDE", [task_frame, "evalstack"]),
|
|
|
("RDE", [task_frame, "phase"]),
|
|
|
- ("RRD", [while_inst, "inst"]),
|
|
|
+ ("RRD", [while_inst, self.taskname]),
|
|
|
]
|
|
|
|
|
|
if len(evalstack_roots) == 1:
|
|
|
evalstack_root = evalstack_roots[0]
|
|
|
else:
|
|
|
+ print("Got roots: " + str(evalstack_roots))
|
|
|
raise Exception("Could not process continue statement!")
|
|
|
|
|
|
+ # Remove the self.taskname link from the evalstack, as we will repush it
|
|
|
+ lnk, = yield [("RDE", [evalstack_root, self.taskname])]
|
|
|
+ yield [("DE", [lnk])]
|
|
|
+
|
|
|
prev_evalstack_roots, old_evalstack_phase_link = \
|
|
|
yield [("RRD", [evalstack_root, "prev"]),
|
|
|
("RDE", [evalstack_root, "phase"]),
|
|
@@ -327,7 +332,7 @@ class ModelverseKernel(object):
|
|
|
old_evalstack_link, old_phase_link, evalstack_roots = \
|
|
|
yield [("RDE", [task_frame, "evalstack"]),
|
|
|
("RDE", [task_frame, "phase"]),
|
|
|
- ("RRD", [while_inst, "inst"]),
|
|
|
+ ("RRD", [while_inst, self.taskname]),
|
|
|
]
|
|
|
|
|
|
if len(evalstack_roots) == 1:
|
|
@@ -491,12 +496,13 @@ class ModelverseKernel(object):
|
|
|
("CNV", ["init"]),
|
|
|
("CNV", ["init"]),
|
|
|
]
|
|
|
- _, _, _, _, _, _, _, _, _ = \
|
|
|
+ _, _, _, _, _, _, _, _, _, _ = \
|
|
|
yield [("CD", [task_frame, "IP", body]),
|
|
|
("CD", [task_frame, "phase", new_phase]),
|
|
|
("CD", [task_frame, "evalstack", new_evalstack]),
|
|
|
("CD", [new_evalstack, "prev", evalstack]),
|
|
|
("CD", [evalstack, "inst", inst]),
|
|
|
+ ("CD", [evalstack, self.taskname, inst]),
|
|
|
("CD", [evalstack, "phase", evalstack_phase]),
|
|
|
("DE", [evalstack_link]),
|
|
|
("DE", [ip_link]),
|