[Vm-dev] VM Maker: VMMaker.oscog-EstebanLorenzano.1482.mcz
Esteban Lorenzano
estebanlm at gmail.com
Tue Sep 29 15:19:18 UTC 2015
forget it… I just introduced Float>>#basicNew: as compatibility layer.
I will rever the change.
Esteban
> On 29 Sep 2015, at 17:04, Esteban Lorenzano <estebanlm at gmail.com> wrote:
>
> 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