A method for on-the fly updating of a
processing circuit, the method includes monitoring, by multiple coroutines and during a monitoring period, a progress of multiple suspend-update-resume sequences executed by the
processing circuit, wherein at least some of the multiple execute and suspend-update-resume sequences partially overlap and are not mutually synchronized, and wherein each suspend-update-resume sequence comprises on-the-fly updates; and determining, by a merged
coroutine, timings of the multiple suspend-update-resume sequences, wherein the determining comprises performing multiple calculation iterations, wherein a calculation iteration of the multiple calculation iterations comprises calculating, in a an iterative manner, a timing of a next suspend-update-resume sequence to be executed out of the multiple suspend-update-resume sequences, and wherein the calculating is responsive to timing offsets between different suspend-update-resume sequences.