VM Maker: VMMaker.oscog-eem.730.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

VM Maker: VMMaker.oscog-eem.730.mcz

commits-2
 
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]!