[Vm-dev] Re: [squeak-dev] Spur with Immediate Floating Point Support implies a break

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Thu Dec 4 20:11:37 UTC 2014


2014-12-04 19:22 GMT+01:00 Eliot Miranda <eliot.miranda at gmail.com>:

> Hi Nicolas,
>
> On Dec 4, 2014, at 1:51 AM, Nicolas Cellier <
> nicolas.cellier.aka.nice at gmail.com> wrote:
>
>
>
> 2014-12-04 0:08 GMT+01:00 Levente Uzonyi <leves at elte.hu>:
>
>> On Mon, 1 Dec 2014, Eliot Miranda wrote:
>>
>>  I was assuming that any of add or subtract positive or negative zero, or
>>> multiply or divide by 1.0 would do the trick.  Why wouldn't this be
>>> adequate?
>>>
>>
>> I think "x + 0.0" is adequate, but unnatural. It reminds me of
>> javascript's typecast hacks.
>>
>>
> No, it's not, it would transform a negative zero into a positive one...
> Maybe x - 0.0
>
>
> What does x * 1.0 do to negative zero?
>
>
x * 1.0 is perfectly OK

You can test -0.0 * 1.0 in a classic COG -> -0.0 and -0.0 + 0.0 -> 0.0


>
>>  Ah, I see.  Hang on.  There is no support for SmallFloat64 on 32-bit
>>> Spur.
>>> Only in a 64-bit image/on a 64-bit Spur VM will you be able to create
>>> instances of SmallFloat64.  And so far I only have this working in the VM
>>> simulator.  I've yet to try and create a real VM, and even then it will
>>> only be a Stack VM.
>>>
>>
>> Wouldn't it be possible to support them in a 32-bit VM? Aren't object
>> headers the same in both VMs? Or is it because of the difference in
>> alignment?
>>
>> Levente
>>
>>
>>
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20141204/ca5272e5/attachment.htm


More information about the Squeak-dev mailing list