squeak VM 5.0

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

squeak VM 5.0

Alexandre Bergel
Hi!

I just tried Squeak.5.0.0.b9.64*64.app.zip, but I was not able to run  
a pharo core on it.
I have a MacBookPro 10.5.8. I do not know whether this is helpful or  
not. Feel free to ask more info about my config.

Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: squeak VM 5.0

jannik laval
Hi Alex,

PharoCore is a 32bits image.
So it works on Squeak.5.0.0.b9.64*32.app.

I see that Squeak has a 64bits fork image, is it possible to have a Pharo one?
What is the process to do this ?

Cheers,
Jannik


On Dec 4, 2009, at 20:50 , Alexandre Bergel wrote:

> Hi!
>
> I just tried Squeak.5.0.0.b9.64*64.app.zip, but I was not able to run  
> a pharo core on it.
> I have a MacBookPro 10.5.8. I do not know whether this is helpful or  
> not. Feel free to ask more info about my config.
>
> Cheers,
> Alexandre
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: squeak VM 5.0

johnmci
In reply to this post by Alexandre Bergel
Pharo core is a 32bit image, unless someone kindly converted it to a 64bit image last night?  
Hint I"m not going to do this.

Therefore you must use the 64*32.app.

As a reminder
The VM  binary runs either in 32 bit or 64 bit mode.
The VM then reads and interprets a squeak.image, the squeak image can be either 32bit or 64bit.
This leads to 4 different combinations plus the fact that PowerPC 32, and Intel is 32/64 or just 32.

Unfortunately building a VM that deals both with a 32bit and a 64bit at the same time is difficult.

Therefore we have two flavours a VM that reads a 32bit image, and a VM that reads a 64bit image.

The 64*32.app will run 32bit squeak images where a squeak word size is 32 bits.
it runs as a PowerPC 32 bit, Intel 32bit, Intel 64bit.

The 64*64.app will run 64bit squeak images where a squeak word size is 64bits
it runs only as a Intel 64bit.  It is possible that it could run on a 32bit powerpc, 32bit intel, but
frankly I'm not going to check that out yet until we get to the point of having a workable 64bit Pharo image.


Thus in the *near*? future I would like to have a VM that runs in 32 or 64 bit mode that
works with 32bit images, and a VM that runs in 32 or 64 bit mode that works with 64bit images.


On 2009-12-04, at 11:50 AM, Alexandre Bergel wrote:

> Hi!
>
> I just tried Squeak.5.0.0.b9.64*64.app.zip, but I was not able to run  
> a pharo core on it.
> I have a MacBookPro 10.5.8. I do not know whether this is helpful or  
> not. Feel free to ask more info about my config.
>
> Cheers,
> Alexandre
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

--
===========================================================================
John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================





_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: squeak VM 5.0

johnmci
In reply to this post by jannik laval
I think David Lewis made the last one, let's cc him.

Perhaps the process would be

Examine the squeak image.
take the required source that does the system tracing
someone make a MC project (no idea if one exists?)

a) file that into a Pharo image.
b) Correct things like references to Smalltalk, versus SmalltalkImage current
c) run it.
d) place 64bit image on pharo server.

I note to run the system tracer you need to run it either on a PowerPC.
Or on a MacIntel using a 4.x series macintosh VM,  make a copy,  do a get info on the VM
check "Open using Rosetta"

If "Open using Rosetta" is not an option and you are running 10.6 then it is likely you did
not install Rosetta when you upgraded/installed 10.6.  You need to find your 10.6 DVD
and lookup how to install Rosetta after installing 10.6

PS yes you could use a 10.5 series VM for this too.


However to complicate things I don't think anyone has done a Closure based image
and I don't know if that will be a problem. You could take a pre-closure Pharo image
and try it just to get past the point where having the SystemTracer code in a MC is done.


On 2009-12-04, at 1:23 PM, Laval Jannik wrote:

> Hi Alex,
>
> PharoCore is a 32bits image.
> So it works on Squeak.5.0.0.b9.64*32.app.
>
> I see that Squeak has a 64bits fork image, is it possible to have a Pharo one?
> What is the process to do this ?
>
> Cheers,
> Jannik
>
>
> On Dec 4, 2009, at 20:50 , Alexandre Bergel wrote:
>
>> Hi!
>>
>> I just tried Squeak.5.0.0.b9.64*64.app.zip, but I was not able to run  
>> a pharo core on it.
>> I have a MacBookPro 10.5.8. I do not know whether this is helpful or  
>> not. Feel free to ask more info about my config.
>>
>> Cheers,
>> Alexandre
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel  http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

--
===========================================================================
John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================





_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: squeak VM 5.0

jannik laval
Hi John,

Ok, I thried this:
- file in the updated System-Tracer (attached)
        > I modified some references to Smalltalk to SmalltalkImage current, but not all.
- run it
        ok, it runs and generate a new image.
        This is done in a 4.2.2VM runing with rosetta.

Now, when I try to load the new image, VM open a white window (this is not bad :) )
But I don't know what I can do with this, there is no message.

So, I tried also with a pharo10259 and a Squeak 3.10 and I have the same error.

Do you have an idea of the bug ?

Cheers,
Jannik



On Dec 4, 2009, at 22:39 , John M McIntosh wrote:

> I think David Lewis made the last one, let's cc him.
>
> Perhaps the process would be
>
> Examine the squeak image.
> take the required source that does the system tracing
> someone make a MC project (no idea if one exists?)
>
> a) file that into a Pharo image.
> b) Correct things like references to Smalltalk, versus SmalltalkImage current
> c) run it.
> d) place 64bit image on pharo server.
>
> I note to run the system tracer you need to run it either on a PowerPC.
> Or on a MacIntel using a 4.x series macintosh VM,  make a copy,  do a get info on the VM
> check "Open using Rosetta"
>
> If "Open using Rosetta" is not an option and you are running 10.6 then it is likely you did
> not install Rosetta when you upgraded/installed 10.6.  You need to find your 10.6 DVD
> and lookup how to install Rosetta after installing 10.6
>
> PS yes you could use a 10.5 series VM for this too.
>
>
> However to complicate things I don't think anyone has done a Closure based image
> and I don't know if that will be a problem. You could take a pre-closure Pharo image
> and try it just to get past the point where having the SystemTracer code in a MC is done.
>
>
> On 2009-12-04, at 1:23 PM, Laval Jannik wrote:
>
>> Hi Alex,
>>
>> PharoCore is a 32bits image.
>> So it works on Squeak.5.0.0.b9.64*32.app.
>>
>> I see that Squeak has a 64bits fork image, is it possible to have a Pharo one?
>> What is the process to do this ?
>>
>> Cheers,
>> Jannik
>>
>>
>> On Dec 4, 2009, at 20:50 , Alexandre Bergel wrote:
>>
>>> Hi!
>>>
>>> I just tried Squeak.5.0.0.b9.64*64.app.zip, but I was not able to run  
>>> a pharo core on it.
>>> I have a MacBookPro 10.5.8. I do not know whether this is helpful or  
>>> not. Feel free to ask more info about my config.
>>>
>>> Cheers,
>>> Alexandre
>>> --
>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>> Alexandre Bergel  http://www.bergel.eu
>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> --
> ===========================================================================
> John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
> Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
> ===========================================================================
>
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

System-Tracing.2forPharo.cs (61K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: squeak VM 5.0

Stéphane Ducasse
cool jannik
May be we should publish this package system tracer somewhere.
On Dec 5, 2009, at 3:38 PM, Laval Jannik wrote:

> Hi John,
>
> Ok, I thried this:
> - file in the updated System-Tracer (attached)
> > I modified some references to Smalltalk to SmalltalkImage current, but not all.
> - run it
> ok, it runs and generate a new image.
> This is done in a 4.2.2VM runing with rosetta.
>
> Now, when I try to load the new image, VM open a white window (this is not bad :) )
> But I don't know what I can do with this, there is no message.
>
> So, I tried also with a pharo10259 and a Squeak 3.10 and I have the same error.
>
> Do you have an idea of the bug ?
>
> Cheers,
> Jannik
>
> <System-Tracing.2forPharo.cs>
> On Dec 4, 2009, at 22:39 , John M McIntosh wrote:
>
>> I think David Lewis made the last one, let's cc him.
>>
>> Perhaps the process would be
>>
>> Examine the squeak image.
>> take the required source that does the system tracing
>> someone make a MC project (no idea if one exists?)
>>
>> a) file that into a Pharo image.
>> b) Correct things like references to Smalltalk, versus SmalltalkImage current
>> c) run it.
>> d) place 64bit image on pharo server.
>>
>> I note to run the system tracer you need to run it either on a PowerPC.
>> Or on a MacIntel using a 4.x series macintosh VM,  make a copy,  do a get info on the VM
>> check "Open using Rosetta"
>>
>> If "Open using Rosetta" is not an option and you are running 10.6 then it is likely you did
>> not install Rosetta when you upgraded/installed 10.6.  You need to find your 10.6 DVD
>> and lookup how to install Rosetta after installing 10.6
>>
>> PS yes you could use a 10.5 series VM for this too.
>>
>>
>> However to complicate things I don't think anyone has done a Closure based image
>> and I don't know if that will be a problem. You could take a pre-closure Pharo image
>> and try it just to get past the point where having the SystemTracer code in a MC is done.
>>
>>
>> On 2009-12-04, at 1:23 PM, Laval Jannik wrote:
>>
>>> Hi Alex,
>>>
>>> PharoCore is a 32bits image.
>>> So it works on Squeak.5.0.0.b9.64*32.app.
>>>
>>> I see that Squeak has a 64bits fork image, is it possible to have a Pharo one?
>>> What is the process to do this ?
>>>
>>> Cheers,
>>> Jannik
>>>
>>>
>>> On Dec 4, 2009, at 20:50 , Alexandre Bergel wrote:
>>>
>>>> Hi!
>>>>
>>>> I just tried Squeak.5.0.0.b9.64*64.app.zip, but I was not able to run  
>>>> a pharo core on it.
>>>> I have a MacBookPro 10.5.8. I do not know whether this is helpful or  
>>>> not. Feel free to ask more info about my config.
>>>>
>>>> Cheers,
>>>> Alexandre
>>>> --
>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>> Alexandre Bergel  http://www.bergel.eu
>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [hidden email]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>> --
>> ===========================================================================
>> John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
>> Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
>> ===========================================================================
>>
>>
>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: squeak VM 5.0

jannik laval
The problem is that it does not work fine.
But I publish it soon.

Jannik

On Dec 5, 2009, at 15:48 , Stéphane Ducasse wrote:

> cool jannik
> May be we should publish this package system tracer somewhere.
> On Dec 5, 2009, at 3:38 PM, Laval Jannik wrote:
>
>> Hi John,
>>
>> Ok, I thried this:
>> - file in the updated System-Tracer (attached)
>> > I modified some references to Smalltalk to SmalltalkImage current, but not all.
>> - run it
>> ok, it runs and generate a new image.
>> This is done in a 4.2.2VM runing with rosetta.
>>
>> Now, when I try to load the new image, VM open a white window (this is not bad :) )
>> But I don't know what I can do with this, there is no message.
>>
>> So, I tried also with a pharo10259 and a Squeak 3.10 and I have the same error.
>>
>> Do you have an idea of the bug ?
>>
>> Cheers,
>> Jannik
>>
>> <System-Tracing.2forPharo.cs>
>> On Dec 4, 2009, at 22:39 , John M McIntosh wrote:
>>
>>> I think David Lewis made the last one, let's cc him.
>>>
>>> Perhaps the process would be
>>>
>>> Examine the squeak image.
>>> take the required source that does the system tracing
>>> someone make a MC project (no idea if one exists?)
>>>
>>> a) file that into a Pharo image.
>>> b) Correct things like references to Smalltalk, versus SmalltalkImage current
>>> c) run it.
>>> d) place 64bit image on pharo server.
>>>
>>> I note to run the system tracer you need to run it either on a PowerPC.
>>> Or on a MacIntel using a 4.x series macintosh VM,  make a copy,  do a get info on the VM
>>> check "Open using Rosetta"
>>>
>>> If "Open using Rosetta" is not an option and you are running 10.6 then it is likely you did
>>> not install Rosetta when you upgraded/installed 10.6.  You need to find your 10.6 DVD
>>> and lookup how to install Rosetta after installing 10.6
>>>
>>> PS yes you could use a 10.5 series VM for this too.
>>>
>>>
>>> However to complicate things I don't think anyone has done a Closure based image
>>> and I don't know if that will be a problem. You could take a pre-closure Pharo image
>>> and try it just to get past the point where having the SystemTracer code in a MC is done.
>>>
>>>
>>> On 2009-12-04, at 1:23 PM, Laval Jannik wrote:
>>>
>>>> Hi Alex,
>>>>
>>>> PharoCore is a 32bits image.
>>>> So it works on Squeak.5.0.0.b9.64*32.app.
>>>>
>>>> I see that Squeak has a 64bits fork image, is it possible to have a Pharo one?
>>>> What is the process to do this ?
>>>>
>>>> Cheers,
>>>> Jannik
>>>>
>>>>
>>>> On Dec 4, 2009, at 20:50 , Alexandre Bergel wrote:
>>>>
>>>>> Hi!
>>>>>
>>>>> I just tried Squeak.5.0.0.b9.64*64.app.zip, but I was not able to run  
>>>>> a pharo core on it.
>>>>> I have a MacBookPro 10.5.8. I do not know whether this is helpful or  
>>>>> not. Feel free to ask more info about my config.
>>>>>
>>>>> Cheers,
>>>>> Alexandre
>>>>> --
>>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>>> Alexandre Bergel  http://www.bergel.eu
>>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> [hidden email]
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [hidden email]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>> --
>>> ===========================================================================
>>> John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
>>> Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
>>> ===========================================================================
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: squeak VM 5.0

