About (nil@nil)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

About (nil@nil)

Stéphane Ducasse
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




Reply | Threaded
Open this post in threaded view
|

Re: About (nil@nil)

Stéphane Ducasse
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
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: About (nil@nil)

Mariano Martinez Peck
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 <[hidden email]> 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

Reply | Threaded
Open this post in threaded view
|

Re: About (nil@nil)

Igor Stasenko
In reply to this post by Stéphane Ducasse
On 21 April 2011 18:42, Stéphane Ducasse <[hidden email]> 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.

Reply | Threaded
Open this post in threaded view
|

Re: About (nil@nil)

Adrian Lienhard

On Apr 21, 2011, at 19:32 , Igor Stasenko wrote:

> On 21 April 2011 18:42, Stéphane Ducasse <[hidden email]> 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
Reply | Threaded
Open this post in threaded view
|

Re: About (nil@nil)

Stéphane Ducasse
In reply to this post by Igor Stasenko
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 ..