[Vm-dev] VM Maker: VMMaker.oscog-EstebanLorenzano.1482.mcz
Esteban Lorenzano
estebanlm at gmail.com
Tue Sep 29 15:04:58 UTC 2015
Hi Eliot,
it started to happen when bootstrapping (since we still do not move development to spur, we still bootstrap each version).
create explicitly a BoxedFloat64 would work?
Esteban
> On 29 Sep 2015, at 16:57, Eliot Miranda <eliot.miranda at gmail.com> wrote:
>
>
> Hi Esteban,
>
> in 64-bit spur 0.0 is an immediate so this won't work. We have to think harder. What context do you see the error in?
>
> _,,,^..^,,,_ (phone)
>
>> On Sep 29, 2015, at 7:55 AM, commits at source.squeak.org wrote:
>>
>>
>> Esteban Lorenzano uploaded a new version of VMMaker to project VM Maker:
>> http://source.squeak.org/VMMaker/VMMaker.oscog-EstebanLorenzano.1482.mcz
>>
>> ==================== Summary ====================
>>
>> Name: VMMaker.oscog-EstebanLorenzano.1482
>> Author: EstebanLorenzano
>> Time: 29 September 2015, 4:49:27.731611 pm
>> UUID: 82196012-eb6f-4ab2-b5aa-5cef663d6f13
>> Ancestors: VMMaker.oscog-eem.1481
>>
>> Float new: 2 is invalind, changing it for 0.0 seems to work fine.
>>
>> =============== Diff against VMMaker.oscog-eem.1481 ===============
>>
>> Item was changed:
>> ----- Method: Spur32BitMemoryManager>>floatValueOf: (in category 'interpreter access') -----
>> floatValueOf: oop
>> "Answer the C double precision floating point value of the argument,
>> or fail if it is not a Float, and answer 0.
>> Note: May be called by translated primitive code."
>>
>> | isFloat result |
>> <returnTypeC: #double>
>> <var: #result type: #double>
>> isFloat := self isFloatInstance: oop.
>> isFloat ifTrue:
>> + [self cCode: '' inSmalltalk: [result := 0.0].
>> - [self cCode: '' inSmalltalk: [result := Float new: 2].
>> self fetchFloatAt: oop + self baseHeaderSize into: result.
>> ^result].
>> coInterpreter primitiveFail.
>> ^0.0!
>>
More information about the Vm-dev
mailing list