[Vm-dev] VM Maker: VMMaker.oscog-eem.407.mcz
commits at source.squeak.org
commits at source.squeak.org
Tue Sep 24 20:29:18 UTC 2013
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.407.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.407
Author: eem
Time: 24 September 2013, 1:26:38.972 pm
UUID: dc40b325-054d-4337-8d8b-a6402f3845ad
Ancestors: VMMaker.oscog-eem.406
Comment SpurGenerationScavenger
=============== Diff against VMMaker.oscog-eem.406 ===============
Item was changed:
CogClass subclass: #SpurGenerationScavenger
instanceVariableNames: 'coInterpreter manager eden futureSpace pastSpace futureSurvivorStart rememberedSet rememberedSetSize tenuringThreshold tenuringProportion'
classVariableNames: 'RememberedSetLimit RememberedSetRedZone'
poolDictionaries: ''
category: 'VMMaker-SpurMemoryManager'!
+
+ !SpurGenerationScavenger commentStamp: 'eem 9/24/2013 13:04' prior: 0!
+ SpurGenerationScavenger is an implementation of David Ungar's Generation Scavenging garbage collection algorithm. See
+ Generation Scavenging, A Non-disruptive, High-Performance Storage Reclamation Algorithm
+ David Ungar
+ Proceeding
+ SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
+ Pages 157 - 167
+ ACM New York, NY, USA ©1984
+ ISBN:0-89791-131-8
+
+ Also relevant are
+ An adaptive tenuring policy for generation scavengers
+ David Ungar & Frank Jackson
+ ACM Transactions on Programming Languages and Systems (TOPLAS) TOPLAS Homepage archive
+ Volume 14 Issue 1, Jan. 1992
+ Pages 1 - 27
+ ACM New York, NY, USA
+
+ Instance Variables
+ coInterpreter: <StackInterpreterSimulator|CogVMSimulator>
+ eden: <SpurNewSpaceSpace>
+ futureSpace: <SpurNewSpaceSpace>
+ futureSurvivorStart: <Integer address>
+ manager: <SpurMemoryManager|Spur32BitMMLESimulator et al>
+ pastSpace: <SpurNewSpaceSpace>
+ rememberedSet: <CArrayAccessor on: Array>
+ rememberedSetSize: <Integer>
+ tenuringProportion: <Float>
+ tenuringThreshold: <Integer address>
+
+ coInterpreter
+ - the interpreter/vm, in this context, the mutator
+
+ eden
+ - the space containing newly created objects
+
+ futureSpace
+ - the space to which surviving objects are copied during a scavenge
+
+ futureSurvivorStart
+ - the allocation pointer into futureSpace
+
+ manager
+ - the Spur memory manager
+
+ pastSpace
+ - the space surviving objects live in until the next scavenge
+
+ rememberedSet
+ - the root old space objects that refer to objects in new space; a scavenge starts form these roots and the interpreter's stack
+
+ rememberedSetSize
+ - the size of the remembered set, also the first unused index in the rememberedSet
+
+ tenuringProportion
+ - the amount of pastSpace below which the system will not tenure unless futureSpace fills up, and above which it will eagerly tenure
+
+ tenuringThreshold
+ - the pointer into pastSpace below which objects will be tenured
+ !
Item was added:
+ ----- Method: SpurMemoryManager>>endOfMemory (in category 'accessing') -----
+ endOfMemory
+ ^endOfMemory!
More information about the Vm-dev
mailing list