Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1015.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.1015 Author: eem Time: 9 January 2015, 12:57:02.709 pm UUID: cc6ec010-1b1d-4ba3-8a4d-1c31b2931fbd Ancestors: VMMaker.oscog-eem.1014
Fix some C typing slips in recent Sista JIT code.
=============== Diff against VMMaker.oscog-eem.1014 ===============
Item was changed: ----- Method: CogObjectRepresentationFor32BitSpur>>genGetNumBytesOf:into: (in category 'compile abstract instructions') ----- genGetNumBytesOf: srcReg into: destReg "Get the size in byte-sized slots of the object in srcReg into destReg. srcReg may equal destReg. destReg <- numSlots << self shiftForWord - (fmt bitAnd: 3). Assumes the object in srcReg has a byte format, i.e. 16 to 23 or 24 to 31 " + <var: #jmp type: #'AbstractInstruction *'> - <var: #jmp type: #'AbstractInstruction'> | jmp | self genGetRawSlotSizeOfNonImm: srcReg into: TempReg. cogit CmpCq: objectMemory numSlotsMask R: TempReg. jmp := cogit JumpLess: 0. cogit MoveMw: objectMemory wordSize negated r: srcReg R: destReg. jmp jmpTarget: (cogit LogicalShiftLeftCq: objectMemory shiftForWord R: destReg). "Now: destReg = numSlots << shiftForWord" cogit MoveMw: 0 r: srcReg R: TempReg. cogit LogicalShiftRightCq: objectMemory formatShift R: TempReg. cogit AndCq: objectMemory wordSize - 1 R: TempReg. "Now: fmt bitAnd: 3 in TempReg" cogit SubR: TempReg R: destReg. ^0!
Item was changed: ----- Method: CogObjectRepresentationFor32BitSpur>>genGetNumSlotsOf:into: (in category 'compile abstract instructions') ----- genGetNumSlotsOf: srcReg into: destReg "Get the size in word-sized slots of the object in srcReg into destReg. srcReg may equal destReg." + <var: #jmp type: #'AbstractInstruction *'> - <var: #jmp type: #'AbstractInstruction'> | jmp | self genGetRawSlotSizeOfNonImm: srcReg into: TempReg. cogit CmpCq: objectMemory numSlotsMask R: TempReg. jmp := cogit JumpLess: 0. cogit MoveMw: objectMemory wordSize negated r: srcReg R: TempReg. jmp jmpTarget: (cogit MoveR: TempReg R: destReg). ^0!
Item was changed: ----- Method: SimpleStackBasedCogit>>genPushClosureTempsBytecode (in category 'bytecode generators') ----- genPushClosureTempsBytecode "SistaV1: 230 11100110 iiiiiiii PushNClosureTemps iiiiiiii" 1 to: byte1 do: + [:i| self genPushLiteral: objectMemory nilObject]. + ^0! - [:i| self genPushLiteral: objectMemory nilObject]!
vm-dev@lists.squeakfoundation.org