[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