Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog.seperateMarking-eem.3325.mcz
==================== Summary ====================
Name: VMMaker.oscog.seperateMarking-eem.3325 Author: eem Time: 23 April 2023, 11:35:43.748429 am UUID: 288bab1e-a92e-4eed-8e94-7c8c0138b5b3 Ancestors: VMMaker.oscog.seperateMarking-eem.3324
Merge VMMaker.oscog-eem.3319. Remove a break.
=============== Diff against VMMaker.oscog.seperateMarking-eem.3324 ===============
Item was changed: ----- Method: SpurIncrementalMarker>>markInactiveEphemerons (in category 'weaklings and ephemerons') ----- markInactiveEphemerons "Go through the unscanned ephemerons, marking the inactive ones, and removing them from the unscanned ephemerons. Answer if any inactive ones were found. We cannot fire the ephemerons until all are found to be active since scan-marking an inactive ephemeron later in the set may render a previously-observed active ephemeron as inactive." | foundInactive ptr | - self break. foundInactive := false. ptr := manager unscannedEphemerons start. [ptr < manager unscannedEphemerons top] whileTrue: [| ephemeron key | key := manager followedKeyOfEphemeron: (ephemeron := manager longAt: ptr). ((manager isImmediate: key) or: [manager isMarked: key]) ifTrue: [foundInactive := true. "Now remove the inactive ephemeron from the set, and scan-mark it. Scan-marking it may add more ephemerons to the set." manager unscannedEphemerons top: manager unscannedEphemerons top - manager bytesPerOop. manager unscannedEphemerons top > ptr ifTrue: [manager longAt: ptr put: (manager longAt: manager unscannedEphemerons top)]. self markAndTrace: ephemeron] ifFalse: [ptr := ptr + manager bytesPerOop]]. ^foundInactive!
Item was changed: ----- Method: SpurMemoryManager>>num32BitUnitsOf: (in category 'object access') ----- num32BitUnitsOf: objOop "Answer the number of 32-bit units in the given non-immediate object. N..B. Rounds down 8-bit units, so a 7 byte object has 1 32-bit unit. Does not adjust the size of contexts by stackPointer." ^(self numBytesOf: objOop) >> 2!
vm-dev@lists.squeakfoundation.org