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

commits at source.squeak.org commits at source.squeak.org
Wed May 21 18:44:59 UTC 2014


Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.730.mcz

==================== Summary ====================

Name: VMMaker.oscog-eem.730
Author: eem
Time: 21 May 2014, 11:42:14.362 am
UUID: 721dc8e5-985a-41a1-8e5d-09d9095df7d8
Ancestors: VMMaker.oscog-eem.729

more typos :-/

=============== Diff against VMMaker.oscog-eem.729 ===============

Item was changed:
  ----- Method: SpurSegmentManager>>findEmptySegNearestInSizeTo: (in category 'growing/shrinking memory') -----
  findEmptySegNearestInSizeTo: size
  	| seg best delta |
+ 	<var: #seg type: #'SpurSegmentInfo *'>
- 	<var: #seg type: #'SegmentInfo *'>
  	best := nil.
  	delta := size.
  	0 to: numSegments - 1 do:
  		[:i|
  		seg := self addressOf: (segments at: i).
  		(self isEmptySegment: seg) ifTrue:
  			[best
  				ifNil: [best := seg]
  				ifNotNil:
  					[(size >= (seg segSize * 0.75)
  					 and: [(seg segSize - size) abs < delta]) ifTrue:
  						[best := seg. delta := (seg segSize - size) abs]]]].
  	^best!

Item was changed:
  ----- Method: SpurSegmentManager>>indexOfSegment: (in category 'growing/shrinking memory') -----
  indexOfSegment: seg
+ 	<var: #seg type: #'SpurSegmentInfo *'>
- 	<var: #seg type: #'SegmentInfo *'>
  	0 to: numSegments - 1 do:
  		[:i|
  		seg segStart = (segments at: i) segStart ifTrue:
  			[^i]].
  	self error: 'segment not found'!

Item was changed:
  ----- Method: SpurSegmentManager>>isEmptySegment: (in category 'growing/shrinking memory') -----
  isEmptySegment: seg
+ 	<var: #seg type: #'SpurSegmentInfo *'>
- 	<var: #seg type: #'SegmentInfo *'>
  	| firstObj |
  	firstObj := manager objectStartingAt: seg segStart.
  	^(manager isFreeObject: firstObj)
  	  and: [(manager addressAfter: firstObj) = (seg segLimit - manager bridgeSize)]!

Item was changed:
  ----- Method: SpurSegmentManager>>shrinkObjectMemory: (in category 'growing/shrinking memory') -----
  shrinkObjectMemory: delta
  	| shrinkage emptySeg |
+ 	<var: #emptySeg type: #'SpurSegmentInfo *'>
- 	<var: #emptySeg type: #'SegmentInfo *'>
  	shrinkage := delta.
  	[emptySeg := self findEmptySegNearestInSizeTo: shrinkage.
  	 emptySeg notNil] whileTrue:
  		[shrinkage := shrinkage - emptySeg segSize.
  		 manager detachFreeObject: (manager objectStartingAt: emptySeg segStart).
  		 self removeSegment: emptySeg]!



More information about the Vm-dev mailing list