[Vm-dev] VM Maker: VMMaker.oscog-eem.828.mcz
commits at source.squeak.org
commits at source.squeak.org
Sun Jul 20 05:35:55 UTC 2014
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.828.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.828
Author: eem
Time: 19 July 2014, 12:32:26.551 pm
UUID: 54a0b096-54ef-4c86-a382-d413bf54329d
Ancestors: VMMaker.oscog-eem.827
Spur:
Make sure to abort if the attempt to grow the remembered
set fails. Try to grow by another 1k slots if doubling fails,
then abort.
Change the defaultEdenBytes to 4Mb.
=============== Diff against VMMaker.oscog-eem.827 ===============
Item was changed:
----- Method: SpurGenerationScavenger>>growRememberedSet (in category 'store check') -----
growRememberedSet
| obj numSlots newObj base |
<inline: false> "Don't ruin locality in remember:"
<var: #base type: #'sqInt *'>
obj := manager rememberedSetObj.
numSlots := manager numSlotsOf: obj.
self assert: numSlots >= 1024.
newObj := manager allocatePinnedSlots: numSlots * 2.
+ newObj ifNil:
+ [newObj := manager allocatePinnedSlots: numSlots + 1024.
+ newObj ifNil:
+ [self error: 'could not grow remembered set']].
manager rememberedSetObj: newObj.
base := manager firstIndexableField: newObj.
0 to: rememberedSetSize - 1 do:
[:i| base at: i put: (rememberedSet at: i)].
"if growing in the middle of a GC, need to preserve marked status."
(manager isMarked: obj) ifTrue:
[manager
setIsMarkedOf: newObj to: true;
setIsMarkedOf: obj to: false].
manager freeObject: obj.
rememberedSet := base.
rememberedSetLimit := numSlots * 2.
rememberedSetRedZone := rememberedSetLimit * 3 + 3 // 4!
Item was changed:
----- Method: SpurMemoryManager>>defaultEdenBytes (in category 'snapshot') -----
defaultEdenBytes
+ "Answer the default amount of memory to allocate for the eden space.
+ The actual value can be set via vmParameterAt: and/or a preference in the ini file.
+ The shootout tests seem to plateau at 5 or 6Mb"
- "Return the default amount of memory to allocate for the eden space.
- The actual value can be set via vmParameterAt: and/or a preference in the ini file."
<inline: false>
+ ^4 * 1024 * 1024!
- ^2 * 1024 * 1024!
More information about the Vm-dev
mailing list