[Vm-dev] VM Maker: VMMaker.oscog-eem.2955.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Apr 15 19:16:18 UTC 2021
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!
More information about the Vm-dev
mailing list