[squeak-dev] Tales from the Crypt^H^H^H^H^HSimulator

Eliot Miranda eliot.miranda at gmail.com
Tue Jan 3 19:29:47 UTC 2017


Hi All,

    in working on the compactor in the simulator I'm observing some loooong
pauses due to some, um, interesting image code.  For example...


   -16r31A8 IdentityDictionary>scanFor: 16r7333E8: a(n) IdentityDictionary
   -16r3184 IdentityDictionary(Dictionary)>at:ifAbsent: 16r7333E8: a(n)
IdentityDictionary
   -16r3160 MorphExtension>valueOfProperty: 16r4341A0: a(n) MorphExtension
   -16r3140 PasteUpMorph(Morph)>valueOfProperty: 16r898788: a(n)
PasteUpMorph
   -16r3120 PasteUpMorph(Morph)>eventBubbleFilters 16r898788: a(n)
PasteUpMorph
   -16r30F4 PasteUpMorph(Morph)>sendFilterEventBubble:for: 16r898788: a(n)
PasteUpMorph
   -16r30CC PasteUpMorph(Morph)>handleEvent: 16r898788: a(n) PasteUpMorph
   -16r30A0 [] in MorphicEventDispatcher>doBubblingForFocusEvent:with:
16r2638F8: a(n) MorphicEventDispatcher
   -16r3080 PasteUpMorph(Morph)>withAllOwnersDo: 16r898788: a(n)
PasteUpMorph
   -16r3060 FillInTheBlankMorph(Morph)>allOwnersDo: 16r9A498: a(n)
FillInTheBlankMorph
   -16r3038 MorphicEventDispatcher>doBubblingForFocusEvent:with: 16r2638F8:
a(n) MorphicEventDispatcher
   -16r3010 MorphicEventDispatcher>dispatchFocusEventFully:with: 16r2638F8:
a(n) MorphicEventDispatcher
   -16r2B38 FillInTheBlankMorph(DialogWindow)>processFocusEvent:using:
16r9A498: a(n) FillInTheBlankMorph
   -16r2B14 FillInTheBlankMorph(Morph)>processFocusEvent: 16r9A498: a(n)
FillInTheBlankMorph
   -16r2AE8 [] in HandMorph>sendFocusEvent:to:clear: 16rC85548: a(n)
HandMorph
   -16r2AC4 BlockClosure>ensure: 16r263860: a(n) BlockClosure
   -16r2AA0 MouseEvent(MorphicEvent)>becomeActiveDuring: 16r2634C0: a(n)
MouseEvent
   -16r2A74 [] in HandMorph>sendFocusEvent:to:clear: 16rC85548: a(n)
HandMorph
   -16r2A50 BlockClosure>ensure: 16r263768: a(n) BlockClosure
   -16r2A2C HandMorph>becomeActiveDuring: 16rC85548: a(n) HandMorph
   -16r2A00 [] in HandMorph>sendFocusEvent:to:clear: 16rC85548: a(n)
HandMorph
   -16r29DC BlockClosure>ensure: 16r263670: a(n) BlockClosure
   -16r29B8 PasteUpMorph>becomeActiveDuring: 16r898788: a(n) PasteUpMorph
   -16r2990 HandMorph>sendFocusEvent:to:clear: 16rC85548: a(n) HandMorph
   -16r2960 HandMorph>sendEvent:focus:clear: 16rC85548: a(n) HandMorph
   -16r2938 HandMorph>sendMouseEvent: 16rC85548: a(n) HandMorph
   -16r2914 HandMorph>handleEvent: 16rC85548: a(n) HandMorph
   -16r28E8 MouseOverHandler>processMouseOver: 16r2D08BC8: a(n)
MouseOverHandler
   -16r28B8 HandMorph>processEvents 16rC85548: a(n) HandMorph
   -16r2898 [] in WorldState>doOneCycleNowFor: 16r126DFF8: a(n) WorldState
   -16r2870 Array(SequenceableCollection)>do: 16r434190: a(n) Array
   -16r2850 WorldState>handsDo: 16r126DFF8: a(n) WorldState
   -16r282C WorldState>doOneCycleNowFor: 16r126DFF8: a(n) WorldState
   -16r280C WorldState>doOneCycleFor: 16r126DFF8: a(n) WorldState
   -16r2330 WorldState>doOneSubCycleFor: 16r126DFF8: a(n) WorldState
   -16r2310 PasteUpMorph>doOneSubCycle 16r898788: a(n) PasteUpMorph
   -16r22E8 [] in FillInTheBlankMorph(DialogWindow)>getUserResponse
16r9A498: a(n) FillInTheBlankMorph
   -16r22C8 UndefinedObject(Object)>in: 16r41A280: a(n) UndefinedObject
   -16r22A0 [] in FillInTheBlankMorph(DialogWindow)>getUserResponse
16r9A498: a(n) FillInTheBlankMorph
   -16r2280 UndefinedObject(Object)>in: 16r41A280: a(n) UndefinedObject
   -16r2254 FillInTheBlankMorph(DialogWindow)>getUserResponse 16r9A498:
a(n) FillInTheBlankMorph
   -16r2234 FillInTheBlankMorph
class>request:initialAnswer:centerAt:inWorld:onCancelReturn:acceptOnCR:answerExtent:
16r12232B8: a(n) FillInTheBlankMorph class
   -16r21FC FillInTheBlankMorph
class>request:initialAnswer:centerAt:inWorld:onCancelReturn:acceptOnCR:
16r12232B8: a(n) FillInTheBlankMorph class
   -16r21C8 FillInTheBlankMorph
class>request:initialAnswer:centerAt:inWorld:onCancelReturn: 16r12232B8:
a(n) FillInTheBlankMorph class
   -16r2198 FillInTheBlankMorph
class>request:initialAnswer:centerAt:inWorld: 16r12232B8: a(n)
FillInTheBlankMorph class
   -16r216C FillInTheBlankMorph class>request:initialAnswer:centerAt:
16r12232B8: a(n) FillInTheBlankMorph class
   -16r2144 FillInTheBlankMorph class>request:initialAnswer: 16r12232B8:
a(n) FillInTheBlankMorph class
   -16r2120 MorphicUIManager>request:initialAnswer: 16r821990: a(n)
MorphicUIManager
   -16r20F8 SmalltalkImage>getFileNameFromUserSuggesting: 16r79FC80: a(n)
SmalltalkImage
   -16r20D8 SmalltalkImage>getFileNameFromUser 16r79FC80: a(n)
SmalltalkImage
   -16r20B8 SmalltalkImage>saveAs 16r79FC80: a(n) SmalltalkImage
   -16r209C TheWorldMainDockingBar>saveImageAs 16r739530: a(n)
TheWorldMainDockingBar
   -16r2078 [] in MenuItemMorph>invokeWithEvent: 16r16E7B60: a(n)
MenuItemMorph
   -16r2054 BlockClosure>ensure: 16r9DC50: a(n) BlockClosure
   -16r2030 CursorWithMask(Cursor)>showWhile: 16r70B1C0: a(n) CursorWithMask
   -16r200C MenuItemMorph>invokeWithEvent: 16r16E7B60: a(n) MenuItemMorph
scavenging(676)...scavenging(677)...scavenging(678)...scavenging(679)...scavenging(680)...scavenging(681)...scavenging(682)...

and so on.

It seems that doBubblingForFocusEvent:with hides a /lot/ of computation.  I
wonder if the system might be more responsive if this were to receive some
attention.
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20170103/315f744d/attachment.html>


More information about the Squeak-dev mailing list