[Vm-dev] VM Maker: VMMaker.oscog-eem.868.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Aug 28 08:29:11 UTC 2014
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.868.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.868
Author: eem
Time: 28 August 2014, 9:25:21.878 am
UUID: 14a9feae-9641-497b-afe9-190e47fd6e37
Ancestors: VMMaker.oscog-eem.867
Rescue in-image compilation for V3
=============== Diff against VMMaker.oscog-eem.867 ===============
Item was changed:
----- Method: CurrentImageCoInterpreterFacade>>initialize (in category 'initialize-release') -----
initialize
memory := (VMBIGENDIAN
ifTrue: [Bitmap]
ifFalse: [LittleEndianBitmap]) new: 1024*1024/4.
objectMemory := self class objectMemoryClass simulatorClass new.
+ objectMemory
+ initializeFreeSpaceForFacadeFrom: self startOfMemory
+ to: self variablesBase.
objectMemory memory: memory.
coInterpreter := CoInterpreter new.
coInterpreter
instVarNamed: 'objectMemory'
put: objectMemory;
instVarNamed: 'primitiveTable'
put: (CArrayAccessor on: CoInterpreter primitiveTable copy).
variables := Dictionary new.
#('stackLimit') do:
[:l| self addressForLabel: l].
self initializeObjectMap!
Item was removed:
- ----- Method: CurrentImageCoInterpreterFacadeForSpurObjectRepresentation>>initialize (in category 'initialize-release') -----
- initialize
- super initialize.
- objectMemory
- initializeFreeSpaceForFacadeFrom: self startOfMemory
- to: self variablesBase!
Item was added:
+ ----- Method: NewCoObjectMemory>>initializeFreeSpaceForFacadeFrom:to: (in category 'simulation') -----
+ initializeFreeSpaceForFacadeFrom: base to: limit
+ freeStart := base.
+ endOfMemory := scavengeThreshold := limit!
Item was changed:
----- Method: Spur32BitCoMemoryManager>>initializeFreeSpaceForFacadeFrom:to: (in category 'simulation only') -----
initializeFreeSpaceForFacadeFrom: base to: limit
"c.f. initializeFreeSpacePostLoad: freeListObj."
| freeListObj freeBytes |
newSpaceLimit := oldSpaceStart := freeStart := base.
+ endOfMemory := scavengeThreshold := limit.
- endOfMemory := scavengeThreshold := limit..
segmentManager initSegmentForInImageCompilationFrom: base to: limit.
freeListObj := self allocateSlots: self numFreeLists
format: self wordIndexableFormat
classIndex: self wordSizeClassIndexPun.
freeLists := self firstIndexableField: freeListObj.
freeListsMask := 0.
0 to: self numFreeLists - 1 do:
[:i|
(freeLists at: i) ~= 0 ifTrue:
[freeListsMask := freeListsMask bitOr: (1 << i).
freeLists at: i put: (segmentManager swizzleObj: (freeLists at: i))]].
freeBytes := segmentManager lastSegment segLimit - self bridgeSize - freeStart.
freeLists at: 0 put: (self initFreeChunkWithBytes: freeBytes at: freeStart).
totalFreeOldSpace := freeBytes!
More information about the Vm-dev
mailing list