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]