Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2955.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2955 Author: eem Time: 15 April 2021, 12:16:07.352617 pm UUID: 78e7e549-0939-41bc-bea3-d2e5d0625870 Ancestors: VMMaker.oscog-eem.2954 Settle on Global Incremental GC for the name of the Spur incremental collector/compactor. =============== Diff against VMMaker.oscog-eem.2954 =============== Item was changed: CogClass subclass: #SpurMemoryManager (excessive size, no diff calculated) Item was changed: ----- Method: SpurMemoryManager>>incrementalGC (in category 'gc - global') ----- incrementalGC + "The selector incrementalGC refers to the V3 incremental collector, which is the collector for young objects, equivalent in function to the scavenger. + The Spur incremental collector is called the global incremental garbage collector or globalIGC for short." self shouldNotImplement! Item was changed: ----- Method: SpurMemoryManager>>markObjects: (in category 'gc - global') ----- markObjects: objectsShouldBeUnmarkedAndUnmarkedClassesShouldBeExpunged <inline: #never> "for profiling" "Mark all accessible objects. objectsShouldBeUnmarkedAndUnmarkedClassesShouldBeExpunged is true if all objects are unmarked and/or if unmarked classes shoud be removed from the class table." "If the incremental collector is running mark bits may be set; stop it and clear them if necessary." self cCode: '' inSmalltalk: [coInterpreter transcript nextPutAll: 'marking...'; flush]. self runLeakCheckerFor: GCModeFull. + self shutDownGlobalIncrementalGC: objectsShouldBeUnmarkedAndUnmarkedClassesShouldBeExpunged. - self shutDownIncrementalGC: objectsShouldBeUnmarkedAndUnmarkedClassesShouldBeExpunged. self initializeUnscannedEphemerons. self initializeMarkStack. self initializeWeaklingStack. marking := true. self markAccessibleObjectsAndFireEphemerons. self expungeDuplicateAndUnmarkedClasses: objectsShouldBeUnmarkedAndUnmarkedClassesShouldBeExpunged. self nilUnmarkedWeaklingSlots. marking := false! Item was added: + ----- Method: SpurMemoryManager>>shutDownGlobalIncrementalGC: (in category 'gc - incremental') ----- + shutDownGlobalIncrementalGC: objectsShouldBeUnmarked + "If the incremental collector is running mark bits may be set; stop it and clear them if necessary." + self flag: 'need to implement the global inc GC first...'. + objectsShouldBeUnmarked ifTrue: + [self assert: self allObjectsUnmarked]! Item was removed: - ----- Method: SpurMemoryManager>>shutDownIncrementalGC: (in category 'gc - incremental') ----- - shutDownIncrementalGC: objectsShouldBeUnmarked - "If the incremental collector is running mark bits may be set; stop it and clear them if necessary." - self flag: 'need to implement the inc GC first...'. - objectsShouldBeUnmarked ifTrue: - [self assert: self allObjectsUnmarked]! Item was changed: ----- Method: SpurMemoryManager>>tenuringIncrementalGC (in category 'plugin support') ----- tenuringIncrementalGC + "Do an incremental GC that tenures all surviving young objects to old space. + The selector tenuringIncrementalGC refers to the V3 incremental collector, which is the collector for young objects, equivalent in function to the scavenger. + The Spur incremental collector is called the global incremental garbage collector or globalIGC for short." - "Do an incremental GC that tenures all surviving young objects to old space." <api> self flushNewSpace! |
Free forum by Nabble | Edit this page |