- For now only changes some guarded transaction breaks
+ This step removes a lot of uncecessary transaction_breaks (TBs)
+ emitted by pyjitpl from traces. We only want to keep these
+ unconditional TBs after external calls (identified by GUARD_NOT_FORCED)
+ because they are likely to return as inevitable transactions which
+ Guarded TBs are left in place, as they represent app-level loops
+ and are likely points to break between atomic transactions.
+ The cached_ops is here to remove the virtualizable-forcing added
+ by pyjitpl before unconditional TBs. See tests.
self.remove_next_gnf = False # guard_not_forced