Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2852.mcz==================== Summary ====================
Name: VMMaker.oscog-eem.2852
Author: eem
Time: 23 October 2020, 8:24:42.571147 pm
UUID: f24c4594-b9be-4ec7-877f-e23945ed8dfa
Ancestors: VMMaker.oscog-eem.2851
Refactoring to start reviving CoInterpreterMT.
=============== Diff against VMMaker.oscog-eem.2851 ===============
Item was added:
+ ----- Method: CoInterpreter>>setFramePointer:stackPointer:for: (in category 'initialization') -----
+ setFramePointer: cFramePointer stackPointer: cStackPointer for: processor
+ <doNotGenerate>
+ processor
+ setFramePointer: (self setCFramePointer: cFramePointer)
+ stackPointer: (self setCStackPointer: cStackPointer)!
Item was added:
+ ----- Method: CoInterpreterMT>>setFramePointer:stackPointer:for: (in category 'initialization') -----
+ setFramePointer: cFramePointer stackPointer: cStackPointer for: processor
+ <doNotGenerate>
+ self flag: #design.
+ CFramePointer ifNil:
+ [self setCFramePointer: cFramePointer; setCStackPointer: cStackPointer].
+ processor
+ setFramePointer: cFramePointer
+ stackPointer: cStackPointer!
Item was changed:
----- Method: CogVMSimulator>>codeGeneratorToComputeAccessorDepth (in category 'primitive support') -----
codeGeneratorToComputeAccessorDepth
^(VMMaker new
+ buildCodeGeneratorForInterpreter: (COGMTVM ifTrue: [CoInterpreterMT] ifFalse: [CoInterpreterPrimitives])
- buildCodeGeneratorForInterpreter: CoInterpreterPrimitives
includeAPIMethods: false
initializeClasses: false)
logger: self transcript;
yourself!
Item was changed:
----- Method: Cogit>>initializeProcessorStack: (in category 'initialization') -----
initializeProcessorStack: rumpCStackAddress
"Initialize the simulation processor's stack pointers, arranging that they are somewhere on the rump C stack."
<doNotGenerate>
| stackPad cFramePointer cStackPointer |
stackPad := 64 max: cStackAlignment.
cStackPointer := rumpCStackAddress - stackPad + expectedSPAlignment.
cFramePointer := rumpCStackAddress - stackPad + cStackAlignment + expectedFPAlignment.
self assert: cStackPointer \\ cStackAlignment = expectedSPAlignment.
self assert: cFramePointer \\ cStackAlignment = expectedFPAlignment.
+ coInterpreter setFramePointer: cFramePointer stackPointer: cStackPointer for: processor!
- processor
- setFramePointer: (coInterpreter setCFramePointer: cFramePointer)
- stackPointer: (coInterpreter setCStackPointer: cStackPointer)!