[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