Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.403.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.403 Author: eem Time: 22 September 2013, 12:08:39.144 pm UUID: 1dd82aad-7f17-40d8-b728-2499d03969df Ancestors: VMMaker.oscog-eem.402
Flush new space on someInstance/someObject
=============== Diff against VMMaker.oscog-eem.402 ===============
Item was added: + ----- Method: SpurMemoryManager>>firstAccessibleObject (in category 'object enumeration') ----- + firstAccessibleObject + <inline: false> + self assert: nilObj = newSpaceLimit. + "flush newSpace to settle the enumeration." + self flushNewSpace. + ^nilObj!
Item was changed: ----- Method: SpurMemoryManager>>flushNewSpace (in category 'generation scavenging') ----- flushNewSpace | savedTenuringThreshold | savedTenuringThreshold := scavenger getRawTenuringThreshold. scavenger setRawTenuringThreshold: newSpaceLimit. + self scavengingGC. - self sufficientSpaceAfterGC: 0. scavenger setRawTenuringThreshold: savedTenuringThreshold. self assert: scavenger rememberedSetSize = 0. self assert: pastSpaceStart = scavenger pastSpace start. self assert: freeStart = scavenger eden start!
Item was changed: ----- Method: SpurMemoryManager>>initialInstanceOf: (in category 'object enumeration') ----- initialInstanceOf: classObj <inline: false> | classIndex | classIndex := self rawHashBitsOf: classObj. classIndex = 0 ifTrue: [^nil]. + "flush newSpace to settle the enumeration." + self flushNewSpace. self allObjectsDo: [:objOop| classIndex = (self classIndexOf: objOop) ifTrue: [^objOop]]. ^nil!
vm-dev@lists.squeakfoundation.org