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

commits at source.squeak.org commits at source.squeak.org
Mon Jan 13 20:09:35 UTC 2014


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

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

Name: VMMaker.oscog-eem.583
Author: eem
Time: 13 January 2014, 12:05:56.387 pm
UUID: 0be513d3-c984-427f-a0e2-78bea8c85a26
Ancestors: VMMaker.oscog-dtl.582

Allocate more newSpace for the SpurBootstrap launchSaved shortcut
so the interpreter reserve bytes are accomodated.

Fix superclass of VMSqueakV3BytecodeConstants (thanks tty).

=============== Diff against VMMaker.oscog-dtl.582 ===============

Item was changed:
  ----- Method: SpurMemoryManager>>allocateMemoryOfSize:newSpaceSize:stackSize:codeSize: (in category 'spur bootstrap') -----
  allocateMemoryOfSize: memoryBytes newSpaceSize: newSpaceBytes stackSize: stackBytes codeSize: codeBytes
  	"Intialize the receiver for bootsraping an image.
  	 Set up a large oldSpace and an empty newSpace and set-up freeStart and scavengeThreshold
  	 to allocate in oldSpace.  Later on (in initializePostBootstrap) freeStart and scavengeThreshold
  	 will be set to sane values."
  	<doNotGenerate>
  	self assert: (memoryBytes \\ self allocationUnit = 0
  				and: [newSpaceBytes \\ self allocationUnit = 0
  				and: [codeBytes \\ self allocationUnit = 0]]).
  	memory := (self endianness == #little
  					ifTrue: [LittleEndianBitmap]
  					ifFalse: [Bitmap]) new: (memoryBytes + newSpaceBytes + codeBytes + stackBytes) // 4.
  	newSpaceStart := codeBytes + stackBytes.
  	endOfMemory := freeOldSpaceStart := memoryBytes + newSpaceBytes + codeBytes + stackBytes.
  	"leave newSpace empty for the bootstrap"
  	freeStart := newSpaceBytes + newSpaceStart.
  	oldSpaceStart := newSpaceLimit := newSpaceBytes + newSpaceStart.
  	scavengeThreshold := memory size * 4. "Bitmap is a 4-byte per word array"
  	scavenger := SpurGenerationScavengerSimulator new.
  	scavenger manager: self.
  	scavenger newSpaceStart: newSpaceStart
  				newSpaceBytes: newSpaceBytes
+ 				edenBytes: newSpaceBytes
+ 						* (self scavengerDenominator - self numSurvivorSpaces)
+ 						// self scavengerDenominator!
- 				edenBytes: newSpaceBytes * self scavengerDenominator
- 						- self numSurvivorSpaces // self scavengerDenominator!

Item was changed:
+ SharedPool subclass: #VMSqueakV3BytecodeConstants
- VMBasicConstants subclass: #VMSqueakV3BytecodeConstants
  	instanceVariableNames: ''
  	classVariableNames: 'CtxtTempFrameStart LargeContextBit LargeContextSize LargeContextSlots SmallContextSize SmallContextSlots'
  	poolDictionaries: 'VMBasicConstants'
  	category: 'VMMaker-Interpreter'!
  
  !VMSqueakV3BytecodeConstants commentStamp: '<historical>' prior: 0!
  self ensureClassPool.
  #(CtxtTempFrameStart LargeContextBit LargeContextSize SmallContextSize) do:
  	[:k|
  	self classPool declare: k from: ObjectMemory classPool]!



More information about the Vm-dev mailing list