Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1872.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.1872 Author: eem Time: 26 May 2016, 12:24:21.998252 pm UUID: 6db6d610-b1a5-4f4d-978d-22c917bdb3e4 Ancestors: VMMaker.oscog-eem.1871
damn; fgix a slip in the last commit
=============== Diff against VMMaker.oscog-eem.1871 ===============
Item was changed: ----- Method: FloatArrayPlugin>>primitiveLength (in category 'arithmetic primitives') ----- primitiveLength "Primitive. Compute the length of the argument (sqrt of sum of component squares)." <export: true> | rcvr rcvrPtr length len | <var: #rcvrPtr type: #'float *'> <var: #len type: #double> rcvr := interpreterProxy stackValue: 0. (interpreterProxy isWords: rcvr) ifFalse: [interpreterProxy primitiveFailFor: PrimErrBadReceiver]. length := interpreterProxy stSizeOf: rcvr. + rcvrPtr := self cCoerce: (interpreterProxy firstIndexableField: rcvr) to: #'float *'. - rcvrPtr := self cCoerce: (interpreterProxy firstIndexableField: rcvr) to: 'float *'. len := 0.0. 0 to: length-1 do:[:i| len := len + ((self cCoerce: (rcvrPtr at: i) to: #double) * (self cCoerce: (rcvrPtr at: i) to: #double)). ]. len > 0.0 ifFalse: [interpreterProxy primitiveFailFor: PrimErrBadReceiver]. interpreterProxy pop: 1 thenPush: (interpreterProxy floatObjectOf: (self sqrt: len))!
Item was changed: ----- Method: FloatArrayPlugin>>primitiveNormalize (in category 'arithmetic primitives') ----- primitiveNormalize "Primitive. Normalize the argument (A FloatArray) in place." <export: true> | rcvr rcvrPtr length len | <var: #rcvrPtr type: #'float *'> <var: #len type: #double> rcvr := interpreterProxy stackValue: 0. (interpreterProxy isWords: rcvr) ifFalse: [interpreterProxy primitiveFailFor: PrimErrBadReceiver]. length := interpreterProxy stSizeOf: rcvr. + rcvrPtr := self cCoerce: (interpreterProxy firstIndexableField: rcvr) to: #'float *'. - rcvrPtr := self cCoerce: (interpreterProxy firstIndexableField: rcvr) to: 'float *'. len := 0.0. 0 to: length-1 do:[:i| len := len + ((self cCoerce: (rcvrPtr at: i) to: #double) * (self cCoerce: (rcvrPtr at: i) to: #double)). ]. len > 0.0 ifFalse: [interpreterProxy primitiveFailFor: PrimErrBadReceiver].
len := self sqrt: len. 0 to: length-1 do:[:i| rcvrPtr at: i put: ((self cCoerce: (rcvrPtr at: i) to: #double) / len). ].
"Leave receiver on the stack."!
vm-dev@lists.squeakfoundation.org