David T. Lewis
In reply to this post by johnmci
Hi,

(cc to vm-dev list)

The 64-bit image that I provided is a direct descendent of the original
one that was produced by Dan and Ian.

Original 64-bit image:
  http://squeakvm.org/squeak64/dist3/Squeak64-3.8g-6548.image.tar.gz

My update:
  http://squeakvm.org/squeak64/sq64-dtl.zip

The original one was produced with a specialized system tracer, the code
for which is here:
  http://squeakvm.org/squeak64/dist3/ChangeSets/System-Tracing.2.cs

I did *not* use the system tracer to produce the updated image. Instead,
it is the original image with various updates that I made over the years to
keep up with VM developments (which were not entirely backward compatible).
The original image will not run on a current VM, and that is the reason
that I posted my update.

The system tracer (including the specialized 64-bit one) does not work
on little-endian machines. Somebody (tm) should fix this one of these
days. There are a couple of Mantis reports related to this:
  http://bugs.squeak.org/view.php?id=5240
  http://bugs.squeak.org/view.php?id=5239

As far as producing a 64-bit Pharo image, I think there are two things
that could be tried:

1) Fix the system tracer to work on little-endian boxes (probably
not too difficult), then try tracing some Pharo and Squeak images
into 64-bit format.

2) Find somebody who has a big-endian Mac available, and have them
try tracing some images.

I can think of no reason why the newer images with closure support
could not be traced into 64-bit formats, but I guess the only way to
find out is to try it and see what happens.

Dave


On Fri, Dec 04, 2009 at 01:39:28PM -0800, John M McIntosh wrote:

> I think David Lewis made the last one, let's cc him.
>
> Perhaps the process would be
>
> Examine the squeak image.
> take the required source that does the system tracing
> someone make a MC project (no idea if one exists?)
>
> a) file that into a Pharo image.
> b) Correct things like references to Smalltalk, versus SmalltalkImage current
> c) run it.
> d) place 64bit image on pharo server.
>
> I note to run the system tracer you need to run it either on a PowerPC.
> Or on a MacIntel using a 4.x series macintosh VM,  make a copy,  do a get info on the VM
> check "Open using Rosetta"
>
> If "Open using Rosetta" is not an option and you are running 10.6 then it is likely you did
> not install Rosetta when you upgraded/installed 10.6.  You need to find your 10.6 DVD
> and lookup how to install Rosetta after installing 10.6
>
> PS yes you could use a 10.5 series VM for this too.
>
>
> However to complicate things I don't think anyone has done a Closure based image
> and I don't know if that will be a problem. You could take a pre-closure Pharo image
> and try it just to get past the point where having the SystemTracer code in a MC is done.
>
>
> On 2009-12-04, at 1:23 PM, Laval Jannik wrote:
>
> > Hi Alex,
> >
> > PharoCore is a 32bits image.
> > So it works on Squeak.5.0.0.b9.64*32.app.
> >
> > I see that Squeak has a 64bits fork image, is it possible to have a Pharo one?
> > What is the process to do this ?
> >
> > Cheers,
> > Jannik
> >

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: squeak VM 5.0

johnmci
In reply to this post by jannik laval

On 2009-12-05, at 6:38 AM, Laval Jannik wrote:

> Hi John,
>
> Ok, I thried this:
> - file in the updated System-Tracer (attached)
> > I modified some references to Smalltalk to SmalltalkImage current, but not all.
> - run it
> ok, it runs and generate a new image.
> This is done in a 4.2.2VM runing with rosetta.
>
> Now, when I try to load the new image, VM open a white window (this is not bad :) )
> But I don't know what I can do with this, there is no message.
>
> So, I tried also with a pharo10259 and a Squeak 3.10 and I have the same error.
>
> Do you have an idea of the bug ?
Yes

> > I modified some references to Smalltalk to SmalltalkImage current, but not all.

*all* references have to be checked
You get a DNU at startup time, dead...
SystemTracer2>>processStartup
See usage of Smalltalk


hacking a bit more gets you to




--
===========================================================================
John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================





_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

