[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