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!
vm-dev@lists.squeakfoundation.org