I defer to André who has done a much more thorough review than I can! I'll just add that if we are going to start down this path, we really ought to consider the two @devnote's at the top of LzEventable:
> * @devnote Eventually we should be able to implicitly track the > * creation of delegates here, so that no user class has to manually > * manage its delegates to prevent memory leaks, by moving > * __LZdelegates and the associated protocols from LzNode to here (and > * automatically pushing new LzDelegates onto that queue in > * LzDelegate). > * > * @devnote Eventually we should be able to simplify the > * implementation of events and delegates by recording them here > * _en_masse_, rather than allocating them as individual objects, > * which should improve both time and space efficiency. Which are referring to: http://jira.openlaszlo.org/jira/browse/LPP-6034 Maybe we should just go for that? On 2010-03-14, at 05:05, Max Carlson wrote: > Change 20100314-maxcarlson-0 by maxcarl...@bank on 2010-03-14 00:54:51 PST > in /Users/maxcarlson/openlaszlo/trunk-clean > for http://svn.openlaszlo.org/openlaszlo/trunk > > Summary: Automatically remove invalid delegates in LzEventable.destroy() > > Bugs Fixed: LPP-8822 - Improve layout performance > > Technical Reviewer: ptw > QA Reviewer: hminsky > > Details: LzEventable - Add _delegates array to hold delegates that have a > context pointing to this object. Clean out delegate contexts in destroy(). > > LaszloEvents - LzDelegate registers on its contexts' _delegates array. > > LaszloLayout,resizelayout - don't track delegates anymore. > > Tests: Run modified leak-components test in swf10 - the memory monitor in the > upper left shows much less leakage with this patch: you can click the monitor > to force garbage collection. > > Files: > M test/components/lz/leak-components.lzx > M WEB-INF/lps/lfc/core/LzEventable.lzs > M WEB-INF/lps/lfc/events/LaszloEvents.lzs > M WEB-INF/lps/lfc/controllers/LaszloLayout.lzs > M lps/components/utils/layouts/resizelayout.lzx > > Changeset: > http://svn.openlaszlo.org/openlaszlo/patches/20100314-maxcarlson-0.tar > > _______________________________________________ > Laszlo-reviews mailing list > [email protected] > http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews
