[Vm-dev] VM Maker: VMMaker.oscog-eem.403.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Sep 22 19:11:20 UTC 2013


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!



More information about the Vm-dev mailing list