Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1064.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.1064 Author: eem Time: 13 February 2015, 5:47:49.105 pm UUID: 9d9d2583-03e6-4b6b-9b24-51587933f8f3 Ancestors: VMMaker.oscog-eem.1063
And take advantage of the better inlining in copyAndForward:
=============== Diff against VMMaker.oscog-eem.1063 ===============
Item was changed: ----- Method: SpurGenerationScavenger>>copyAndForward: (in category 'scavenger') ----- copyAndForward: survivor "copyAndForward: survivor copies a survivor object either to futureSurvivorSpace or, if it is to be promoted, to oldSpace. It leaves a forwarding pointer behind. If the object is weak then corpse is threaded onto the weakList for later treatment." <inline: false> | bytesInObj format tenure newLocation | self assert: ((manager isInEden: survivor) "cog methods should be excluded." or: [manager isInPastSpace: survivor]). bytesInObj := manager bytesInObject: survivor. format := manager formatOf: survivor. tenure := self shouldBeTenured: survivor. "Allow Slang to inline." + newLocation := (tenure or: [futureSurvivorStart + bytesInObj > futureSpace limit]) + ifTrue: [self copyToOldSpace: survivor bytes: bytesInObj format: format] + ifFalse: [self copyToFutureSpace: survivor bytes: bytesInObj]. - (tenure or: [futureSurvivorStart + bytesInObj > futureSpace limit]) - ifTrue: [newLocation := self copyToOldSpace: survivor bytes: bytesInObj format: format] - ifFalse: [newLocation := self copyToFutureSpace: survivor bytes: bytesInObj]. manager forwardSurvivor: survivor to: newLocation. "if weak or ephemeron add to the relevant list for subsequent scanning." (manager isWeakFormat: format) ifTrue: [self addToWeakList: survivor]. ((manager isEphemeronFormat: format) and: [(self isScavengeSurvivor: (manager keyOfEphemeron: newLocation)) not]) ifTrue: [self addToEphemeronList: survivor]. ^newLocation!
vm-dev@lists.squeakfoundation.org