stevedlawrence opened a new pull request #682:
URL: https://github.com/apache/daffodil/pull/682


   Currently variable instances maintain their own prior state with special
   "prior" variables. When resetting back to a PoU, we would use this prior
   value to figure out what state to reset to. But this is fragile, and
   really only keeps track of one level of change. This mean multiple
   changes to variables within a single point of uncertainly can lead to
   unexpected behavior or assertion failures.
   
   This changes how we keep track of variable state. Rather than attempting
   to roll back individual state changes, when needed to simply create a
   deep copy of the entire variable map. But to avoid extra overhead, we
   only make a copy right before state is about to change, essentially
   implementing copy-on-write. This greatly simplifies the code while still
   maintain good performance.
   
   DAFFODIL-2580
   
   See PR #674 for discussions that led to this change.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to