Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.3321.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.3321 Author: eem Time: 24 April 2023, 12:48:14.391365 pm UUID: 6b9e6729-3881-41bd-928b-15323a50759c Ancestors: VMMaker.oscog-eem.3320
fix a warning
=============== Diff against VMMaker.oscog-eem.3320 ===============
Item was changed: ----- Method: SpurMemoryManager>>objectsAccessibleFromRoots: (in category 'image segment in/out') ----- objectsAccessibleFromRoots: arrayOfRootsArg "This primitive is called from Squeak as... arrayOfRoots uniquelyAccessibleObjects
This primitive answers an array of the receiver and every object in its proper tree of subParts (ie, that is not refered to from anywhere else outside the tree).
The primitive can fail for the following reasons with the specified failure codes: PrimErrNoMemory: additional allocations failed"
<inline: false> | arrayOfRoots arrayOfObjects | - <var: 'segAddr' type: #usqInt>
self runLeakCheckerFor: GCCheckImageSegment.
"First scavenge to collect any new space garbage that refers to the graph." self scavengingGC. arrayOfRoots := self updatePostScavenge: arrayOfRootsArg. "Now compute the transitive closure, collecting the sequence of objects to be stored in the arrayOfObjects array. Included in arrayOfObjects are the arrayOfRoots and all its contents. All objects have been unmarked." arrayOfObjects := self objectsReachableFromRoots: arrayOfRoots. arrayOfObjects ifNil: [^self integerObjectOf: PrimErrNoMemory]. "If objectsReachableFromRoots: answers an integer there is not enough continuous free space in which to allocate the reachable objects. If there is sufficient free space then answer an error code to prompt a compacting GC and a retry." (self isIntegerObject: arrayOfObjects) ifTrue: [totalFreeOldSpace - self allocationUnit >= (self integerValueOf: arrayOfObjects) ifTrue: [^self integerObjectOf: PrimErrNeedCompaction]. ^self integerObjectOf: PrimErrNoMemory].
self assert: self allObjectsUnmarked. "work to be done when the incremental GC is written" self deny: (self forwardersIn: arrayOfObjects).
^arrayOfObjects!
vm-dev@lists.squeakfoundation.org