When we use an object and not a model the dependents are stored in a global dictionary or structure and our goal is to remove it :)

Stef


On 21/8/14 09:57, Thierry Goubier wrote:



2014-08-21 9:44 GMT+02:00 [email protected] <mailto:[email protected]> <[email protected] <mailto:[email protected]>>:

    I had a look at dependents.

    I see code in Object and Model which looks like quite close.

    And also the comment in Model says: Provides a superclass for
    classes that function as models.  The only behavior provided is
    fast dependents maintenance, which bypasses the generic
    DependentsFields mechanism.  1/23/96 sw

    Is there a place where I can read more about that and/or can
    someone provide a quick explanation?


From memory and use of other smalltalks (VisualWorks): Model provides an instance variable for storing dependents (which are then non-weak), Object instances use a global, weak array.

At least, this is how I use them.

I allways have worries about discarding objects with dependencies (Morphs, models) and creating memory leaks that way.

Thierry


    TIA
    Phil





    On Thu, Aug 21, 2014 at 9:22 AM, Oscar Nierstrasz
    <[email protected] <mailto:[email protected]>>
    wrote:


        Right.  I should have realized that.

        I was looking for a replacement for:

                Transcript closeAllViews

        which has disappeared in Pharo 3.0.  So this seems to work:

                (Transcript dependents select: #isSystemWindow) do: #close

        Thanks,
        Oscar

        On 20 Aug 2014, at 17:59 , Camille Teruel
        <[email protected] <mailto:[email protected]>>
        wrote:

        > Hi Oscar,
        >
        > It's because Transcript is only one instance of
        ThreadSafeTranscript.
        > 'Transcript open' doesn't create a new instance but opens a
        new window on that instance.
        >
        > Camille
        >
        > On 20 août 2014, at 17:30, Oscar Nierstrasz (gmail)
        <[email protected]
        <mailto:[email protected]>> wrote:
        >
        >>
        >> In the latest Pharo 3 for Mac:
        >>
        >> Transcript open.
        >> Transcript open.
        >> Transcript class allInstances inspect
        >>
        >> only shows one instance, not two.
        >>
        >> Why?
        >>
        >> Oscar
        >>
        >
        >





Reply via email to