Hi All,

    Spur adds two new immediate classes, Character and SmallFloat64.  It also adds 61-bit SmallIntegers in 64-bits.  DataStream/ReferenceStream/SmartRefStream are all affected by this.  e.g.

        ReferenceStream testWith: $a

fails on 32-bit and 64-bit Spur.

    ReferenceStream testWith: SmallInteger maxVal

fails (silently, to be fixed soon) on 64-bit Spur.

Is anyone kind enough and motivated enough to give this code some love and at least make it work for

32-bit Spur => 32-bit Spur
64-bit Spur => 64-bit Spur

but also hopefully for
32-bit Spur <=> 64-bit Spur
32-bit V3 => 32-bit Spur
32-bit V3 => 64-bit Spur

?

On Tue, Feb 3, 2015 at 8:59 AM, Stéphane Rollandin <lecteur@zogotounga.net> wrote:
Yes.  Can you send me a pair of doits for me to test this, one I can run in v3 and one I can run in Spur?

I'm trying to set-up a faulty expression, but it is not so easy.

Meanwhile I stumbled upon a similar bug:

        $a asReferenceStream reset fileInObjectAndCode

The above succeeds in V3 and raises an error in Spur. Same reason: basicNew being sent to Character.


But I'n curious, why codePoint: rather than

createFrom: aSmartRefStream size: varsOnDisk version: instVarList

    ^ self value: instVarList first

?

Well I got used to codePoint: ... Also value: has a lot more implementors and senders and does not mean much by itself. Actually I never thought about this.






--
best,
Eliot