<div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I had a short discussion on IRC about this, a quick summary:</blockquote><div><br>i was looking at the ucw internals and it seems like there's a generic issue with apps that are heavy on dynamic component instantiation. seems like to me that at various occasions (a component is instantiated or when a component is added to a container) backtracked places are registered. this list is cloned into each frame in make-next-frame, so it constantly grows.
<br><br>assuming that i'm correct with the above and it really needs fixing, we could turn the backtrack collection into a weak collection and add a non-weak collection to each component holding its backtracked places, so that it's not gc'd. then container could remove the backtracks it registered, and as components go by the weak backtrack collection gets smaller in the frames.
<br></div></div><br>the problem with this is that sometimes a component is sitting in a backed-up backtracked place and it is the only reference to it. then the weak backtrack collection would let it go and a back button would miss the backtracking of that value. then we need another non-weak collection that is a per frame backtrack collection and holds those backtracks that were registered when this frame was the current frame.
<br><br>but i stop here, because i may be missing something from the big picture...<br><br>-- <br>- attila<br><br>"- The truth is that I've been too considerate, and so became unintentionally cruel...<br> - I understand.
<br> - No, you don't understand! We don't speak the same language!"<br><br>Ingmar Bergman - Smultronstället (Wild Strawberries)