Hello all, I have carried an experiment which I would like to report to all, so that someone can help me explain it. I have started a standard Self world, full of objects. I opened the spy with _Spy: true. Then, slowly, I have removed slots from the lobby with lobby _RemoveSlot: '<slot name>' until the lobby became an empty object. Then I typed _GarbageCollect to try to force all objects that aren't the lobby to be garbage collected, what didn't actually happen. What happened and why does it happen? My thesis was that all objects that aren't referenced by the lobby would be reclaimed by the garbage collector. Even though this is contradictory if we take into account the fact that many objects that are named anObject aren't referenced by the lobby and don't get garbage collected after some time. Where are Self objects hung? Does anyone know? How could I garbage collect them? No, I never opened frogs at school... Regards, Douglas
------------------------------------------------------------------------
eGroups.com home: http://www.egroups.com/group/self-interest http://www.egroups.com - Simplifying group communications
Douglas Atique wrote:
My thesis was that all objects that aren't referenced by the lobby would be reclaimed by the garbage collector. Even though this is contradictory if we take into account the fact that many objects that are named anObject aren't referenced by the lobby and don't get garbage collected after some time.
Actually, those objects you see floating around the GUI named just 'anObject' are referenced by the lobby. There is a global called 'desktop' which has some worldMorphs which has a bunch of morphs including some outliners which reference a mirror which have those objects you are talking about as their reflectees.
Where are Self objects hung? Does anyone know? How could I garbage collect them?
The scheduler has a list of processes that are ready to run, and these certainly can't become garbage while they are in this list. And the processes have stacks with the those "activation objects" ("context objects", for you Smalltalk fans) which point to their receivers, arguments and a few other objects.
So you are going to have to kill as many processes as you can (at the console, try control-C and then use the resulting menu) before calling the _GarbageCollect to ge the best results.
-- Jecel P.S.: note that I have changed the Reply-To: field for this list due to popular demand. You can no longer send a private reply without doing some editing in your mail tool, so be careful if you don't want to send to the whole list.
------------------------------------------------------------------------
eGroups.com home: http://www.egroups.com/group/self-interest http://www.egroups.com - Simplifying group communications
What's going on with OOPSLA and proto languages this year?
Sorry if this is off-topic, this list is the only game in town for me.
Dru Nelson Redwood City, California
------------------------------------------------------------------------
eGroups.com home: http://www.egroups.com/group/self-interest http://www.egroups.com - Simplifying group communications
Dru Nelson wrote:
What's going on with OOPSLA and proto languages this year?
I tried looking at the OOPSLA'99 web site, but it seems to be messed up right now. The date for notification of acceptance of workshop proposals was in May. Does anybody know if there is going to be a prototype language workshop this year?
-- Jecel
------------------------------------------------------------------------
eGroups.com home: http://www.egroups.com/group/self-interest http://www.egroups.com - Simplifying group communications
I have heard nothing from anyone. Last year there was a nice, simple prototypes workshop, I'm not sure if this one will have something. If anyone hears of something interesting, please post to the list,
Thanks,
Dru Nelson San Mateo, California
On Wed, 23 Jun 1999, Jecel Assumpcao Jr wrote:
I tried looking at the OOPSLA'99 web site, but it seems to be messed up right now. The date for notification of acceptance of workshop proposals was in May. Does anybody know if there is going to be a prototype language workshop this year?
-- Jecel
------------------------------------------------------------------------
eGroups.com home: http://www.egroups.com/group/self-interest http://www.egroups.com - Simplifying group communications
Dru Nelson wrote:
I have heard nothing from anyone. Last year there was a nice, simple prototypes workshop, I'm not sure if this one will have something. If anyone hears of something interesting, please post to the list,
It took some effort, but I found this page:
http://www.acm.org/sigplan/oopsla/oopsla99/2_ap/workshops/2i_ws_ag.html
Doesn't look like there will be any workshops on prototypes or reflection this year. The one on "Performance, Portability and Simplicity in Virtual Machine Design" might be interesting for the implementors among us.
-- Jecel
jecel@lsi.usp.br wrote:
Douglas Atique wrote:
My thesis was that all objects that aren't referenced by the lobby would be reclaimed by the garbage collector. Even though this is contradictory if we take into account the fact that many objects that are named anObject aren't referenced by the lobby and don't get garbage collected after some time.
Actually, those objects you see floating around the GUI named just 'anObject' are referenced by the lobby. There is a global called 'desktop' which has some worldMorphs which has a bunch of morphs including some outliners which reference a mirror which have those objects you are talking about as their reflectees.
But when I remove all the slots from the lobby, they shouldn't be accessible, should they? So if they are not accessible, shouldn't they be garbage collected?
Where are Self objects hung? Does anyone know? How could I garbage collect them?
The scheduler has a list of processes that are ready to run, and these certainly can't become garbage while they are in this list. And the processes have stacks with the those "activation objects" ("context objects", for you Smalltalk fans) which point to their receivers, arguments and a few other objects.
So you are going to have to kill as many processes as you can (at the console, try control-C and then use the resulting menu) before calling the _GarbageCollect to ge the best results.
I have not been able to kill processes because there weren't any. Then I stopped the scheduler and started removing slots from the lobby. Finally, I turned the lobby into an empty object so that I couldn't evaluate any expression. But that didn't free a lot of memory, as the spy showed me. So I tried 0 _AsObject and suddenly false was printed, and even though the lobby didn't refer to it anymore it still referred to the lobby through its slot parent*. Could this reference have anything to do with it? Else, the fact that I could recover false through _AsObject without it being referred to the lobby suggests me that there is some kind of table where references to objects are kept. Do you know about such a table? Douglas
-- Jecel P.S.: note that I have changed the Reply-To: field for this list due to popular demand. You can no longer send a private reply without doing some editing in your mail tool, so be careful if you don't want to send to the whole list.
Don't let the next virus knock you out! Special Offer to eGroups members Install @Backup by June 30th and win a $100 Gift Certificate from Amazon .com and @Backup free for a year! http://clickhere.egroups.com/click/363
eGroups.com home: http://www.egroups.com/group/self-interest http://www.egroups.com - Simplifying group communications
------------------------------------------------------------------------
eGroups.com home: http://www.egroups.com/group/self-interest http://www.egroups.com - Simplifying group communications
self-interest@lists.selflanguage.org