VM Maker: VMMaker.oscog-eem.1402.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.1402.mcz

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

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

Name: VMMaker.oscog-eem.1402
Author: eem
Time: 29 June 2015, 5:43:57.101 pm
UUID: 6f030706-bed6-4c29-a2f7-5e3653737178
Ancestors: VMMaker.oscog-eem.1401

oops.

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

Item was changed:
  ----- Method: SpurMemoryManager>>growOldSpaceByAtLeast: (in category 'growing/shrinking memory') -----
  growOldSpaceByAtLeast: minAmmount
  "Attempt to grow memory by at least minAmmount.
  Answer the size of the new segment, or nil if the attempt failed."
  | ammount headroom total |
  <var: #segInfo type: #'SpurSegmentInfo *'>
  "statGrowMemory counts attempts, not successes."
  statGrowMemory := statGrowMemory + 1."we need to include overhead for a new object header plus the segment bridge."
  ammount := minAmmount + (self baseHeaderSize * 2 + self bridgeSize).
  "round up to the nearest power of two."
  ammount := 1 << (ammount - 1) highBit.
  "and grow by at least growHeadroom."
  ammount := ammount max: growHeadroom.
 
  "Now apply the maxOldSpaceSize limit, if one is in effect."
  maxOldSpaceSize > 0 ifTrue:
  [total := segmentManager totalBytesInSegments.
  total >= maxOldSpaceSize ifTrue:
  [^nil].
  headroom := maxOldSpaceSize - total.
  headroom < ammount ifTrue:
  [headroom < (minAmmount + (self baseHeaderSize * 2 + self bridgeSize)) ifTrue:
  [^nil].
  ammount := headroom]].
 
  ^(segmentManager addSegmentOfSize: ammount) ifNotNil:
  [:segInfo|
  self assimilateNewSegment: segInfo.
  "and add the new free chunk to the free list; done here
   instead of in assimilateNewSegment: for the assert"
  self addFreeChunkWithBytes: segInfo segSize - self bridgeSize at: segInfo segStart.
  self assert: (self addressAfter: (self objectStartingAt: segInfo segStart))
  = (segInfo segLimit - self bridgeSize).
  self checkFreeSpace.
  segmentManager checkSegments.
+ segInfo segSize]!
- segInfo segSize]
-
-
- maxOldSpaceSize
- totalBytesInSegments!