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

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Sat Oct 31 18:20:11 UTC 2015


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20151031/099086aa/attachment.htm


More information about the Vm-dev mailing list