[Laszlo-dev] For Review: Change 20071207-ptw-v Summary: Bring memory tracing to the modern era

P T Withington ptw at pobox.com
Fri Dec 7 20:17:20 PST 2007


Change 20071207-ptw-v by ptw at dueling-banjos.local on 2007-12-07  
22:50:21 EST
     in /Users/ptw/OpenLaszlo/ringding-2
     for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Bring memory tracing to the modern era

Bugs Fixed:
LPP-5205: 'Debug.whyAlive no longer shows reference keeping object  
alive'

Technical Reviewer: philip at pbrdev.com (pending)
QA Reviewer: yfang at laszlosystems.com (pending)

Details:
     LzMessage: fix error in concat observed in passing, make
     appendInternal of another LzMessage concat, not present the
     message

     LzMemory: Make some things classes.  Stor leaks as a new class
     that has a pretty descriptor and breaks out the leak information
     for easy inspection.  Use a stable sort on leaks, sort the biggest
     leak to the front of the Array.  Make whyAlive describe the top
     leaks.

     LzDebug: Use user toString methods, obey unique flag.

     LzFormatter: New formatting flag `=` takes the next argument as
     the object to be represented by the format (overriding the normal
     hot-linking that occurs in the debugger so you can write a custom
     representation for an object).

Tests:
     Debug.markObjects()
     Debug.findNewObjects()
     Debug.whyAlive()

     now yields useful information:

     lzx> Debug.whyAlive()
     global.spriteroot.$m1.debugloader.loadmc1.reqobj: (£52)  
«Object#100| {_dbg_check:...»
     global.LzFocus.csel.sprite.__LZtextclip.filters: (£6)  
«Array(0)#102| []»
      
global.LzModeManager.__LZlastclick.sprite.__LZbuttonRef.but.filters:  
(£6) «Array(0)#104| []»
     global.__offscreenkeyclip.filters: (£6) «Array(0)#106| []»
     global.spriteroot.$m0.$m0.$m5.$LzText.filters: (£6)  
«Array(0)#108| []»
     global.spriteroot.$m0.$m0.$mcB.but.filters: (£6) «Array(0)#110| []»
     global.spriteroot.$m1.$m0.$m0.$mcB.but.filters: (£6)  
«Array(0)#112| []»
     global.spriteroot.$m1.$m0.$m1.$m0.$mcB.but.filters: (£6)  
«Array(0)#114| []»
     global.spriteroot.$m1.$m0.$m1.$m1.$mcB.but.filters: (£6)  
«Array(0)#116| []»
     global.spriteroot.$m1.$m0.$m1.$m2.$mcB.but.filters: (£6)  
«Array(0)#118| []»
     ...
     «__LzLeaks(28)#120| 208 smoots»
     lzx>

Files:
M      WEB-INF/lps/lfc/debugger/LzMessage.lzs
M      WEB-INF/lps/lfc/debugger/platform/swf/LzMemory.as
M      WEB-INF/lps/lfc/debugger/platform/swf/LzDebug.as
M      WEB-INF/lps/lfc/debugger/platform/dhtml/LzDebug.js
M      WEB-INF/lps/lfc/compiler/LzFormatter.lzs

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20071207-ptw-v.tar


More information about the Laszlo-dev mailing list