VM Maker: VMMaker.oscog-eem.2955.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

VM Maker: VMMaker.oscog-eem.2955.mcz

commits-2
 
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!