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


   - This refactors how we figure out when DINodes are final during
     unparsing, mainly for arrays. Previously, arrays were marked final
     when their parent became final, but that meant arrays could
     potentially stick around for a long time. Instead, we set arrays as
     final when a new element is added after it, or if it's the last thing
     in a complex type. In both cases, we know no more elements will be
     added and the array is final
   - After marking DINodes as final we free them if they are not used in an
     expression to reduce memory requirements
   - Changes dfdlx:outputTypeCalcNextSibling function to mark possible next
     siblings and itself as used in an expression, since both are needed in
     the function implementation so we cannot free those elements.
   - Add new releaseUnneededInfoset tunable which allows one to disable
     this freeing of infoset elements, for both parse and unparse. This is
     helpful when running unit tests that do manual inspect of the infoset
     after it is complete to ensure correctness. We can't have these
     elements being freed. Refactor existing variable names to match this
     tunable
   - Adds areDebugging logic to UState, similar to PState, so we can
     disable freeing infoset nodes while debugging.
   
   DAFFODIL-1272


----------------------------------------------------------------
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.

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


Reply via email to