Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2726.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.2726 Author: eem Time: 10 March 2020, 12:39:57.341971 pm UUID: d5624270-54d1-4938-aed8-fde6413afc79 Ancestors: VMMaker.oscog-eem.2725
Actally fix a bogus failing assert over-zealously added to the VMMaker.oscog-eem.2724 commit.
=============== Diff against VMMaker.oscog-eem.2725 ===============
Item was changed: ----- Method: SpurMemoryManager>>relocateObjStackForPlanningCompactor:andContents: (in category 'compaction') ----- relocateObjStackForPlanningCompactor: objStack andContents: relocateContents + "Relocate all objStack pages that comprise objStack, including contents if requested." - "Relocate all objStack pages that comprise objStack." | stackOrNil freeList next relocated result | objStack = nilObj ifTrue: [^objStack]. + self assert: (relocateContents or: [(self rawHashBitsOf: objStack) = 0]). - self assert: (relocateContents or: [(self isEmptyObjStack: objStack) or: [compactor isMobile: objStack]]). stackOrNil := objStack. freeList := self fetchPointer: ObjStackFreex ofObject: objStack. [self assert: (self numSlotsOfAny: stackOrNil) = ObjStackPageSlots. "There are four fixed slots in an obj stack, and a Topx of 0 indicates empty, so if there were 5 slots in an oop stack, full would be 2, and the last 0-rel index is 4. + Hence the last index is topx + fixed slots - 1, or topx + ObjStackNextx. The first + two slots, Topx and Myx are not object references." - Hence the last index is topx + fixed slots - 1, or topx + ObjStackNextx" next := self fetchPointer: ObjStackNextx ofObject: stackOrNil. relocated := compactor relocateObjectsInHeapEntity: stackOrNil from: ObjStackFreex to: ObjStackNextx + (relocateContents ifTrue: [self rawHashBitsOf: stackOrNil] ifFalse: [0]). stackOrNil = objStack ifTrue: [result := relocated]. next ~= 0] whileTrue: [stackOrNil := next]. [freeList ~= 0] whileTrue: [self assert: (self numSlotsOfAny: freeList) = ObjStackPageSlots. next := self fetchPointer: ObjStackFreex ofObject: freeList. compactor relocateObjectsInHeapEntity: freeList from: ObjStackFreex to: ObjStackFreex. freeList := next]. + self assert: (relocateContents or: [(self rawHashBitsOf: relocated) = 0]). - self assert: (relocateContents or: [self isEmptyObjStack: relocated]). ^relocated!
vm-dev@lists.squeakfoundation.org