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]
