[Pharo-project] About (nil@nil)
with manuel oriol we started to play with the idea of a randomTester in Pharo. It poses a lot of questions. Now doing the first experiments, I found an instance of point (nil@nil) (besides reciprocal broken on Point (0@0) and (Point allInstances select: [:each | each x isNil]) first pointersTo points me to recreateSpecialObjectsArray I looked into the literals and others and I could not find. Each time I execute Smalltalk recreateSpecialObjectsArray I get a new nil@nil objects.... but forcing a GC garbage them. But I still have this nil@nil object around. Does anybody have an idea from where nil@nil could come from? Stef
of course it is there newArray at: 34 put: Point new. now could not we have a well initialized point? What is the purpose of this one? Stef On Apr 21, 2011, at 6:39 PM, Stéphane Ducasse wrote:
with manuel oriol we started to play with the idea of a randomTester in Pharo. It poses a lot of questions.
Now doing the first experiments, I found an instance of point (nil@nil) (besides reciprocal broken on Point (0@0) and
(Point allInstances select: [:each | each x isNil]) first pointersTo
points me to recreateSpecialObjectsArray
I looked into the literals and others and I could not find.
Each time I execute Smalltalk recreateSpecialObjectsArray
I get a new nil@nil objects.... but forcing a GC garbage them. But I still have this nil@nil object around.
Does anybody have an idea from where nil@nil could come from?
Stef
From can I can see with me newbie search in the VM, it is not used. splObj: 33
ObjectMemory class >> initializeSpecialObjectIndices TheInterruptSemaphore := 30. SelectorCannotInterpret := 34. it jumps from 30 to 34. I search places doing "splObj: 33" but I didn't find anything. Maybe the VM guys can confirm or reject this. Cheers Mariano On Thu, Apr 21, 2011 at 6:42 PM, Stéphane Ducasse <stephane.ducasse@inria.fr
wrote:
of course it is there
newArray at: 34 put: Point new.
now could not we have a well initialized point? What is the purpose of this one?
Stef
On Apr 21, 2011, at 6:39 PM, Stéphane Ducasse wrote:
with manuel oriol we started to play with the idea of a randomTester in Pharo. It poses a lot of questions.
Now doing the first experiments, I found an instance of point (nil@nil) (besides reciprocal broken on Point (0@0) and
(Point allInstances select: [:each | each x isNil]) first pointersTo
points me to recreateSpecialObjectsArray
I looked into the literals and others and I could not find.
Each time I execute Smalltalk recreateSpecialObjectsArray
I get a new nil@nil objects.... but forcing a GC garbage them. But I still have this nil@nil object around.
Does anybody have an idea from where nil@nil could come from?
Stef
-- Mariano http://marianopeck.wordpress.com
On 21 April 2011 18:42, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
of course it is there
    newArray at: 34 put: Point new.
now could not we have a well initialized point? What is the purpose of this one?
probably there was a primitives which doing fast Point allocaiton, and for this it takes an existing point instance as a prototype. I don't know if this slot are used by something ..
Stef
On Apr 21, 2011, at 6:39 PM, Stéphane Ducasse wrote:
with manuel oriol we started to play with the idea of a randomTester in Pharo. It poses a lot of questions.
Now doing the first experiments, I found an instance of point (nil@nil) (besides reciprocal broken on Point (0@0) and
(Point allInstances select: [:each | each x isNil]) first pointersTo
points me to recreateSpecialObjectsArray
I looked into the literals and others and I could not find.
Each time I execute    Smalltalk recreateSpecialObjectsArray
I get a new nil@nil objects.... but forcing a GC garbage them. But I still have this nil@nil object around.
Does anybody have an idea from where nil@nil could come from?
Stef
-- Best regards, Igor Stasenko AKA sig.
On Apr 21, 2011, at 19:32 , Igor Stasenko wrote:
On 21 April 2011 18:42, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
of course it is there
newArray at: 34 put: Point new.
now could not we have a well initialized point? What is the purpose of this one?
probably there was a primitives which doing fast Point allocaiton, and for this it takes an existing point instance as a prototype. I don't know if this slot are used by something ..
It doesn't seem so. I (quickly) checked the VM sources and couldn't find an access to this array slot... Adrian
I would like at least to have a well initialized point because it can break tools using the system to generate examples. Stef On Apr 21, 2011, at 7:32 PM, Igor Stasenko wrote:
probably there was a primitives which doing fast Point allocaiton, and for this it takes an existing point instance as a prototype. I don't know if this slot are used by something ..
participants (4)
-
Adrian Lienhard -
Igor Stasenko -
Mariano Martinez Peck -
Stéphane Ducasse