Tom Braun uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog.seperateMarking-WoC.3296.mcz
==================== Summary ====================
Name: VMMaker.oscog.seperateMarking-WoC.3296 Author: WoC Time: 11 January 2023, 3:33:08.177499 pm UUID: 8b193fca-809a-4343-a3af-25392e3826cb Ancestors: VMMaker.oscog.seperateMarking-WoC.3295
corrected comment
=============== Diff against VMMaker.oscog.seperateMarking-WoC.3295 ===============
Item was changed: ----- Method: SpurIncrementalGarbageCollector>>isOkToClearReference: (in category 'testing') ----- isOkToClearReference: objOop + "This method gets called from scavenging to check if it is ok to clear pointer from weak objects to old space + the information if an old is dead is available the moment when marking finishes. Then nilUnmarkedWeaklingSlotsExcludingYoungObjects: + gets called and all weak slots of objects pointing to unmarked objects get set to nil. Therefore in scavenging we cannot know + if it is ok to clear a reference (either they are already cleared or we not know if they are dead or alive) and have to forbid it" - "when using incremental GC if an object is dead is only possible to determine in a small time window (in sweeping for objects behind the sweepers position). During marking the information is not complete and in compaction the mark bits are already cleared. For simplicity, forbid clearing them. - Now only at the end of marking weak references and ephermerons get cleared (in old and young space)" ^ (manager isOldObject: objOop) not!
vm-dev@lists.squeakfoundation.org