[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