tim Rowledge uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-tpr.289.mcz
==================== Summary ====================
Name: VMMaker.oscog-tpr.289 Author: tpr Time: 14 May 2013, 3:19:03.426 pm UUID: 522ae12f-76a5-465d-9b22-0a418d901ad2 Ancestors: VMMaker.oscog-eem.288
USe asmLabel: false pragma to stop asm lables being put into floatValueOf and safeObejctAfter so that gcc -o3 doesn't fuck up; it tends to put the label in twice for some reason and then complains about that. Typical...
=============== Diff against VMMaker.oscog-eem.288 ===============
Item was changed: ----- Method: NewObjectMemory>>safeObjectAfter: (in category 'object enumeration') ----- safeObjectAfter: oop "Return the object or start of free space immediately following the given object or free chunk in memory. Return freeStart when enumeration is complete. This is for assertion checking only." | sz | + <asmLabel: false> (self isFreeObject: oop) ifTrue: [sz := self sizeOfFree: oop] ifFalse: [sz := self sizeBitsOf: oop]. ^oop + sz >= freeStart ifTrue: [freeStart] ifFalse: [self oopFromChunk: oop + sz]!
Item was changed: ----- Method: StackInterpreter>>floatValueOf: (in category 'utilities') ----- 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 | + <asmLabel: false> <returnTypeC: #double> <var: #result type: #double> isFloat := self isInstanceOfClassFloat: oop. isFloat ifTrue: [self cCode: '' inSmalltalk: [result := Float new: 2]. objectMemory fetchFloatAt: oop + BaseHeaderSize into: result. ^result]. self primitiveFail. ^0.0!
vm-dev@lists.squeakfoundation.org