[Vm-dev] 64bits spur DataStream assumes SmallInteger fit in 32bits

Eliot Miranda eliot.miranda at gmail.com
Sun Nov 1 07:59:01 UTC 2015


Agreed.  Keeping compatibility between 32 & 64 bits is v important.  

_,,,^..^,,,_ (phone)

> On Oct 31, 2015, at 11:20 AM, Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com> wrote:
> 
> Hi,
> as the title tells, 
> 
> DataStream>>writeInteger: anInteger
>     "PRIVATE -- Write the contents of a SmallInteger."
> 
>     byteStream nextInt32Put: anInteger    "signed!!!!!"
> 
> Which strategy do we adopt?
> I suggest using a fake LargeInteger...
> 
>     objectToStore := (self objectIfBlocked: anObject) objectForDataStream: self.
>     objectToStore == anObject ifFalse: [typeID := self typeIDFor: objectToStore].
> 
> Of course, we must also care of LargeInteger materialization in 64bits spur.
> I'm going to fix it unless someone has a better idea.
> 
> Nicolas


More information about the Vm-dev mailing list