[Vm-dev] VM Maker: VMMaker.oscog-EstebanLorenzano.1482.mcz

Eliot Miranda eliot.miranda at gmail.com
Tue Sep 29 14:57:56 UTC 2015


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