Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscogSPC-eem.2121.mcz
==================== Summary ====================
Name: VMMaker.oscogSPC-eem.2121 Author: eem Time: 5 February 2017, 1:33:43.291073 pm UUID: abe8d392-f88f-4a14-9149-ae41afe9ecf2 Ancestors: VMMaker.oscogSPC-eem.2120
Fix a couple of typos that cause the generated C code to miscompile or not compile.
=============== Diff against VMMaker.oscogSPC-eem.2120 ===============
Item was changed: ----- Method: CogObjectRepresentationForSpur>>branchIf:isNotOop:target: (in category 'sista support') ----- + branchIf: reg isNotOop: oop target: targetFixUp - branchIf: reg isNotOop: oop target: targetFixup <var: #targetFixUp type: #'AbstractInstruction *'> <inline: true> cogit CmpCq: oop R: reg. + cogit JumpNonZero: targetFixUp. + ^0! - cogit JumpNonZero: targetFixup. - ^ 0!
Item was changed: ----- Method: CogObjectRepresentationForSpur>>branchIf:isOop:target: (in category 'sista support') ----- + branchIf: reg isOop: oop target: targetFixUp - branchIf: reg isOop: oop target: targetFixup <var: #targetFixUp type: #'AbstractInstruction *'> <inline: true> cogit CmpCq: oop R: reg. + cogit JumpZero: targetFixUp. + ^0! - cogit JumpZero: targetFixup. - ^ 0!
Item was changed: ----- Method: SpurPlanningCompactor>>unmarkObjectsAfterLastMobileObject (in category 'compaction') ----- unmarkObjectsAfterLastMobileObject "Sweep the final immobile heap, freeing and coalescing unmarked and free objects, and unmarking all marked objects up to the end of memory." | startOfFree freeBytes | freeBytes := 0. manager allOldSpaceEntitiesFrom: objectAfterLastMobileObject do: [:o| self check: o. (manager isMarked: o) ifFalse: [startOfFree ifNil: [startOfFree := manager startOfObject: o]. + freeBytes := freeBytes + (manager bytesInObject: o)] - freeBytes := freeBytes + manager bytesInObject: o] ifTrue: [startOfFree ifNotNil: [manager addFreeChunkWithBytes: freeBytes at: startOfFree. startOfFree := nil. freeBytes := 0]. + (manager isPinned: o) + ifTrue: [self unmarkPinned: o] + ifFalse: [manager setIsMarkedOf: o to: false]]]! - (manager isSegmentBridge: o) ifFalse: - [manager setIsMarkedOf: o to: false]]]!
vm-dev@lists.squeakfoundation.org