[Vm-dev] VM Maker: VMMaker.oscog.seperateMarking-WoC.3296.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Jan 11 14:33:36 UTC 2023


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!



More information about the Vm-dev mailing list