PastedGraphic-1.tiff (77K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: squeak VM 5.0

johnmci

>
> hacking a bit more gets you to
> <PastedGraphic-1.tiff>

In a few spare moments as I await the Arctic front to bury us in snow...

I consider the
return: error

has to be related to the move from BlockContext to BlockClosure
so in
object:allFieldsWithIndex:collect:

I added
object class = BlockClosure ifTrue:
                [(object instVarAt: 3) ifNotNil:
                        ["May need to adjust PC and startPC if changing wordSize..."
                        results at: 2 put: (block value: (object instVarAt: 2)+(self pcDeltaForMethod: object method) value: 2)]].

mmm try that get this more interesting error


THERE_BE_DRAGONS_HERE
Unwind error during termination
5 December 2009 6:13:31 pm

VM: Mac OS - intel - 1062 - Squeak3.8.1 of '28 Aug 2006' [latest update: #6747] 9.0
Image: PharoCore1.0rc1 [Latest update: #10496]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /Volumes/px2/business/SqueakiPhone/SqueakObjCBasedForOSXAndIPhone/SqueakNoOGLIPhoneOSX/testingImages/64bittracingchangesets
Trusted Dir /foobar/tooBar/forSqueak/bogus/
Untrusted Dir /foobar/tooBar/forSqueak/bogus/

Array(Object)>>error:
        Receiver: #()
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
#()

Array(Object)>>errorSubscriptBounds:
        Receiver: #()
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
#()

Array(Object)>>at:
        Receiver: #()
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
#()

Decompiler>>pushTemporaryVariable:
        Receiver: a Decompiler
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                sender: a CompiledMethod(1253: InstructionStream>>debuggerMap)
                pc: 29
                constructor: {a DecompilerConstructor}
                method: a CompiledMethod(1253: InstructionStream>>debuggerMap)
                instVars: an Array({sender} {pc})
                tempVars: #()
                constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2})
                stack: an OrderedCollection({pc} {sender
        debuggerMap (sender blockCopy: sender...etc...
                statements: an OrderedCollection()
                lastPc: 28
                exit: nil
                caseExits: an OrderedCollection()
                lastJumpPc: nil
                lastReturnPc: nil
                limit: 45
                hasValue: nil
                blockStackBase: 0
                numLocalTemps: 0
                blockStartsToTempVars: nil
                tempVarCount: 0

Decompiler(InstructionStream)>>interpretNextInstructionFor:
        Receiver: a Decompiler
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                sender: a CompiledMethod(1253: InstructionStream>>debuggerMap)
                pc: 29
                constructor: {a DecompilerConstructor}
                method: a CompiledMethod(1253: InstructionStream>>debuggerMap)
                instVars: an Array({sender} {pc})
                tempVars: #()
                constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2})
                stack: an OrderedCollection({pc} {sender
        debuggerMap (sender blockCopy: sender...etc...
                statements: an OrderedCollection()
                lastPc: 28
                exit: nil
                caseExits: an OrderedCollection()
                lastJumpPc: nil
                lastReturnPc: nil
                limit: 45
                hasValue: nil
                blockStackBase: 0
                numLocalTemps: 0
                blockStartsToTempVars: nil
                tempVarCount: 0

Decompiler>>interpretNextInstructionFor:
        Receiver: a Decompiler
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                sender: a CompiledMethod(1253: InstructionStream>>debuggerMap)
                pc: 29
                constructor: {a DecompilerConstructor}
                method: a CompiledMethod(1253: InstructionStream>>debuggerMap)
                instVars: an Array({sender} {pc})
                tempVars: #()
                constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2})
                stack: an OrderedCollection({pc} {sender
        debuggerMap (sender blockCopy: sender...etc...
                statements: an OrderedCollection()
                lastPc: 28
                exit: nil
                caseExits: an OrderedCollection()
                lastJumpPc: nil
                lastReturnPc: nil
                limit: 45
                hasValue: nil
                blockStackBase: 0
                numLocalTemps: 0
                blockStartsToTempVars: nil
                tempVarCount: 0

Decompiler>>statementsTo:
        Receiver: a Decompiler
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                sender: a CompiledMethod(1253: InstructionStream>>debuggerMap)
                pc: 29
                constructor: {a DecompilerConstructor}
                method: a CompiledMethod(1253: InstructionStream>>debuggerMap)
                instVars: an Array({sender} {pc})
                tempVars: #()
                constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2})
                stack: an OrderedCollection({pc} {sender
        debuggerMap (sender blockCopy: sender...etc...
                statements: an OrderedCollection()
                lastPc: 28
                exit: nil
                caseExits: an OrderedCollection()
                lastJumpPc: nil
                lastReturnPc: nil
                limit: 45
                hasValue: nil
                blockStackBase: 0
                numLocalTemps: 0
                blockStartsToTempVars: nil
                tempVarCount: 0

Decompiler>>blockTo:
        Receiver: a Decompiler
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                sender: a CompiledMethod(1253: InstructionStream>>debuggerMap)
                pc: 29
                constructor: {a DecompilerConstructor}
                method: a CompiledMethod(1253: InstructionStream>>debuggerMap)
                instVars: an Array({sender} {pc})
                tempVars: #()
                constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2})
                stack: an OrderedCollection({pc} {sender
        debuggerMap (sender blockCopy: sender...etc...
                statements: an OrderedCollection()
                lastPc: 28
                exit: nil
                caseExits: an OrderedCollection()
                lastJumpPc: nil
                lastReturnPc: nil
                limit: 45
                hasValue: nil
                blockStackBase: 0
                numLocalTemps: 0
                blockStartsToTempVars: nil
                tempVarCount: 0

Decompiler>>decompile:in:method:using:
        Receiver: a Decompiler
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                sender: a CompiledMethod(1253: InstructionStream>>debuggerMap)
                pc: 29
                constructor: {a DecompilerConstructor}
                method: a CompiledMethod(1253: InstructionStream>>debuggerMap)
                instVars: an Array({sender} {pc})
                tempVars: #()
                constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2})
                stack: an OrderedCollection({pc} {sender
        debuggerMap (sender blockCopy: sender...etc...
                statements: an OrderedCollection()
                lastPc: 28
                exit: nil
                caseExits: an OrderedCollection()
                lastJumpPc: nil
                lastReturnPc: nil
                limit: 45
                hasValue: nil
                blockStackBase: 0
                numLocalTemps: 0
                blockStartsToTempVars: nil
                tempVarCount: 0

Decompiler>>decompile:in:method:
        Receiver: a Decompiler
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                sender: a CompiledMethod(1253: InstructionStream>>debuggerMap)
                pc: 29
                constructor: {a DecompilerConstructor}
                method: a CompiledMethod(1253: InstructionStream>>debuggerMap)
                instVars: an Array({sender} {pc})
                tempVars: #()
                constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2})
                stack: an OrderedCollection({pc} {sender
        debuggerMap (sender blockCopy: sender...etc...
                statements: an OrderedCollection()
                lastPc: 28
                exit: nil
                caseExits: an OrderedCollection()
                lastJumpPc: nil
                lastReturnPc: nil
                limit: 45
                hasValue: nil
                blockStackBase: 0
                numLocalTemps: 0
                blockStartsToTempVars: nil
                tempVarCount: 0

CompiledMethod>>getSourceFor:in:
        Receiver: a CompiledMethod(1253: InstructionStream>>debuggerMap)
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
a CompiledMethod(1253: InstructionStream>>debuggerMap)

CompiledMethod>>methodNode
        Receiver: a CompiledMethod(1253: InstructionStream>>debuggerMap)
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
a CompiledMethod(1253: InstructionStream>>debuggerMap)

[] in DebuggerMethodMap class>>forMethod:
        Receiver: DebuggerMethodMap
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                superclass: Object
                methodDict: a MethodDictionary(#abstractSourceMap->a CompiledMethod(3330: Debug...etc...
                format: 140
                instanceVariables: #('timestamp' 'methodReference' 'methodNode' 'abstractSource...etc...
                organization: ('accessing' markRecentlyUsed method namedTempAt:in: namedTempAt:...etc...
                subclasses: {DebuggerMethodMapForBlueBookMethods. DebuggerMethodMapForClosureCo...etc...
                name: #DebuggerMethodMap
                classPool: a Dictionary(#MapCache->a WeakIdentityKeyDictionary(a CompiledMethod...etc...
                sharedPools: nil
                environment: Smalltalk
                category: #'Tools-Debugger'
                traitComposition: nil
                localSelectors: nil

WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
        Receiver: a WeakIdentityKeyDictionary(a CompiledMethod(1410: HandMorph>>handleEvent:)->a DebuggerMet...etc...
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                tally: 16
                array: an Array(a CompiledMethod(3440: Morph>>processEvent:)->a DebuggerMethodM...etc...

DebuggerMethodMap class>>forMethod:
        Receiver: DebuggerMethodMap
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                superclass: Object
                methodDict: a MethodDictionary(#abstractSourceMap->a CompiledMethod(3330: Debug...etc...
                format: 140
                instanceVariables: #('timestamp' 'methodReference' 'methodNode' 'abstractSource...etc...
                organization: ('accessing' markRecentlyUsed method namedTempAt:in: namedTempAt:...etc...
                subclasses: {DebuggerMethodMapForBlueBookMethods. DebuggerMethodMapForClosureCo...etc...
                name: #DebuggerMethodMap
                classPool: a Dictionary(#MapCache->a WeakIdentityKeyDictionary(a CompiledMethod...etc...
                sharedPools: nil
                environment: Smalltalk
                category: #'Tools-Debugger'
                traitComposition: nil
                localSelectors: nil

CompiledMethod>>debuggerMap
        Receiver: a CompiledMethod(1253: InstructionStream>>debuggerMap)
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
a CompiledMethod(1253: InstructionStream>>debuggerMap)

MethodContext(InstructionStream)>>debuggerMap
        Receiver: MethodContext(InstructionStream)>>debuggerMap
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                sender: Debugger>>selectedMessage
                pc: 44
                stackp: 0
                method: a CompiledMethod(1253: InstructionStream>>debuggerMap)
                closureOrNil: nil
                receiver: CompiledMethod>>methodNode

Debugger>>selectedMessage
        Receiver: a Debugger
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                dependents: a DependentsArray(a SystemWindow(3468) a PluggableListMorph(1072) a...etc...
                contents: nil
                currentCompiledMethod: nil
                contentsSymbol: #source
                interruptedProcess: a Process in Debugger class>>openOn:context:label:contents:...etc...
                interruptedController: nil
                contextStack: an OrderedCollection(CompiledMethod(Object)>>error: CompiledMetho...etc...
                contextStackTop: CompiledMethod(Object)>>error:
                contextStackIndex: 17
                contextStackList: an OrderedCollection('CompiledMethod(Object)>>error:' 'Compil...etc...
                receiverInspector: an Inspector
                contextVariablesInspector: a ContextVariablesInspector
                externalInterrupt: false
                proceedValue: nil
                selectingPC: true
                debuggerMap: nil
                savedCursor: ((CursorWithMask
        extent: 16@16
        depth: 1
        fromArray: #(
                2r0
                2...etc...
                isolationHead: nil
                failedProject: nil
                errorWasInUIProcess: true
                labelString: nil

Debugger>>contextStackIndex:oldContextWas:
        Receiver: a Debugger
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                dependents: a DependentsArray(a SystemWindow(3468) a PluggableListMorph(1072) a...etc...
                contents: nil
                currentCompiledMethod: nil
                contentsSymbol: #source
                interruptedProcess: a Process in Debugger class>>openOn:context:label:contents:...etc...
                interruptedController: nil
                contextStack: an OrderedCollection(CompiledMethod(Object)>>error: CompiledMetho...etc...
                contextStackTop: CompiledMethod(Object)>>error:
                contextStackIndex: 17
                contextStackList: an OrderedCollection('CompiledMethod(Object)>>error:' 'Compil...etc...
                receiverInspector: an Inspector
                contextVariablesInspector: a ContextVariablesInspector
                externalInterrupt: false
                proceedValue: nil
                selectingPC: true
                debuggerMap: nil
                savedCursor: ((CursorWithMask
        extent: 16@16
        depth: 1
        fromArray: #(
                2r0
                2...etc...
                isolationHead: nil
                failedProject: nil
                errorWasInUIProcess: true
                labelString: nil

Debugger>>toggleContextStackIndex:
        Receiver: a Debugger
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                dependents: a DependentsArray(a SystemWindow(3468) a PluggableListMorph(1072) a...etc...
                contents: nil
                currentCompiledMethod: nil
                contentsSymbol: #source
                interruptedProcess: a Process in Debugger class>>openOn:context:label:contents:...etc...
                interruptedController: nil
                contextStack: an OrderedCollection(CompiledMethod(Object)>>error: CompiledMetho...etc...
                contextStackTop: CompiledMethod(Object)>>error:
                contextStackIndex: 17
                contextStackList: an OrderedCollection('CompiledMethod(Object)>>error:' 'Compil...etc...
                receiverInspector: an Inspector
                contextVariablesInspector: a ContextVariablesInspector
                externalInterrupt: false
                proceedValue: nil
                selectingPC: true
                debuggerMap: nil
                savedCursor: ((CursorWithMask
        extent: 16@16
        depth: 1
        fromArray: #(
                2r0
                2...etc...
                isolationHead: nil
                failedProject: nil
                errorWasInUIProcess: true
                labelString: nil

PluggableListMorph>>changeModelSelection:
        Receiver: a PluggableListMorph(1072)
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                bounds: 18@31 corner: 608@201
                owner: a SystemWindow(3468)
                submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775))
                fullBounds: nil
                color: Color white
                extension: a MorphExtension (973) [locked]  [other:  (layoutFrame -> a LayoutFr...etc...
                borderWidth: 1
                borderColor: (Color r: 0.667 g: 0.667 b: 0.667)
                model: a Debugger
                slotName: nil
                open: false
                scrollBar: a ScrollBar(3011)
                scroller: a TransformMorph(3775)
                retractableScrollBar: false
                scrollBarOnLeft: false
                getMenuSelector: #contextStackMenu:shifted:
                getMenuTitleSelector: #messageListSelectorTitle
                hasFocus: true
                hScrollBar: a ScrollBar(2791)
                list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc...
                getListSelector: #contextStackList
                getListSizeSelector: nil
                getListElementSelector: nil
                getIndexSelector: #contextStackIndex
                setIndexSelector: #toggleContextStackIndex:
                keystrokeActionSelector: #contextStackKey:from:
                autoDeselect: true
                lastKeystrokeTime: 0
                lastKeystrokes: ''
                doubleClickSelector: nil
                handlesBasicKeys: nil
                potentialDropRow: nil
                listMorph: a LazyListMorph(1316)
                hScrollRangeCache: nil

PluggableListMorph>>mouseUp:
        Receiver: a PluggableListMorph(1072)
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                bounds: 18@31 corner: 608@201
                owner: a SystemWindow(3468)
                submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775))
                fullBounds: nil
                color: Color white
                extension: a MorphExtension (973) [locked]  [other:  (layoutFrame -> a LayoutFr...etc...
                borderWidth: 1
                borderColor: (Color r: 0.667 g: 0.667 b: 0.667)
                model: a Debugger
                slotName: nil
                open: false
                scrollBar: a ScrollBar(3011)
                scroller: a TransformMorph(3775)
                retractableScrollBar: false
                scrollBarOnLeft: false
                getMenuSelector: #contextStackMenu:shifted:
                getMenuTitleSelector: #messageListSelectorTitle
                hasFocus: true
                hScrollBar: a ScrollBar(2791)
                list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc...
                getListSelector: #contextStackList
                getListSizeSelector: nil
                getListElementSelector: nil
                getIndexSelector: #contextStackIndex
                setIndexSelector: #toggleContextStackIndex:
                keystrokeActionSelector: #contextStackKey:from:
                autoDeselect: true
                lastKeystrokeTime: 0
                lastKeystrokes: ''
                doubleClickSelector: nil
                handlesBasicKeys: nil
                potentialDropRow: nil
                listMorph: a LazyListMorph(1316)
                hScrollRangeCache: nil

PluggableListMorph(Morph)>>handleMouseUp:
        Receiver: a PluggableListMorph(1072)
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                bounds: 18@31 corner: 608@201
                owner: a SystemWindow(3468)
                submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775))
                fullBounds: nil
                color: Color white
                extension: a MorphExtension (973) [locked]  [other:  (layoutFrame -> a LayoutFr...etc...
                borderWidth: 1
                borderColor: (Color r: 0.667 g: 0.667 b: 0.667)
                model: a Debugger
                slotName: nil
                open: false
                scrollBar: a ScrollBar(3011)
                scroller: a TransformMorph(3775)
                retractableScrollBar: false
                scrollBarOnLeft: false
                getMenuSelector: #contextStackMenu:shifted:
                getMenuTitleSelector: #messageListSelectorTitle
                hasFocus: true
                hScrollBar: a ScrollBar(2791)
                list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc...
                getListSelector: #contextStackList
                getListSizeSelector: nil
                getListElementSelector: nil
                getIndexSelector: #contextStackIndex
                setIndexSelector: #toggleContextStackIndex:
                keystrokeActionSelector: #contextStackKey:from:
                autoDeselect: true
                lastKeystrokeTime: 0
                lastKeystrokes: ''
                doubleClickSelector: nil
                handlesBasicKeys: nil
                potentialDropRow: nil
                listMorph: a LazyListMorph(1316)
                hScrollRangeCache: nil

MouseButtonEvent>>sentTo:
        Receiver: [206@151 mouseUp 103652 nil]
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                timeStamp: 103652
                source: a HandMorph(3216)
                windowIndex: nil
                type: #mouseUp
                buttons: 0
                position: 206@151
                handler: nil
                wasHandled: true
                whichButton: 4

PluggableListMorph(Morph)>>handleEvent:
        Receiver: a PluggableListMorph(1072)
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                bounds: 18@31 corner: 608@201
                owner: a SystemWindow(3468)
                submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775))
                fullBounds: nil
                color: Color white
                extension: a MorphExtension (973) [locked]  [other:  (layoutFrame -> a LayoutFr...etc...
                borderWidth: 1
                borderColor: (Color r: 0.667 g: 0.667 b: 0.667)
                model: a Debugger
                slotName: nil
                open: false
                scrollBar: a ScrollBar(3011)
                scroller: a TransformMorph(3775)
                retractableScrollBar: false
                scrollBarOnLeft: false
                getMenuSelector: #contextStackMenu:shifted:
                getMenuTitleSelector: #messageListSelectorTitle
                hasFocus: true
                hScrollBar: a ScrollBar(2791)
                list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc...
                getListSelector: #contextStackList
                getListSizeSelector: nil
                getListElementSelector: nil
                getIndexSelector: #contextStackIndex
                setIndexSelector: #toggleContextStackIndex:
                keystrokeActionSelector: #contextStackKey:from:
                autoDeselect: true
                lastKeystrokeTime: 0
                lastKeystrokes: ''
                doubleClickSelector: nil
                handlesBasicKeys: nil
                potentialDropRow: nil
                listMorph: a LazyListMorph(1316)
                hScrollRangeCache: nil

MorphicEventDispatcher>>dispatchDefault:with:
        Receiver: a MorphicEventDispatcher
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                lastType: #mouseUp
                lastDispatch: #dispatchDefault:with:

MorphicEventDispatcher>>dispatchEvent:with:
        Receiver: a MorphicEventDispatcher
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                lastType: #mouseUp
                lastDispatch: #dispatchDefault:with:

PluggableListMorph(Morph)>>processEvent:using:
        Receiver: a PluggableListMorph(1072)
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                bounds: 18@31 corner: 608@201
                owner: a SystemWindow(3468)
                submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775))
                fullBounds: nil
                color: Color white
                extension: a MorphExtension (973) [locked]  [other:  (layoutFrame -> a LayoutFr...etc...
                borderWidth: 1
                borderColor: (Color r: 0.667 g: 0.667 b: 0.667)
                model: a Debugger
                slotName: nil
                open: false
                scrollBar: a ScrollBar(3011)
                scroller: a TransformMorph(3775)
                retractableScrollBar: false
                scrollBarOnLeft: false
                getMenuSelector: #contextStackMenu:shifted:
                getMenuTitleSelector: #messageListSelectorTitle
                hasFocus: true
                hScrollBar: a ScrollBar(2791)
                list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc...
                getListSelector: #contextStackList
                getListSizeSelector: nil
                getListElementSelector: nil
                getIndexSelector: #contextStackIndex
                setIndexSelector: #toggleContextStackIndex:
                keystrokeActionSelector: #contextStackKey:from:
                autoDeselect: true
                lastKeystrokeTime: 0
                lastKeystrokes: ''
                doubleClickSelector: nil
                handlesBasicKeys: nil
                potentialDropRow: nil
                listMorph: a LazyListMorph(1316)
                hScrollRangeCache: nil

PluggableListMorph(Morph)>>processEvent:
        Receiver: a PluggableListMorph(1072)
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                bounds: 18@31 corner: 608@201
                owner: a SystemWindow(3468)
                submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775))
                fullBounds: nil
                color: Color white
                extension: a MorphExtension (973) [locked]  [other:  (layoutFrame -> a LayoutFr...etc...
                borderWidth: 1
                borderColor: (Color r: 0.667 g: 0.667 b: 0.667)
                model: a Debugger
                slotName: nil
                open: false
                scrollBar: a ScrollBar(3011)
                scroller: a TransformMorph(3775)
                retractableScrollBar: false
                scrollBarOnLeft: false
                getMenuSelector: #contextStackMenu:shifted:
                getMenuTitleSelector: #messageListSelectorTitle
                hasFocus: true
                hScrollBar: a ScrollBar(2791)
                list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc...
                getListSelector: #contextStackList
                getListSizeSelector: nil
                getListElementSelector: nil
                getIndexSelector: #contextStackIndex
                setIndexSelector: #toggleContextStackIndex:
                keystrokeActionSelector: #contextStackKey:from:
                autoDeselect: true
                lastKeystrokeTime: 0
                lastKeystrokes: ''
                doubleClickSelector: nil
                handlesBasicKeys: nil
                potentialDropRow: nil
                listMorph: a LazyListMorph(1316)
                hScrollRangeCache: nil

PluggableListMorph>>handleFocusEvent:
        Receiver: a PluggableListMorph(1072)
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                bounds: 18@31 corner: 608@201
                owner: a SystemWindow(3468)
                submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775))
                fullBounds: nil
                color: Color white
                extension: a MorphExtension (973) [locked]  [other:  (layoutFrame -> a LayoutFr...etc...
                borderWidth: 1
                borderColor: (Color r: 0.667 g: 0.667 b: 0.667)
                model: a Debugger
                slotName: nil
                open: false
                scrollBar: a ScrollBar(3011)
                scroller: a TransformMorph(3775)
                retractableScrollBar: false
                scrollBarOnLeft: false
                getMenuSelector: #contextStackMenu:shifted:
                getMenuTitleSelector: #messageListSelectorTitle
                hasFocus: true
                hScrollBar: a ScrollBar(2791)
                list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc...
                getListSelector: #contextStackList
                getListSizeSelector: nil
                getListElementSelector: nil
                getIndexSelector: #contextStackIndex
                setIndexSelector: #toggleContextStackIndex:
                keystrokeActionSelector: #contextStackKey:from:
                autoDeselect: true
                lastKeystrokeTime: 0
                lastKeystrokes: ''
                doubleClickSelector: nil
                handlesBasicKeys: nil
                potentialDropRow: nil
                listMorph: a LazyListMorph(1316)
                hScrollRangeCache: nil

[] in HandMorph>>sendFocusEvent:to:clear:
        Receiver: a HandMorph(3216)
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                bounds: 352@84 corner: 368@100
                owner: a PasteUpMorph(1622) [world]
                submorphs: #()
                fullBounds: 352@84 corner: 368@100
                color: Color blue
                extension: a MorphExtension (539) [eventHandler = an EventHandler]
                mouseFocus: nil
                keyboardFocus: a PluggableButtonMorph(1282)
                eventListeners: nil
                mouseListeners: nil
                keyboardListeners: nil
                mouseClickState: nil
                mouseOverHandler: a MouseOverHandler
                lastMouseEvent: [352@84 mouseUp 109252 nil]
                targetOffset: 40@23
                damageRecorder: a DamageRecorder
                cacheCanvas: nil
                cachedCanvasHasHoles: true
                temporaryCursor: nil
                temporaryCursorOffset: nil
                hardwareCursor: nil
                hasChanged: true
                savedPatch: nil
                userInitials: ''
                lastEventBuffer: #(1 109252 352 84 0 0 0 1)
                lastKeyScanCode: 2
                combinedChar: nil

[] in PasteUpMorph>>becomeActiveDuring:
        Receiver: a PasteUpMorph(1622) [world]
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                bounds: 0@0 corner: 1102@896
                owner: nil
                submorphs: an Array(a TaskbarMorph(3095) a SystemProgressMorph(3746) a PreDebug...etc...
                fullBounds: nil
                color: (Color r: 0.97 g: 0.98 b: 1.0)
                extension: a MorphExtension (2543) [eventHandler = an EventHandler]  [other:  (...etc...
                borderWidth: 0
                borderColor: (Color r: 0.03 g: 0.02 b: 0.0)
                presenter: a Presenter (1246)
                model: a MorphicModel(1926)
                cursor: 1
                padding: 3
                backgroundMorph: nil
                isPartsBin: nil
                autoLineLayout: false
                indicateCursor: nil
                resizeToFit: nil
                wantsMouseOverHalos: nil
                worldState: a WorldState
                griddingOn: nil

BlockClosure>>on:do:
        Receiver: [closure] in PasteUpMorph>>becomeActiveDuring:
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                outerContext: PasteUpMorph>>becomeActiveDuring:
                startpc: 111
                numArgs: 0

PasteUpMorph>>becomeActiveDuring:
        Receiver: a PasteUpMorph(1622) [world]
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                bounds: 0@0 corner: 1102@896
                owner: nil
                submorphs: an Array(a TaskbarMorph(3095) a SystemProgressMorph(3746) a PreDebug...etc...
                fullBounds: nil
                color: (Color r: 0.97 g: 0.98 b: 1.0)
                extension: a MorphExtension (2543) [eventHandler = an EventHandler]  [other:  (...etc...
                borderWidth: 0
                borderColor: (Color r: 0.03 g: 0.02 b: 0.0)
                presenter: a Presenter (1246)
                model: a MorphicModel(1926)
                cursor: 1
                padding: 3
                backgroundMorph: nil
                isPartsBin: nil
                autoLineLayout: false
                indicateCursor: nil
                resizeToFit: nil
                wantsMouseOverHalos: nil
                worldState: a WorldState
                griddingOn: nil

HandMorph>>sendFocusEvent:to:clear:
        Receiver: a HandMorph(3216)
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                bounds: 352@84 corner: 368@100
                owner: a PasteUpMorph(1622) [world]
                submorphs: #()
                fullBounds: 352@84 corner: 368@100
                color: Color blue
                extension: a MorphExtension (539) [eventHandler = an EventHandler]
                mouseFocus: nil
                keyboardFocus: a PluggableButtonMorph(1282)
                eventListeners: nil
                mouseListeners: nil
                keyboardListeners: nil
                mouseClickState: nil
                mouseOverHandler: a MouseOverHandler
                lastMouseEvent: [352@84 mouseUp 109252 nil]
                targetOffset: 40@23
                damageRecorder: a DamageRecorder
                cacheCanvas: nil
                cachedCanvasHasHoles: true
                temporaryCursor: nil
                temporaryCursorOffset: nil
                hardwareCursor: nil
                hasChanged: true
                savedPatch: nil
                userInitials: ''
                lastEventBuffer: #(1 109252 352 84 0 0 0 1)
                lastKeyScanCode: 2
                combinedChar: nil

HandMorph>>sendEvent:focus:clear:
        Receiver: a HandMorph(3216)
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                bounds: 352@84 corner: 368@100
                owner: a PasteUpMorph(1622) [world]
                submorphs: #()
                fullBounds: 352@84 corner: 368@100
                color: Color blue
                extension: a MorphExtension (539) [eventHandler = an EventHandler]
                mouseFocus: nil
                keyboardFocus: a PluggableButtonMorph(1282)
                eventListeners: nil
                mouseListeners: nil
                keyboardListeners: nil
                mouseClickState: nil
                mouseOverHandler: a MouseOverHandler
                lastMouseEvent: [352@84 mouseUp 109252 nil]
                targetOffset: 40@23
                damageRecorder: a DamageRecorder
                cacheCanvas: nil
                cachedCanvasHasHoles: true
                temporaryCursor: nil
                temporaryCursorOffset: nil
                hardwareCursor: nil
                hasChanged: true
                savedPatch: nil
                userInitials: ''
                lastEventBuffer: #(1 109252 352 84 0 0 0 1)
                lastKeyScanCode: 2
                combinedChar: nil

HandMorph>>sendMouseEvent:
        Receiver: a HandMorph(3216)
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                bounds: 352@84 corner: 368@100
                owner: a PasteUpMorph(1622) [world]
                submorphs: #()
                fullBounds: 352@84 corner: 368@100
                color: Color blue
                extension: a MorphExtension (539) [eventHandler = an EventHandler]
                mouseFocus: nil
                keyboardFocus: a PluggableButtonMorph(1282)
                eventListeners: nil
                mouseListeners: nil
                keyboardListeners: nil
                mouseClickState: nil
                mouseOverHandler: a MouseOverHandler
                lastMouseEvent: [352@84 mouseUp 109252 nil]
                targetOffset: 40@23
                damageRecorder: a DamageRecorder
                cacheCanvas: nil
                cachedCanvasHasHoles: true
                temporaryCursor: nil
                temporaryCursorOffset: nil
                hardwareCursor: nil
                hasChanged: true
                savedPatch: nil
                userInitials: ''
                lastEventBuffer: #(1 109252 352 84 0 0 0 1)
                lastKeyScanCode: 2
                combinedChar: nil

HandMorph>>handleEvent:
        Receiver: a HandMorph(3216)
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                bounds: 352@84 corner: 368@100
                owner: a PasteUpMorph(1622) [world]
                submorphs: #()
                fullBounds: 352@84 corner: 368@100
                color: Color blue
                extension: a MorphExtension (539) [eventHandler = an EventHandler]
                mouseFocus: nil
                keyboardFocus: a PluggableButtonMorph(1282)
                eventListeners: nil
                mouseListeners: nil
                keyboardListeners: nil
                mouseClickState: nil
                mouseOverHandler: a MouseOverHandler
                lastMouseEvent: [352@84 mouseUp 109252 nil]
                targetOffset: 40@23
                damageRecorder: a DamageRecorder
                cacheCanvas: nil
                cachedCanvasHasHoles: true
                temporaryCursor: nil
                temporaryCursorOffset: nil
                hardwareCursor: nil
                hasChanged: true
                savedPatch: nil
                userInitials: ''
                lastEventBuffer: #(1 109252 352 84 0 0 0 1)
                lastKeyScanCode: 2
                combinedChar: nil

HandMorph>>processEvents
        Receiver: a HandMorph(3216)
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                bounds: 352@84 corner: 368@100
                owner: a PasteUpMorph(1622) [world]
                submorphs: #()
                fullBounds: 352@84 corner: 368@100
                color: Color blue
                extension: a MorphExtension (539) [eventHandler = an EventHandler]
                mouseFocus: nil
                keyboardFocus: a PluggableButtonMorph(1282)
                eventListeners: nil
                mouseListeners: nil
                keyboardListeners: nil
                mouseClickState: nil
                mouseOverHandler: a MouseOverHandler
                lastMouseEvent: [352@84 mouseUp 109252 nil]
                targetOffset: 40@23
                damageRecorder: a DamageRecorder
                cacheCanvas: nil
                cachedCanvasHasHoles: true
                temporaryCursor: nil
                temporaryCursorOffset: nil
                hardwareCursor: nil
                hasChanged: true
                savedPatch: nil
                userInitials: ''
                lastEventBuffer: #(1 109252 352 84 0 0 0 1)
                lastKeyScanCode: 2
                combinedChar: nil


--- The full stack ---
Array(Object)>>error:
Array(Object)>>errorSubscriptBounds:
Array(Object)>>at:
Decompiler>>pushTemporaryVariable:
Decompiler(InstructionStream)>>interpretNextInstructionFor:
Decompiler>>interpretNextInstructionFor:
Decompiler>>statementsTo:
Decompiler>>blockTo:
Decompiler>>decompile:in:method:using:
Decompiler>>decompile:in:method:
CompiledMethod>>getSourceFor:in:
CompiledMethod>>methodNode
[] in DebuggerMethodMap class>>forMethod:
WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
DebuggerMethodMap class>>forMethod:
CompiledMethod>>debuggerMap
MethodContext(InstructionStream)>>debuggerMap
Debugger>>selectedMessage
Debugger>>contextStackIndex:oldContextWas:
Debugger>>toggleContextStackIndex:
PluggableListMorph>>changeModelSelection:
PluggableListMorph>>mouseUp:
PluggableListMorph(Morph)>>handleMouseUp:
MouseButtonEvent>>sentTo:
PluggableListMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
PluggableListMorph(Morph)>>processEvent:using:
PluggableListMorph(Morph)>>processEvent:
PluggableListMorph>>handleFocusEvent:
[] in HandMorph>>sendFocusEvent:to:clear:
[] in PasteUpMorph>>becomeActiveDuring:
BlockClosure>>on:do:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
 - - - - - - - - - - - - - - -  
                        - - - - - - - - - - - - - - - - - -
[] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess
[] in BlockClosure>>newProcess
------------------------------------------------------------



--
===========================================================================
John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================





_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: squeak VM 5.0

jannik laval
Hi John,

How do you have these messages ?
When I try to load the 64bits image, I have a white screen and it is really difficult to fix something...
Is there a parameter to add when loading the vm ?

I added the part of code that you send, but I have the same thing.
I modify also the code of SystemTracer.




Cheers,
Jannik

On Dec 6, 2009, at 03:17 , John M McIntosh wrote:

>
>>
>> hacking a bit more gets you to
>> <PastedGraphic-1.tiff>
>
> In a few spare moments as I await the Arctic front to bury us in snow...
>
> I consider the
> return: error
>
> has to be related to the move from BlockContext to BlockClosure
> so in
> object:allFieldsWithIndex:collect:
>
> I added
> object class = BlockClosure ifTrue:
> [(object instVarAt: 3) ifNotNil:
> ["May need to adjust PC and startPC if changing wordSize..."
> results at: 2 put: (block value: (object instVarAt: 2)+(self pcDeltaForMethod: object method) value: 2)]].
>
> mmm try that get this more interesting error
>
>
> THERE_BE_DRAGONS_HERE
> Unwind error during termination
> 5 December 2009 6:13:31 pm
>
> VM: Mac OS - intel - 1062 - Squeak3.8.1 of '28 Aug 2006' [latest update: #6747] 9.0
> Image: PharoCore1.0rc1 [Latest update: #10496]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir /Volumes/px2/business/SqueakiPhone/SqueakObjCBasedForOSXAndIPhone/SqueakNoOGLIPhoneOSX/testingImages/64bittracingchangesets
> Trusted Dir /foobar/tooBar/forSqueak/bogus/
> Untrusted Dir /foobar/tooBar/forSqueak/bogus/
>
> Array(Object)>>error:
> Receiver: #()
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> #()
>
> Array(Object)>>errorSubscriptBounds:
> Receiver: #()
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> #()
>
> Array(Object)>>at:
> Receiver: #()
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> #()
>
> Decompiler>>pushTemporaryVariable:
> Receiver: a Decompiler
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> sender: a CompiledMethod(1253: InstructionStream>>debuggerMap)
> pc: 29
> constructor: {a DecompilerConstructor}
> method: a CompiledMethod(1253: InstructionStream>>debuggerMap)
> instVars: an Array({sender} {pc})
> tempVars: #()
> constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2})
> stack: an OrderedCollection({pc} {sender
> debuggerMap (sender blockCopy: sender...etc...
> statements: an OrderedCollection()
> lastPc: 28
> exit: nil
> caseExits: an OrderedCollection()
> lastJumpPc: nil
> lastReturnPc: nil
> limit: 45
> hasValue: nil
> blockStackBase: 0
> numLocalTemps: 0
> blockStartsToTempVars: nil
> tempVarCount: 0
>
> Decompiler(InstructionStream)>>interpretNextInstructionFor:
> Receiver: a Decompiler
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> sender: a CompiledMethod(1253: InstructionStream>>debuggerMap)
> pc: 29
> constructor: {a DecompilerConstructor}
> method: a CompiledMethod(1253: InstructionStream>>debuggerMap)
> instVars: an Array({sender} {pc})
> tempVars: #()
> constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2})
> stack: an OrderedCollection({pc} {sender
> debuggerMap (sender blockCopy: sender...etc...
> statements: an OrderedCollection()
> lastPc: 28
> exit: nil
> caseExits: an OrderedCollection()
> lastJumpPc: nil
> lastReturnPc: nil
> limit: 45
> hasValue: nil
> blockStackBase: 0
> numLocalTemps: 0
> blockStartsToTempVars: nil
> tempVarCount: 0
>
> Decompiler>>interpretNextInstructionFor:
> Receiver: a Decompiler
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> sender: a CompiledMethod(1253: InstructionStream>>debuggerMap)
> pc: 29
> constructor: {a DecompilerConstructor}
> method: a CompiledMethod(1253: InstructionStream>>debuggerMap)
> instVars: an Array({sender} {pc})
> tempVars: #()
> constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2})
> stack: an OrderedCollection({pc} {sender
> debuggerMap (sender blockCopy: sender...etc...
> statements: an OrderedCollection()
> lastPc: 28
> exit: nil
> caseExits: an OrderedCollection()
> lastJumpPc: nil
> lastReturnPc: nil
> limit: 45
> hasValue: nil
> blockStackBase: 0
> numLocalTemps: 0
> blockStartsToTempVars: nil
> tempVarCount: 0
>
> Decompiler>>statementsTo:
> Receiver: a Decompiler
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> sender: a CompiledMethod(1253: InstructionStream>>debuggerMap)
> pc: 29
> constructor: {a DecompilerConstructor}
> method: a CompiledMethod(1253: InstructionStream>>debuggerMap)
> instVars: an Array({sender} {pc})
> tempVars: #()
> constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2})
> stack: an OrderedCollection({pc} {sender
> debuggerMap (sender blockCopy: sender...etc...
> statements: an OrderedCollection()
> lastPc: 28
> exit: nil
> caseExits: an OrderedCollection()
> lastJumpPc: nil
> lastReturnPc: nil
> limit: 45
> hasValue: nil
> blockStackBase: 0
> numLocalTemps: 0
> blockStartsToTempVars: nil
> tempVarCount: 0
>
> Decompiler>>blockTo:
> Receiver: a Decompiler
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> sender: a CompiledMethod(1253: InstructionStream>>debuggerMap)
> pc: 29
> constructor: {a DecompilerConstructor}
> method: a CompiledMethod(1253: InstructionStream>>debuggerMap)
> instVars: an Array({sender} {pc})
> tempVars: #()
> constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2})
> stack: an OrderedCollection({pc} {sender
> debuggerMap (sender blockCopy: sender...etc...
> statements: an OrderedCollection()
> lastPc: 28
> exit: nil
> caseExits: an OrderedCollection()
> lastJumpPc: nil
> lastReturnPc: nil
> limit: 45
> hasValue: nil
> blockStackBase: 0
> numLocalTemps: 0
> blockStartsToTempVars: nil
> tempVarCount: 0
>
> Decompiler>>decompile:in:method:using:
> Receiver: a Decompiler
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> sender: a CompiledMethod(1253: InstructionStream>>debuggerMap)
> pc: 29
> constructor: {a DecompilerConstructor}
> method: a CompiledMethod(1253: InstructionStream>>debuggerMap)
> instVars: an Array({sender} {pc})
> tempVars: #()
> constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2})
> stack: an OrderedCollection({pc} {sender
> debuggerMap (sender blockCopy: sender...etc...
> statements: an OrderedCollection()
> lastPc: 28
> exit: nil
> caseExits: an OrderedCollection()
> lastJumpPc: nil
> lastReturnPc: nil
> limit: 45
> hasValue: nil
> blockStackBase: 0
> numLocalTemps: 0
> blockStartsToTempVars: nil
> tempVarCount: 0
>
> Decompiler>>decompile:in:method:
> Receiver: a Decompiler
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> sender: a CompiledMethod(1253: InstructionStream>>debuggerMap)
> pc: 29
> constructor: {a DecompilerConstructor}
> method: a CompiledMethod(1253: InstructionStream>>debuggerMap)
> instVars: an Array({sender} {pc})
> tempVars: #()
> constTable: an Array({self} {true} {false} {nil} {-1} {0} {1} {2})
> stack: an OrderedCollection({pc} {sender
> debuggerMap (sender blockCopy: sender...etc...
> statements: an OrderedCollection()
> lastPc: 28
> exit: nil
> caseExits: an OrderedCollection()
> lastJumpPc: nil
> lastReturnPc: nil
> limit: 45
> hasValue: nil
> blockStackBase: 0
> numLocalTemps: 0
> blockStartsToTempVars: nil
> tempVarCount: 0
>
> CompiledMethod>>getSourceFor:in:
> Receiver: a CompiledMethod(1253: InstructionStream>>debuggerMap)
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> a CompiledMethod(1253: InstructionStream>>debuggerMap)
>
> CompiledMethod>>methodNode
> Receiver: a CompiledMethod(1253: InstructionStream>>debuggerMap)
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> a CompiledMethod(1253: InstructionStream>>debuggerMap)
>
> [] in DebuggerMethodMap class>>forMethod:
> Receiver: DebuggerMethodMap
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> superclass: Object
> methodDict: a MethodDictionary(#abstractSourceMap->a CompiledMethod(3330: Debug...etc...
> format: 140
> instanceVariables: #('timestamp' 'methodReference' 'methodNode' 'abstractSource...etc...
> organization: ('accessing' markRecentlyUsed method namedTempAt:in: namedTempAt:...etc...
> subclasses: {DebuggerMethodMapForBlueBookMethods. DebuggerMethodMapForClosureCo...etc...
> name: #DebuggerMethodMap
> classPool: a Dictionary(#MapCache->a WeakIdentityKeyDictionary(a CompiledMethod...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Tools-Debugger'
> traitComposition: nil
> localSelectors: nil
>
> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
> Receiver: a WeakIdentityKeyDictionary(a CompiledMethod(1410: HandMorph>>handleEvent:)->a DebuggerMet...etc...
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> tally: 16
> array: an Array(a CompiledMethod(3440: Morph>>processEvent:)->a DebuggerMethodM...etc...
>
> DebuggerMethodMap class>>forMethod:
> Receiver: DebuggerMethodMap
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> superclass: Object
> methodDict: a MethodDictionary(#abstractSourceMap->a CompiledMethod(3330: Debug...etc...
> format: 140
> instanceVariables: #('timestamp' 'methodReference' 'methodNode' 'abstractSource...etc...
> organization: ('accessing' markRecentlyUsed method namedTempAt:in: namedTempAt:...etc...
> subclasses: {DebuggerMethodMapForBlueBookMethods. DebuggerMethodMapForClosureCo...etc...
> name: #DebuggerMethodMap
> classPool: a Dictionary(#MapCache->a WeakIdentityKeyDictionary(a CompiledMethod...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Tools-Debugger'
> traitComposition: nil
> localSelectors: nil
>
> CompiledMethod>>debuggerMap
> Receiver: a CompiledMethod(1253: InstructionStream>>debuggerMap)
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> a CompiledMethod(1253: InstructionStream>>debuggerMap)
>
> MethodContext(InstructionStream)>>debuggerMap
> Receiver: MethodContext(InstructionStream)>>debuggerMap
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> sender: Debugger>>selectedMessage
> pc: 44
> stackp: 0
> method: a CompiledMethod(1253: InstructionStream>>debuggerMap)
> closureOrNil: nil
> receiver: CompiledMethod>>methodNode
>
> Debugger>>selectedMessage
> Receiver: a Debugger
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> dependents: a DependentsArray(a SystemWindow(3468) a PluggableListMorph(1072) a...etc...
> contents: nil
> currentCompiledMethod: nil
> contentsSymbol: #source
> interruptedProcess: a Process in Debugger class>>openOn:context:label:contents:...etc...
> interruptedController: nil
> contextStack: an OrderedCollection(CompiledMethod(Object)>>error: CompiledMetho...etc...
> contextStackTop: CompiledMethod(Object)>>error:
> contextStackIndex: 17
> contextStackList: an OrderedCollection('CompiledMethod(Object)>>error:' 'Compil...etc...
> receiverInspector: an Inspector
> contextVariablesInspector: a ContextVariablesInspector
> externalInterrupt: false
> proceedValue: nil
> selectingPC: true
> debuggerMap: nil
> savedCursor: ((CursorWithMask
> extent: 16@16
> depth: 1
> fromArray: #(
> 2r0
> 2...etc...
> isolationHead: nil
> failedProject: nil
> errorWasInUIProcess: true
> labelString: nil
>
> Debugger>>contextStackIndex:oldContextWas:
> Receiver: a Debugger
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> dependents: a DependentsArray(a SystemWindow(3468) a PluggableListMorph(1072) a...etc...
> contents: nil
> currentCompiledMethod: nil
> contentsSymbol: #source
> interruptedProcess: a Process in Debugger class>>openOn:context:label:contents:...etc...
> interruptedController: nil
> contextStack: an OrderedCollection(CompiledMethod(Object)>>error: CompiledMetho...etc...
> contextStackTop: CompiledMethod(Object)>>error:
> contextStackIndex: 17
> contextStackList: an OrderedCollection('CompiledMethod(Object)>>error:' 'Compil...etc...
> receiverInspector: an Inspector
> contextVariablesInspector: a ContextVariablesInspector
> externalInterrupt: false
> proceedValue: nil
> selectingPC: true
> debuggerMap: nil
> savedCursor: ((CursorWithMask
> extent: 16@16
> depth: 1
> fromArray: #(
> 2r0
> 2...etc...
> isolationHead: nil
> failedProject: nil
> errorWasInUIProcess: true
> labelString: nil
>
> Debugger>>toggleContextStackIndex:
> Receiver: a Debugger
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> dependents: a DependentsArray(a SystemWindow(3468) a PluggableListMorph(1072) a...etc...
> contents: nil
> currentCompiledMethod: nil
> contentsSymbol: #source
> interruptedProcess: a Process in Debugger class>>openOn:context:label:contents:...etc...
> interruptedController: nil
> contextStack: an OrderedCollection(CompiledMethod(Object)>>error: CompiledMetho...etc...
> contextStackTop: CompiledMethod(Object)>>error:
> contextStackIndex: 17
> contextStackList: an OrderedCollection('CompiledMethod(Object)>>error:' 'Compil...etc...
> receiverInspector: an Inspector
> contextVariablesInspector: a ContextVariablesInspector
> externalInterrupt: false
> proceedValue: nil
> selectingPC: true
> debuggerMap: nil
> savedCursor: ((CursorWithMask
> extent: 16@16
> depth: 1
> fromArray: #(
> 2r0
> 2...etc...
> isolationHead: nil
> failedProject: nil
> errorWasInUIProcess: true
> labelString: nil
>
> PluggableListMorph>>changeModelSelection:
> Receiver: a PluggableListMorph(1072)
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> bounds: 18@31 corner: 608@201
> owner: a SystemWindow(3468)
> submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775))
> fullBounds: nil
> color: Color white
> extension: a MorphExtension (973) [locked]  [other:  (layoutFrame -> a LayoutFr...etc...
> borderWidth: 1
> borderColor: (Color r: 0.667 g: 0.667 b: 0.667)
> model: a Debugger
> slotName: nil
> open: false
> scrollBar: a ScrollBar(3011)
> scroller: a TransformMorph(3775)
> retractableScrollBar: false
> scrollBarOnLeft: false
> getMenuSelector: #contextStackMenu:shifted:
> getMenuTitleSelector: #messageListSelectorTitle
> hasFocus: true
> hScrollBar: a ScrollBar(2791)
> list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc...
> getListSelector: #contextStackList
> getListSizeSelector: nil
> getListElementSelector: nil
> getIndexSelector: #contextStackIndex
> setIndexSelector: #toggleContextStackIndex:
> keystrokeActionSelector: #contextStackKey:from:
> autoDeselect: true
> lastKeystrokeTime: 0
> lastKeystrokes: ''
> doubleClickSelector: nil
> handlesBasicKeys: nil
> potentialDropRow: nil
> listMorph: a LazyListMorph(1316)
> hScrollRangeCache: nil
>
> PluggableListMorph>>mouseUp:
> Receiver: a PluggableListMorph(1072)
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> bounds: 18@31 corner: 608@201
> owner: a SystemWindow(3468)
> submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775))
> fullBounds: nil
> color: Color white
> extension: a MorphExtension (973) [locked]  [other:  (layoutFrame -> a LayoutFr...etc...
> borderWidth: 1
> borderColor: (Color r: 0.667 g: 0.667 b: 0.667)
> model: a Debugger
> slotName: nil
> open: false
> scrollBar: a ScrollBar(3011)
> scroller: a TransformMorph(3775)
> retractableScrollBar: false
> scrollBarOnLeft: false
> getMenuSelector: #contextStackMenu:shifted:
> getMenuTitleSelector: #messageListSelectorTitle
> hasFocus: true
> hScrollBar: a ScrollBar(2791)
> list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc...
> getListSelector: #contextStackList
> getListSizeSelector: nil
> getListElementSelector: nil
> getIndexSelector: #contextStackIndex
> setIndexSelector: #toggleContextStackIndex:
> keystrokeActionSelector: #contextStackKey:from:
> autoDeselect: true
> lastKeystrokeTime: 0
> lastKeystrokes: ''
> doubleClickSelector: nil
> handlesBasicKeys: nil
> potentialDropRow: nil
> listMorph: a LazyListMorph(1316)
> hScrollRangeCache: nil
>
> PluggableListMorph(Morph)>>handleMouseUp:
> Receiver: a PluggableListMorph(1072)
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> bounds: 18@31 corner: 608@201
> owner: a SystemWindow(3468)
> submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775))
> fullBounds: nil
> color: Color white
> extension: a MorphExtension (973) [locked]  [other:  (layoutFrame -> a LayoutFr...etc...
> borderWidth: 1
> borderColor: (Color r: 0.667 g: 0.667 b: 0.667)
> model: a Debugger
> slotName: nil
> open: false
> scrollBar: a ScrollBar(3011)
> scroller: a TransformMorph(3775)
> retractableScrollBar: false
> scrollBarOnLeft: false
> getMenuSelector: #contextStackMenu:shifted:
> getMenuTitleSelector: #messageListSelectorTitle
> hasFocus: true
> hScrollBar: a ScrollBar(2791)
> list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc...
> getListSelector: #contextStackList
> getListSizeSelector: nil
> getListElementSelector: nil
> getIndexSelector: #contextStackIndex
> setIndexSelector: #toggleContextStackIndex:
> keystrokeActionSelector: #contextStackKey:from:
> autoDeselect: true
> lastKeystrokeTime: 0
> lastKeystrokes: ''
> doubleClickSelector: nil
> handlesBasicKeys: nil
> potentialDropRow: nil
> listMorph: a LazyListMorph(1316)
> hScrollRangeCache: nil
>
> MouseButtonEvent>>sentTo:
> Receiver: [206@151 mouseUp 103652 nil]
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> timeStamp: 103652
> source: a HandMorph(3216)
> windowIndex: nil
> type: #mouseUp
> buttons: 0
> position: 206@151
> handler: nil
> wasHandled: true
> whichButton: 4
>
> PluggableListMorph(Morph)>>handleEvent:
> Receiver: a PluggableListMorph(1072)
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> bounds: 18@31 corner: 608@201
> owner: a SystemWindow(3468)
> submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775))
> fullBounds: nil
> color: Color white
> extension: a MorphExtension (973) [locked]  [other:  (layoutFrame -> a LayoutFr...etc...
> borderWidth: 1
> borderColor: (Color r: 0.667 g: 0.667 b: 0.667)
> model: a Debugger
> slotName: nil
> open: false
> scrollBar: a ScrollBar(3011)
> scroller: a TransformMorph(3775)
> retractableScrollBar: false
> scrollBarOnLeft: false
> getMenuSelector: #contextStackMenu:shifted:
> getMenuTitleSelector: #messageListSelectorTitle
> hasFocus: true
> hScrollBar: a ScrollBar(2791)
> list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc...
> getListSelector: #contextStackList
> getListSizeSelector: nil
> getListElementSelector: nil
> getIndexSelector: #contextStackIndex
> setIndexSelector: #toggleContextStackIndex:
> keystrokeActionSelector: #contextStackKey:from:
> autoDeselect: true
> lastKeystrokeTime: 0
> lastKeystrokes: ''
> doubleClickSelector: nil
> handlesBasicKeys: nil
> potentialDropRow: nil
> listMorph: a LazyListMorph(1316)
> hScrollRangeCache: nil
>
> MorphicEventDispatcher>>dispatchDefault:with:
> Receiver: a MorphicEventDispatcher
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> lastType: #mouseUp
> lastDispatch: #dispatchDefault:with:
>
> MorphicEventDispatcher>>dispatchEvent:with:
> Receiver: a MorphicEventDispatcher
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> lastType: #mouseUp
> lastDispatch: #dispatchDefault:with:
>
> PluggableListMorph(Morph)>>processEvent:using:
> Receiver: a PluggableListMorph(1072)
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> bounds: 18@31 corner: 608@201
> owner: a SystemWindow(3468)
> submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775))
> fullBounds: nil
> color: Color white
> extension: a MorphExtension (973) [locked]  [other:  (layoutFrame -> a LayoutFr...etc...
> borderWidth: 1
> borderColor: (Color r: 0.667 g: 0.667 b: 0.667)
> model: a Debugger
> slotName: nil
> open: false
> scrollBar: a ScrollBar(3011)
> scroller: a TransformMorph(3775)
> retractableScrollBar: false
> scrollBarOnLeft: false
> getMenuSelector: #contextStackMenu:shifted:
> getMenuTitleSelector: #messageListSelectorTitle
> hasFocus: true
> hScrollBar: a ScrollBar(2791)
> list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc...
> getListSelector: #contextStackList
> getListSizeSelector: nil
> getListElementSelector: nil
> getIndexSelector: #contextStackIndex
> setIndexSelector: #toggleContextStackIndex:
> keystrokeActionSelector: #contextStackKey:from:
> autoDeselect: true
> lastKeystrokeTime: 0
> lastKeystrokes: ''
> doubleClickSelector: nil
> handlesBasicKeys: nil
> potentialDropRow: nil
> listMorph: a LazyListMorph(1316)
> hScrollRangeCache: nil
>
> PluggableListMorph(Morph)>>processEvent:
> Receiver: a PluggableListMorph(1072)
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> bounds: 18@31 corner: 608@201
> owner: a SystemWindow(3468)
> submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775))
> fullBounds: nil
> color: Color white
> extension: a MorphExtension (973) [locked]  [other:  (layoutFrame -> a LayoutFr...etc...
> borderWidth: 1
> borderColor: (Color r: 0.667 g: 0.667 b: 0.667)
> model: a Debugger
> slotName: nil
> open: false
> scrollBar: a ScrollBar(3011)
> scroller: a TransformMorph(3775)
> retractableScrollBar: false
> scrollBarOnLeft: false
> getMenuSelector: #contextStackMenu:shifted:
> getMenuTitleSelector: #messageListSelectorTitle
> hasFocus: true
> hScrollBar: a ScrollBar(2791)
> list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc...
> getListSelector: #contextStackList
> getListSizeSelector: nil
> getListElementSelector: nil
> getIndexSelector: #contextStackIndex
> setIndexSelector: #toggleContextStackIndex:
> keystrokeActionSelector: #contextStackKey:from:
> autoDeselect: true
> lastKeystrokeTime: 0
> lastKeystrokes: ''
> doubleClickSelector: nil
> handlesBasicKeys: nil
> potentialDropRow: nil
> listMorph: a LazyListMorph(1316)
> hScrollRangeCache: nil
>
> PluggableListMorph>>handleFocusEvent:
> Receiver: a PluggableListMorph(1072)
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> bounds: 18@31 corner: 608@201
> owner: a SystemWindow(3468)
> submorphs: an Array(a ScrollBar(3011) a TransformMorph(3775))
> fullBounds: nil
> color: Color white
> extension: a MorphExtension (973) [locked]  [other:  (layoutFrame -> a LayoutFr...etc...
> borderWidth: 1
> borderColor: (Color r: 0.667 g: 0.667 b: 0.667)
> model: a Debugger
> slotName: nil
> open: false
> scrollBar: a ScrollBar(3011)
> scroller: a TransformMorph(3775)
> retractableScrollBar: false
> scrollBarOnLeft: false
> getMenuSelector: #contextStackMenu:shifted:
> getMenuTitleSelector: #messageListSelectorTitle
> hasFocus: true
> hScrollBar: a ScrollBar(2791)
> list: an OrderedCollection('CompiledMethod(Object)>>error:' 'CompiledMethod(Obj...etc...
> getListSelector: #contextStackList
> getListSizeSelector: nil
> getListElementSelector: nil
> getIndexSelector: #contextStackIndex
> setIndexSelector: #toggleContextStackIndex:
> keystrokeActionSelector: #contextStackKey:from:
> autoDeselect: true
> lastKeystrokeTime: 0
> lastKeystrokes: ''
> doubleClickSelector: nil
> handlesBasicKeys: nil
> potentialDropRow: nil
> listMorph: a LazyListMorph(1316)
> hScrollRangeCache: nil
>
> [] in HandMorph>>sendFocusEvent:to:clear:
> Receiver: a HandMorph(3216)
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> bounds: 352@84 corner: 368@100
> owner: a PasteUpMorph(1622) [world]
> submorphs: #()
> fullBounds: 352@84 corner: 368@100
> color: Color blue
> extension: a MorphExtension (539) [eventHandler = an EventHandler]
> mouseFocus: nil
> keyboardFocus: a PluggableButtonMorph(1282)
> eventListeners: nil
> mouseListeners: nil
> keyboardListeners: nil
> mouseClickState: nil
> mouseOverHandler: a MouseOverHandler
> lastMouseEvent: [352@84 mouseUp 109252 nil]
> targetOffset: 40@23
> damageRecorder: a DamageRecorder
> cacheCanvas: nil
> cachedCanvasHasHoles: true
> temporaryCursor: nil
> temporaryCursorOffset: nil
> hardwareCursor: nil
> hasChanged: true
> savedPatch: nil
> userInitials: ''
> lastEventBuffer: #(1 109252 352 84 0 0 0 1)
> lastKeyScanCode: 2
> combinedChar: nil
>
> [] in PasteUpMorph>>becomeActiveDuring:
> Receiver: a PasteUpMorph(1622) [world]
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> bounds: 0@0 corner: 1102@896
> owner: nil
> submorphs: an Array(a TaskbarMorph(3095) a SystemProgressMorph(3746) a PreDebug...etc...
> fullBounds: nil
> color: (Color r: 0.97 g: 0.98 b: 1.0)
> extension: a MorphExtension (2543) [eventHandler = an EventHandler]  [other:  (...etc...
> borderWidth: 0
> borderColor: (Color r: 0.03 g: 0.02 b: 0.0)
> presenter: a Presenter (1246)
> model: a MorphicModel(1926)
> cursor: 1
> padding: 3
> backgroundMorph: nil
> isPartsBin: nil
> autoLineLayout: false
> indicateCursor: nil
> resizeToFit: nil
> wantsMouseOverHalos: nil
> worldState: a WorldState
> griddingOn: nil
>
> BlockClosure>>on:do:
> Receiver: [closure] in PasteUpMorph>>becomeActiveDuring:
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> outerContext: PasteUpMorph>>becomeActiveDuring:
> startpc: 111
> numArgs: 0
>
> PasteUpMorph>>becomeActiveDuring:
> Receiver: a PasteUpMorph(1622) [world]
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> bounds: 0@0 corner: 1102@896
> owner: nil
> submorphs: an Array(a TaskbarMorph(3095) a SystemProgressMorph(3746) a PreDebug...etc...
> fullBounds: nil
> color: (Color r: 0.97 g: 0.98 b: 1.0)
> extension: a MorphExtension (2543) [eventHandler = an EventHandler]  [other:  (...etc...
> borderWidth: 0
> borderColor: (Color r: 0.03 g: 0.02 b: 0.0)
> presenter: a Presenter (1246)
> model: a MorphicModel(1926)
> cursor: 1
> padding: 3
> backgroundMorph: nil
> isPartsBin: nil
> autoLineLayout: false
> indicateCursor: nil
> resizeToFit: nil
> wantsMouseOverHalos: nil
> worldState: a WorldState
> griddingOn: nil
>
> HandMorph>>sendFocusEvent:to:clear:
> Receiver: a HandMorph(3216)
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> bounds: 352@84 corner: 368@100
> owner: a PasteUpMorph(1622) [world]
> submorphs: #()
> fullBounds: 352@84 corner: 368@100
> color: Color blue
> extension: a MorphExtension (539) [eventHandler = an EventHandler]
> mouseFocus: nil
> keyboardFocus: a PluggableButtonMorph(1282)
> eventListeners: nil
> mouseListeners: nil
> keyboardListeners: nil
> mouseClickState: nil
> mouseOverHandler: a MouseOverHandler
> lastMouseEvent: [352@84 mouseUp 109252 nil]
> targetOffset: 40@23
> damageRecorder: a DamageRecorder
> cacheCanvas: nil
> cachedCanvasHasHoles: true
> temporaryCursor: nil
> temporaryCursorOffset: nil
> hardwareCursor: nil
> hasChanged: true
> savedPatch: nil
> userInitials: ''
> lastEventBuffer: #(1 109252 352 84 0 0 0 1)
> lastKeyScanCode: 2
> combinedChar: nil
>
> HandMorph>>sendEvent:focus:clear:
> Receiver: a HandMorph(3216)
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> bounds: 352@84 corner: 368@100
> owner: a PasteUpMorph(1622) [world]
> submorphs: #()
> fullBounds: 352@84 corner: 368@100
> color: Color blue
> extension: a MorphExtension (539) [eventHandler = an EventHandler]
> mouseFocus: nil
> keyboardFocus: a PluggableButtonMorph(1282)
> eventListeners: nil
> mouseListeners: nil
> keyboardListeners: nil
> mouseClickState: nil
> mouseOverHandler: a MouseOverHandler
> lastMouseEvent: [352@84 mouseUp 109252 nil]
> targetOffset: 40@23
> damageRecorder: a DamageRecorder
> cacheCanvas: nil
> cachedCanvasHasHoles: true
> temporaryCursor: nil
> temporaryCursorOffset: nil
> hardwareCursor: nil
> hasChanged: true
> savedPatch: nil
> userInitials: ''
> lastEventBuffer: #(1 109252 352 84 0 0 0 1)
> lastKeyScanCode: 2
> combinedChar: nil
>
> HandMorph>>sendMouseEvent:
> Receiver: a HandMorph(3216)
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> bounds: 352@84 corner: 368@100
> owner: a PasteUpMorph(1622) [world]
> submorphs: #()
> fullBounds: 352@84 corner: 368@100
> color: Color blue
> extension: a MorphExtension (539) [eventHandler = an EventHandler]
> mouseFocus: nil
> keyboardFocus: a PluggableButtonMorph(1282)
> eventListeners: nil
> mouseListeners: nil
> keyboardListeners: nil
> mouseClickState: nil
> mouseOverHandler: a MouseOverHandler
> lastMouseEvent: [352@84 mouseUp 109252 nil]
> targetOffset: 40@23
> damageRecorder: a DamageRecorder
> cacheCanvas: nil
> cachedCanvasHasHoles: true
> temporaryCursor: nil
> temporaryCursorOffset: nil
> hardwareCursor: nil
> hasChanged: true
> savedPatch: nil
> userInitials: ''
> lastEventBuffer: #(1 109252 352 84 0 0 0 1)
> lastKeyScanCode: 2
> combinedChar: nil
>
> HandMorph>>handleEvent:
> Receiver: a HandMorph(3216)
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> bounds: 352@84 corner: 368@100
> owner: a PasteUpMorph(1622) [world]
> submorphs: #()
> fullBounds: 352@84 corner: 368@100
> color: Color blue
> extension: a MorphExtension (539) [eventHandler = an EventHandler]
> mouseFocus: nil
> keyboardFocus: a PluggableButtonMorph(1282)
> eventListeners: nil
> mouseListeners: nil
> keyboardListeners: nil
> mouseClickState: nil
> mouseOverHandler: a MouseOverHandler
> lastMouseEvent: [352@84 mouseUp 109252 nil]
> targetOffset: 40@23
> damageRecorder: a DamageRecorder
> cacheCanvas: nil
> cachedCanvasHasHoles: true
> temporaryCursor: nil
> temporaryCursorOffset: nil
> hardwareCursor: nil
> hasChanged: true
> savedPatch: nil
> userInitials: ''
> lastEventBuffer: #(1 109252 352 84 0 0 0 1)
> lastKeyScanCode: 2
> combinedChar: nil
>
> HandMorph>>processEvents
> Receiver: a HandMorph(3216)
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> bounds: 352@84 corner: 368@100
> owner: a PasteUpMorph(1622) [world]
> submorphs: #()
> fullBounds: 352@84 corner: 368@100
> color: Color blue
> extension: a MorphExtension (539) [eventHandler = an EventHandler]
> mouseFocus: nil
> keyboardFocus: a PluggableButtonMorph(1282)
> eventListeners: nil
> mouseListeners: nil
> keyboardListeners: nil
> mouseClickState: nil
> mouseOverHandler: a MouseOverHandler
> lastMouseEvent: [352@84 mouseUp 109252 nil]
> targetOffset: 40@23
> damageRecorder: a DamageRecorder
> cacheCanvas: nil
> cachedCanvasHasHoles: true
> temporaryCursor: nil
> temporaryCursorOffset: nil
> hardwareCursor: nil
> hasChanged: true
> savedPatch: nil
> userInitials: ''
> lastEventBuffer: #(1 109252 352 84 0 0 0 1)
> lastKeyScanCode: 2
> combinedChar: nil
>
>
> --- The full stack ---
> Array(Object)>>error:
> Array(Object)>>errorSubscriptBounds:
> Array(Object)>>at:
> Decompiler>>pushTemporaryVariable:
> Decompiler(InstructionStream)>>interpretNextInstructionFor:
> Decompiler>>interpretNextInstructionFor:
> Decompiler>>statementsTo:
> Decompiler>>blockTo:
> Decompiler>>decompile:in:method:using:
> Decompiler>>decompile:in:method:
> CompiledMethod>>getSourceFor:in:
> CompiledMethod>>methodNode
> [] in DebuggerMethodMap class>>forMethod:
> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
> DebuggerMethodMap class>>forMethod:
> CompiledMethod>>debuggerMap
> MethodContext(InstructionStream)>>debuggerMap
> Debugger>>selectedMessage
> Debugger>>contextStackIndex:oldContextWas:
> Debugger>>toggleContextStackIndex:
> PluggableListMorph>>changeModelSelection:
> PluggableListMorph>>mouseUp:
> PluggableListMorph(Morph)>>handleMouseUp:
> MouseButtonEvent>>sentTo:
> PluggableListMorph(Morph)>>handleEvent:
> MorphicEventDispatcher>>dispatchDefault:with:
> MorphicEventDispatcher>>dispatchEvent:with:
> PluggableListMorph(Morph)>>processEvent:using:
> PluggableListMorph(Morph)>>processEvent:
> PluggableListMorph>>handleFocusEvent:
> [] in HandMorph>>sendFocusEvent:to:clear:
> [] in PasteUpMorph>>becomeActiveDuring:
> BlockClosure>>on:do:
> PasteUpMorph>>becomeActiveDuring:
> HandMorph>>sendFocusEvent:to:clear:
> HandMorph>>sendEvent:focus:clear:
> HandMorph>>sendMouseEvent:
> HandMorph>>handleEvent:
> HandMorph>>processEvents
> - - - - - - - - - - - - - - -  
> - - - - - - - - - - - - - - - - - -
> [] in WorldState>>doOneCycleNowFor:
> Array(SequenceableCollection)>>do:
> WorldState>>handsDo:
> WorldState>>doOneCycleNowFor:
> WorldState>>doOneCycleFor:
> PasteUpMorph>>doOneCycle
> [] in Project class>>spawnNewProcess
> [] in BlockClosure>>newProcess
> ------------------------------------------------------------
>
>
>
> --
> ===========================================================================
> John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
> Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
> ===========================================================================
>
>
>



_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

System-Tracing.2forPharo3.cs (60K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: squeak VM 5.0

johnmci

On 2009-12-05, at 9:46 PM, Laval Jannik wrote:

>> I added
>> object class = BlockClosure ifTrue:
>> [(object instVarAt: 3) ifNotNil:
>> ["May need to adjust PC and startPC if changing wordSize..."
>> results at: 2 put: (block value: (object instVarAt: 2)+(self pcDeltaForMethod: object method) value: 2)]].


Oops should be

object class = BlockClosure ifTrue:
                ["May need to adjust PC and startPC if changing wordSize..."
                results at: 2 put: (block value: (object instVarAt: 2)+(self pcDeltaForMethod: object method) value: 2)].

Post your current change set so we can see
       
However that just gives me, which is where I was earlier.






--
===========================================================================
John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================





_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

PastedGraphic-2.tiff (62K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: squeak VM 5.0

jannik laval
Hi,

I have the same behavior.
Now, I don't know what I can do with this.
I don't see what is wrong.
arghhh....

Cheers,
Jannik


Oops should be

object class = BlockClosure ifTrue:
["May need to adjust PC and startPC if changing wordSize..."
results at: 2 put: (block value: (object instVarAt: 2)+(self pcDeltaForMethod: object method) value: 2)].

Post your current change set so we can see

However that just gives me, which is where I was earlier.


<PastedGraphic-2.tiff>


--
===========================================================================
John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================





---
Jannik Laval
PhD Student - Rmod Team - INRIA
Certified Project Management Associate (IPMA)
---


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: squeak VM 5.0

johnmci
In reply to this post by johnmci
Eliot and I spent 30 minutes chatting about what is wrong. The conclusion is we *think* we are doing the right thing,
yet the Virtual Machine says the image is busted.   So a quick fix is not apparent, and we'll dig more.

On 2009-12-05, at 11:42 PM, John M McIntosh wrote:

>
> On 2009-12-05, at 9:46 PM, Laval Jannik wrote:
>
>>> I added
>>> object class = BlockClosure ifTrue:
>>> [(object instVarAt: 3) ifNotNil:
>>> ["May need to adjust PC and startPC if changing wordSize..."
>>> results at: 2 put: (block value: (object instVarAt: 2)+(self pcDeltaForMethod: object method) value: 2)]].
>
>
> Oops should be
>
> object class = BlockClosure ifTrue:
> ["May need to adjust PC and startPC if changing wordSize..."
> results at: 2 put: (block value: (object instVarAt: 2)+(self pcDeltaForMethod: object method) value: 2)].
>
> Post your current change set so we can see
>
> However that just gives me, which is where I was earlier.
>
>
> <PastedGraphic-2.tiff>

--
===========================================================================
John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================





_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: squeak VM 5.0

jannik laval
Hi John,

I see this method:
------------
fixedPlusIndexableSizeFor: object
        "Return my total number of fields"

        (object isContextPart)
                ifTrue: [^ object class instSize + object frameSize].
        object isCompiledMethod
                ifTrue: [^ object basicSize + (self pcDeltaForMethod: object)].
        ^ object class instSize + object basicSize
-------------

So maybe it needs a line like:
-------------
(object class = BlockClosure)
        ifTrue: [^ object class instSize + (self pcDeltaForMethod: object method)].
-------------

But this one does not work....

Do you have an idea ?
Or maybe I am not on the good way.

Cheers,
Jannik


On Dec 7, 2009, at 04:59 , John M McIntosh wrote:

> Eliot and I spent 30 minutes chatting about what is wrong. The conclusion is we *think* we are doing the right thing,
> yet the Virtual Machine says the image is busted.   So a quick fix is not apparent, and we'll dig more.
>
> On 2009-12-05, at 11:42 PM, John M McIntosh wrote:
>
>>
>> On 2009-12-05, at 9:46 PM, Laval Jannik wrote:
>>
>>>> I added
>>>> object class = BlockClosure ifTrue:
>>>> [(object instVarAt: 3) ifNotNil:
>>>> ["May need to adjust PC and startPC if changing wordSize..."
>>>> results at: 2 put: (block value: (object instVarAt: 2)+(self pcDeltaForMethod: object method) value: 2)]].
>>
>>
>> Oops should be
>>
>> object class = BlockClosure ifTrue:
>> ["May need to adjust PC and startPC if changing wordSize..."
>> results at: 2 put: (block value: (object instVarAt: 2)+(self pcDeltaForMethod: object method) value: 2)].
>>
>> Post your current change set so we can see
>>
>> However that just gives me, which is where I was earlier.
>>
>>
>> <PastedGraphic-2.tiff>
>
> --
> ===========================================================================
> John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
> Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
> ===========================================================================
>
>
>
>



_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: squeak VM 5.0

johnmci
RIght and it's 12:30 am again,

So the MAGIC fixes for the tracer to let you build a 64bit Pharo image are below.
No doubt they apply to closure based squeak trunk images.

Could someone can be kind enough to integrate them into the current System-Tracing.2forPharo.cs ?
Then some people in Europe? can grab the current Pharo/Trunk image and convert it, and run some smoke tests.
BTW you need to use the Squeak.5.0.0.b9.64*64.app.zip to run a 64bit image

Don't forget to convert you have to use a powerpc, or a  squeak VM that is running as powerpc (via get info settings) on your macintel machine.
Still need someone to *fix* the systemtracer so it will run on intel machines.  (Hint watch how it writes out integer data). ...
 
Changes below:

"This is the magic change, it's not the conversion of the image that is bad. It's the Smalltalk code assumption of is that 4 or 8 bytes? "
"There likely should be a Pharo/Squeak bug for this since it should be using wordSize not a magic number of 4"

Eliot notes  "Bravo!  But Smalltalk wordSize has to be implemented in some way that caches the value in e.g. a class variable (or class inst var for max speed) that is reevaluated on startup."

So I'll let someone propose/write a clever solution since the Smalltalk wordSize is computational heavy.

CompiledMethod>>initialPC
        "Answer the program counter for the receiver's first bytecode."

        ^ (self numLiterals + 1) * (Smalltalk wordSize) + 1  
       

"This next method  isn't used much, should be. But the System-Tracing.2forPharo.cs trashes it with a ancient version.
This is the correct version"

SystemDictionary>>wordSize
 "Answer the size (in bytes) of an object pointer."
 "Smalltalk wordSize"
 ^[SmalltalkImage current vmParameterAt: 40] on: Error do: [4]

"Changes to properly fix up BlockClosure in the SystemTracer2"

SystemTracer2>>object: object allFieldsWithIndex: block collect: sequenceableCollectionClass
        "Evaluate block against each of the pointer fields with index, and collect the results in an instance of sequenceableCollectionClass"

        | fixedSize results varSize nilResults blockvalue |
        object isCompiledMethod ifTrue:
                [results := sequenceableCollectionClass new: 1 + object numLiterals.
                1 to: 1 + object numLiterals do:
                        [:j | results at: j put: (block value: (object objectAt: j) value: j)].
                ^ results].
       
        fixedSize := object class instSize.
        varSize := object basicSize.
        results := sequenceableCollectionClass new: fixedSize + varSize.
        1 to: fixedSize do:
                [:j | results at: j put: (block value: (object instVarAt: j) value: j)].
        1 to: varSize do:
                [:j |
                results at: fixedSize + j put: (block value: (object basicAt: j) value: fixedSize + j)].

        object isContextPart ifTrue:
                [(object instVarAt: 2) ifNotNil:
                        ["May need to adjust PC and startPC if changing wordSize..."
                        blockvalue := (object instVarAt: 2)+(self pcDeltaForMethod: object method).
                results at: 2 put: (block value: blockvalue value: 2)].
                ((object isMemberOf: BlockContext) and: [object home notNil]) ifTrue:
                                [results at: 5 put: (block value: (object instVarAt: 5)+(self pcDeltaForMethod: object method) value: 5)].
                "Need to fill out the nils beyond the knowable end of stack"
                nilResults := sequenceableCollectionClass new: object frameSize - object basicSize.
                1 to: nilResults size do:
                        [:j | nilResults at: j put: (block value: nil value: j)].
                ^ results , nilResults].
        object class = BlockClosure ifTrue:
                ["May need to adjust PC and startPC if changing wordSize..."
                blockvalue := (object instVarAt: 2)+(self pcDeltaForMethod: object method).
                results at: 2 put: (block value: blockvalue value: 2)].
                ^ results


>> Eliot and I spent 30 minutes chatting about what is wrong. The conclusion is we *think* we are doing the right thing,
>> yet the Virtual Machine says the image is busted.   So a quick fix is not apparent, and we'll dig more.

--
===========================================================================
John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================





_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: squeak VM 5.0

johnmci
Obviously some bored developer should take one of these handy 64bit images and with a 64bit vm
fire it up and create oh mmm let's say a 10GB image?  Just to see, don't forget to save it and reopen,
do a garbage collect all...

Can't recall hearing of anyone trying an image greater than 2 GB...

If you show proof of a 100GB image, then I'll buy you a beer at the next ESUG.

On 2009-12-16, at 12:48 AM, John M McIntosh wrote:

> So the MAGIC fixes for the tracer to let you build a 64bit Pharo image are below.

--
===========================================================================
John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================





_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: squeak VM 5.0

Stéphane Ducasse
Hi john

I'm sure that jannik (which is not bored) can generate huge images :)

Stef

On Dec 16, 2009, at 9:54 AM, John M McIntosh wrote:

> Obviously some bored developer should take one of these handy 64bit images and with a 64bit vm
> fire it up and create oh mmm let's say a 10GB image?  Just to see, don't forget to save it and reopen,
> do a garbage collect all...
>
> Can't recall hearing of anyone trying an image greater than 2 GB...
>
> If you show proof of a 100GB image, then I'll buy you a beer at the next ESUG.
>
> On 2009-12-16, at 12:48 AM, John M McIntosh wrote:
>
>> So the MAGIC fixes for the tracer to let you build a 64bit Pharo image are below.
>
> --
> ===========================================================================
> John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
> Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
> ===========================================================================
>
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [Vm-dev] Re: squeak VM 5.0

jannik laval
In reply to this post by johnmci
Hi Eliot, hi John,

This is what I do:
- create a class var in SystemDictionary
- accessors (wordSize and wordSize:), the first one can initialize the variable if nil, the second is to modify the value in case of 64bits image.
Maybe the second one could be integrated in System-Tracing file.
- in CompiledMethod, initialPC use it.

Maybe we could integrate it in pharoCore.

Cheers,
Jannik

=======
'From PharoCore1.1ALPHA of ''19 October 2009'' [Latest update: #11088] on 16 December 2009 at 11:06:21 pm'!
IdentityDictionary subclass: #SystemDictionary
instanceVariableNames: 'cachedClassNames '
classVariableNames: 'LastImageName LastQuitLogPosition LowSpaceProcess LowSpaceSemaphore MemoryHogs ShutDownList SpecialSelectors StartUpList StartupStamp SystemChanges WordSize '
poolDictionaries: ''
category: 'System-Support'!

!SystemDictionary class methodsFor: 'initialization' stamp: 'jannik.laval 12/16/2009 22:40'!
wordSize
WordSize ifNil: [WordSize := [SmalltalkImage current vmParameterAt: 40] on: Error do: [4]].
^WordSize! !

!SystemDictionary class methodsFor: 'initialization' stamp: 'jannik.laval 12/16/2009 22:40'!
wordSize: aNumber
WordSize := aNumber! !

IdentityDictionary subclass: #SystemDictionary
instanceVariableNames: 'cachedClassNames'
classVariableNames: 'LastImageName LastQuitLogPosition LowSpaceProcess LowSpaceSemaphore MemoryHogs ShutDownList SpecialSelectors StartUpList StartupStamp SystemChanges WordSize'
poolDictionaries: ''
category: 'System-Support'!


!CompiledMethod methodsFor: 'accessing' stamp: 'jannik.laval 12/16/2009 22:41'!
initialPC
"Answer the program counter for the receiver's first bytecode."

^ (self numLiterals + 1) * SystemDictionary wordSize + 1! !
=======




On Dec 16, 2009, at 18:32 , Eliot Miranda wrote:

Um, I'm _quite_ serious on insisting that Smalltalk wordSize be implemented in some way that caches the value in e.g. a class variable (or class inst var for max speed) that is reevaluated on startup.  initialPC is evaluated a lot, e.g. once for every method in a "browse inst var refs".  This is performance-critical, and going to a slow primitive to access something that can only change at startup is not a good idea.  Please arrange that e.g. SystemDictionary gains a class var that caches the word size.

On Wed, Dec 16, 2009 at 12:48 AM, John M McIntosh <[hidden email]> wrote:

RIght and it's 12:30 am again,

So the MAGIC fixes for the tracer to let you build a 64bit Pharo image are below.
No doubt they apply to closure based squeak trunk images.

Could someone can be kind enough to integrate them into the current System-Tracing.2forPharo.cs ?
Then some people in Europe? can grab the current Pharo/Trunk image and convert it, and run some smoke tests.
BTW you need to use the Squeak.5.0.0.b9.64*64.app.zip to run a 64bit image

Don't forget to convert you have to use a powerpc, or a  squeak VM that is running as powerpc (via get info settings) on your macintel machine.
Still need someone to *fix* the systemtracer so it will run on intel machines.  (Hint watch how it writes out integer data). ...

Changes below:

"This is the magic change, it's not the conversion of the image that is bad. It's the Smalltalk code assumption of is that 4 or 8 bytes? "
"There likely should be a Pharo/Squeak bug for this since it should be using wordSize not a magic number of 4"

Eliot notes  "Bravo!  But Smalltalk wordSize has to be implemented in some way that caches the value in e.g. a class variable (or class inst var for max speed) that is reevaluated on startup."

So I'll let someone propose/write a clever solution since the Smalltalk wordSize is computational heavy.

CompiledMethod>>initialPC
       "Answer the program counter for the receiver's first bytecode."

       ^ (self numLiterals + 1) * (Smalltalk wordSize) + 1


"This next method  isn't used much, should be. But the System-Tracing.2forPharo.cs trashes it with a ancient version.
This is the correct version"

SystemDictionary>>wordSize
 "Answer the size (in bytes) of an object pointer."
 "Smalltalk wordSize"
 ^[SmalltalkImage current vmParameterAt: 40] on: Error do: [4]

"Changes to properly fix up BlockClosure in the SystemTracer2"

SystemTracer2>>object: object allFieldsWithIndex: block collect: sequenceableCollectionClass
       "Evaluate block against each of the pointer fields with index, and collect the results in an instance of sequenceableCollectionClass"

       | fixedSize results varSize nilResults blockvalue |
       object isCompiledMethod ifTrue:
               [results := sequenceableCollectionClass new: 1 + object numLiterals.
               1 to: 1 + object numLiterals do:
                       [:j | results at: j put: (block value: (object objectAt: j) value: j)].
               ^ results].

       fixedSize := object class instSize.
       varSize := object basicSize.
       results := sequenceableCollectionClass new: fixedSize + varSize.
       1 to: fixedSize do:
               [:j | results at: j put: (block value: (object instVarAt: j) value: j)].
       1 to: varSize do:
               [:j |
               results at: fixedSize + j put: (block value: (object basicAt: j) value: fixedSize + j)].

       object isContextPart ifTrue:
               [(object instVarAt: 2) ifNotNil:
                       ["May need to adjust PC and startPC if changing wordSize..."
                       blockvalue := (object instVarAt: 2)+(self pcDeltaForMethod: object method).
               results at: 2 put: (block value: blockvalue value: 2)].
               ((object isMemberOf: BlockContext) and: [object home notNil]) ifTrue:
                               [results at: 5 put: (block value: (object instVarAt: 5)+(self pcDeltaForMethod: object method) value: 5)].
               "Need to fill out the nils beyond the knowable end of stack"
               nilResults := sequenceableCollectionClass new: object frameSize - object basicSize.
               1 to: nilResults size do:
                       [:j | nilResults at: j put: (block value: nil value: j)].
               ^ results , nilResults].
       object class = BlockClosure ifTrue:
               ["May need to adjust PC and startPC if changing wordSize..."
               blockvalue := (object instVarAt: 2)+(self pcDeltaForMethod: object method).
               results at: 2 put: (block value: blockvalue value: 2)].
               ^ results


>> Eliot and I spent 30 minutes chatting about what is wrong. The conclusion is we *think* we are doing the right thing,
>> yet the Virtual Machine says the image is busted.   So a quick fix is not apparent, and we'll dig more.

--
===========================================================================
John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================








_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

addWordSizeInSystemDictionary.1.cs (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [Vm-dev] Re: squeak VM 5.0

johnmci
Ok, well I created Mantis 
to document. 

Personally I would do 
Smalltalk wordSize
versus 
SystemDictionary wordSize

Also the issue is when to change the WordSize variable. 

I think in 
SmalltalkImage>>snapshot: andQuit: embedded:  
right at the 
ifTrue: [self quitPrimitive].
Cursor normal show.
you want to set things so that wordSize is reset. 

At quit time you could do the reset before the 
"self quitPrimitive"
then you know the value is reset and needs to be recalculated at startup time. 
or you can reset it before the
Cursor normal show.
which runs after startup time

Somehow I think there is more risk resetting it after startup since I'm not sure 
when something could leap in wanting a valid value. 



On 2009-12-16, at 2:44 PM, Laval Jannik wrote:

Hi Eliot, hi John,

This is what I do:
- create a class var in SystemDictionary
- accessors (wordSize and wordSize:), the first one can initialize the variable if nil, the second is to modify the value in case of 64bits image.
Maybe the second one could be integrated in System-Tracing file.
- in CompiledMethod, initialPC use it.

Maybe we could integrate it in pharoCore.


--
===========================================================================
John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================





_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
12