[squeak-dev] Re: 64 bit images (was Re: The Trunk: Collections-dtl.268.mcz)

Andreas Raab andreas.raab at gmx.de
Mon Jan 4 13:46:11 UTC 2010


Laval Jannik wrote:
> I made a new version of the system-tracer (in attachment).
> It works fine with the latest pharo version.
> 
> For wordSize, we decide to create a instance variable in SmalltalkImage, which is initialized at startup.

This may be the stupid question of the day, but can someone explain to 
me why we aren't just hard-wiring the word size (say in a CompiledMethod 
class var or so)? It's not like the primitive would *ever* return 
anything else unless you grind the image through SystemTracer, and if 
you do that, SystemTracer can simply update those values. It seems silly 
to build caches, primitives, cache invalidation for a value which will 
never ever change dynamically. Besides I think the cache invalidation 
might be wrong - how do you know that initialPC or other word size 
related methods aren't sent before the startUp method is executed?

Cheers,
   - Andreas

> The method initialPC is:
> 
> ---
> initialPC
> 	"Answer the program counter for the receiver's first bytecode."
> 
> 	^ (self numLiterals + 1) * SmalltalkImage current wordSize + 1
> ---
> 
> The fix will be integrated in Pharo soon.
> It is also in attachment.
> 
> 
> 
> ------------------------------------------------------------------------
> 
> 
> 
> Cheers
> 
> On Jan 3, 2010, at 06:46 , John M McIntosh wrote:
> 
>> Ok, well I was hoping that Laval Jannik would review the changes/solution in http://bugs.squeak.org/view.php?id=7430
>> then update his original System-Tracing.2forPharo3.cs  Then test to confirm we can build a 64bit image from the current Pharo image
>>
>>
>> On 2010-01-02, at 6:46 PM, David T. Lewis wrote:
>>
>>> John, one additional note.
>>>
>>> The SystemTracer changesets currently in circulation have an obsolete
>>> implementation of SystemDictionary>>wordSize.The original 64-bit
>>> Squeak used vmParameterAt: 27 for the VM to answer its word size,
>>> but this was later changed to vmParameter at: 40. This is the reason
>>> that the original "dist3" 64-bit image does not work on current VMs.
>>>
>>> You will want to revert #wordSize back to a current version
>>> so that it uses vmParameter at: 40.
>>>
>>> This issue will go away when we implement the cached #wordSize fixes
>>> discussed separately (http://bugs.squeak.org/view.php?id=7430), but
>>> I wanted to mention it because I spotted the obsolete method in the
>>> System-Tracing2forPharo.cs change set.
>>>
>> --
>> ===========================================================================
>> John M. McIntosh <johnmci at smalltalkconsulting.com>   Twitter:  squeaker68882
>> Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
>> ===========================================================================
>>
>>
>>
>>
> 
> ---
> Jannik Laval
> ---
> 
> 
> 
> ------------------------------------------------------------------------
> 
> 




More information about the Squeak-dev mailing list