Eliot Miranda uploaded a new version of Cog to project VM Maker:
http://source.squeak.org/VMMaker/Cog-eem.430.mcz==================== Summary ====================
Name: Cog-eem.430
Author: eem
Time: 2 January 2021, 1:21:15.936867 pm
UUID: 5fbaa4e2-e023-459c-b431-2899e4145610
Ancestors: Cog-nice.429
Fix a bad estimate of needed heap size in 64=>32 bit image conversions. Provide a convenience for invoking image conversions.
Fix a speeling rorre.
=============== Diff against Cog-nice.429 ===============
Item was changed:
----- Method: BochsIA32Alien>>abiUnmarshal: (in category 'accessing-abstract') -----
abiUnmarshal: nArgs
+ "Remove nArgs from the stack of a leaf call"
- "Remove nArgs form teh stack of a leaf call"
self esp: self esp + (nArgs * 4)!
Item was changed:
----- Method: Spur64to32BitImageConverter>>on: (in category 'public access') -----
on: imageName
(sourceInterpreter := StackInterpreterSimulator newWithOptions: #(ObjectMemory Spur64BitMemoryManager))
openOn: imageName extraMemory: 0.
sourceHeap := sourceInterpreter objectMemory.
imageHeaderFlags := sourceInterpreter getImageHeaderFlags.
savedWindowSize := sourceInterpreter savedWindowSize.
targetInterpreter := StackInterpreterSimulator newWithOptions: #(ObjectMemory Spur32BitMemoryManager).
targetHeap := targetInterpreter objectMemory.
targetHeap
+ allocateMemoryOfSize: sourceHeap oldSpaceSize * 3 // 4 "LargeInteger and Float objects are created for out-of-range immediates"
- allocateMemoryOfSize: sourceHeap oldSpaceSize * 5 // 8 "LargeInteger and Float objects are created for out-of-range immediates"
newSpaceSize: 8 * 1024 * 1024
stackSize: 16 * 1024
codeSize: 0.
targetHeap bootstrapping: true.
numCompiledCode := numReadOnly := 0. "these are used to guess if literals are read-only..."
self initMaps
!
Item was added:
+ ----- Method: SpurMtoNBitImageConverter class>>bootstrapImage: (in category 'instance creation') -----
+ bootstrapImage: imageName
+ ^self new bootstrapImage: imageName!