Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1426.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.1426 Author: eem Time: 18 July 2015, 1:54:29.051 pm UUID: 94ab92ba-c5c4-4953-8566-a4cd9c38df1f Ancestors: VMMaker.oscog-eem.1425
Fix at least one set of 64-bit issues caused by Slang. In particular the integerObjectOf: code resulted in (objectMemory integerObjectOf: MillisecondClockMask) evaluating to the -1 object, instead of the 16r1FFFFFFF object, which was the cause of the initially nresponsive 64-bit image on the real VM (no problem in the simulator).
=============== Diff against VMMaker.oscog-eem.1425 ===============
Item was changed: ----- Method: CCodeGenerator>>generateIntegerObjectOf:on:indent: (in category 'C translation') ----- generateIntegerObjectOf: msgNode on: aStream indent: level "Generate the C code for this message onto the given stream." + | expr castToSqint | + expr := msgNode args first. + aStream nextPutAll: '(('. + "Note that the default type of an integer constant in C is int. Hence we /must/ + cast constants to long if in the 64-bit world, since e.g. in 64-bits + (int)(16r1FFFFF << 3) = (int)16rFFFFFFF8 = -8 + whereas + (long)(16r1FFFFF << 3) = (long) 16rFFFFFFF8 = 4294967288." + castToSqint := expr isConstant and: [vmClass isNil or: [vmClass objectMemoryClass wordSize = 8]]. + castToSqint ifTrue: + [aStream nextPutAll: '(sqInt)']. + self emitCExpression: expr on: aStream. - aStream - nextPutAll: '(('. - self emitCExpression: msgNode args first on: aStream. - aStream nextPutAll: ' << '; print: vmClass objectMemoryClass numSmallIntegerTagBits; nextPutAll: ') | 1)'!
vm-dev@lists.squeakfoundation.org