[Vm-dev] Status of LargeIntegersPlugin

tim Rowledge tim at rowledge.org
Wed Jul 23 05:33:37 UTC 2014


Wholly khao. That would have to be eighteen years ago. That would originally have run on a 40MHz ARM 7 machine with maybe 4Mb ram. As I recall I was sharing an office - actually a tiny fraction of an office cubicle - with John Maloney's wife Roxie at the time. How time flies.

/tim
{insert witticism here}

> On Jul 22, 2014, at 21:59, "David T. Lewis" <lewis at mail.msen.com> wrote:
> 
> 
>> On Tue, Jul 22, 2014 at 08:55:49PM -0700, tim Rowledge wrote:
>> 
>>> my assumption is that
>>> since Squeak began on big endian machines and moved to little endian
>>> later, and since the LargeIntegersPlugin has been around for a long time,
>>> and since images migrated across big and little endian platforms without
>>> any apparent problem, then we probably do not have any endianness problems
>>> with the existing plugin.
>> 
>> There is, or at least was, code to byteswap byte objects at image load time. Not in a good spot to check right now. I think it went 
>> Check endian is as was
>> Swap all words if needed.
>> Swap back contents of byte objects.
>> 
>> Or something like that.
>> 
>> /tim
> 
> Judging by the author credited in the method comment, I suspect that you are probably right ;)
> 
> Interpreter>>reverseBytesInImage
>    "Byte-swap all words in memory after reading in the entire image file with bulk read.
>    Contributed by Tim Rowledge."
> 
>    "First, byte-swap every word in the image. This fixes objects headers."
>    objectMemory reverseBytesFrom: objectMemory startOfMemory to: objectMemory getEndOfMemory.
> 
>    "Second, return the bytes of bytes-type objects to their orginal order."
>    self byteSwapByteObjects.
> 
> 


More information about the Vm-dev mailing list