[Vm-dev] VM Maker: VMMaker.oscog-mt.3049.mcz
commits at source.squeak.org
commits at source.squeak.org
Fri Aug 27 17:06:29 UTC 2021
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-mt.3049.mcz
==================== Summary ====================
Name: VMMaker.oscog-mt.3049
Author: mt
Time: 25 August 2021, 6:08:01.629844 pm
UUID: 3e9fce59-ecb0-a24e-b5f3-3d92cf8f2517
Ancestors: VMMaker.oscog-eem.3048, VMMaker.oscog-mt.2987
Merge upstream VMMaker.oscog-eem.3048 and update src paths to match Eliot's suggestion: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/573#issuecomment-905099419
=============== Diff against VMMaker.oscog-eem.3048 ===============
Item was changed:
----- Method: VMMaker class>>generateNewspeakSpurCog64VM (in category 'configurations') -----
generateNewspeakSpurCog64VM
"No primitives since we can use those for the Cog VM"
^VMMaker
generate: CoInterpreter
and: StackToRegisterMappingCogit
with: #( ObjectMemory Spur64BitCoMemoryManager
MULTIPLEBYTECODESETS true
NewspeakVM true)
+ to: self sourceTree, '/src/spur64.cog.newspeak'
- to: self sourceTree, '/nsspur64src'
platformDir: self sourceTree, '/platforms'
including:#()
!
Item was changed:
----- Method: VMMaker class>>generateNewspeakSpurCogVM (in category 'configurations') -----
generateNewspeakSpurCogVM
"No primitives since we can use those for the Cog VM"
^VMMaker
generate: CoInterpreter
and: StackToRegisterMappingCogit
with: #( ObjectMemory Spur32BitCoMemoryManager
MULTIPLEBYTECODESETS true
NewspeakVM true)
+ to: self sourceTree, '/src/spur32.cog.newspeak'
- to: self sourceTree, '/nsspursrc'
platformDir: self sourceTree, '/platforms'
including:#()
!
Item was changed:
----- Method: VMMaker class>>generateNewspeakSpurStack64VM (in category 'configurations') -----
generateNewspeakSpurStack64VM
"No primitives since we can use those for the Cog VM"
^VMMaker
generate: StackInterpreter
with: #( ObjectMemory Spur64BitMemoryManager
MULTIPLEBYTECODESETS true
NewspeakVM true
FailImbalancedPrimitives false)
+ to: self sourceTree, '/src/spur64.stack.newspeak'
- to: self sourceTree, '/nsspurstack64src'
platformDir: self sourceTree, '/platforms'
including: #()!
Item was changed:
----- Method: VMMaker class>>generateNewspeakSpurStackVM (in category 'configurations') -----
generateNewspeakSpurStackVM
"No primitives since we can use those for the Cog VM"
^VMMaker
generate: StackInterpreter
with: #( ObjectMemory Spur32BitMemoryManager
MULTIPLEBYTECODESETS true
NewspeakVM true
FailImbalancedPrimitives false)
+ to: self sourceTree, '/src/spur32.stack.newspeak'
- to: self sourceTree, '/nsspurstacksrc'
platformDir: self sourceTree, '/platforms'
including: #()!
Item was changed:
----- Method: VMMaker class>>generateSpur32LeakChecker (in category 'configurations') -----
generateSpur32LeakChecker
^VMMaker
generate: ImageLeakChecker
with: #(ObjectMemory Spur32BitMemoryManager
MULTIPLEBYTECODESETS true)
+ to: self sourceTree, '/src/spur32.stack'
- to: self sourceTree, '/spurstacksrc'
platformDir: self sourceTree, '/platforms'
including: #()!
Item was changed:
----- Method: VMMaker class>>generateSpur64LeakChecker (in category 'configurations') -----
generateSpur64LeakChecker
^VMMaker
generate: ImageLeakChecker
with: #(ObjectMemory Spur64BitMemoryManager
MULTIPLEBYTECODESETS true)
+ to: self sourceTree, '/src/spur64.stack'
- to: self sourceTree, '/spurstack64src'
platformDir: self sourceTree, '/platforms'
including: #()!
Item was changed:
----- Method: VMMaker class>>generateSqueakCogVMWithInterpreterClass:options: (in category 'confs-support') -----
generateSqueakCogVMWithInterpreterClass: interpreterClass options: optionsArray
^VMMaker
generate: interpreterClass
and: StackToRegisterMappingCogit
with: optionsArray
+ to: self sourceTree, '/src/v3.cog'
- to: self sourceTree, '/src'
platformDir: self sourceTree, '/platforms'
including:#()!
Item was changed:
----- Method: VMMaker class>>generateSqueakSpurCog64MTVM (in category 'configurations') -----
generateSqueakSpurCog64MTVM
"No primitives since we can use those for the Cog VM"
^VMMaker
generate: CoInterpreterMT
and: StackToRegisterMappingCogit
with: #(COGMTVM true
ObjectMemory Spur64BitCoMemoryManager
MULTIPLEBYTECODESETS true
bytecodeTableInitializer initializeBytecodeTableForSqueakV3PlusClosuresSistaV1Hybrid)
+ to: self sourceTree, '/src/spur64.cog'
- to: self sourceTree, '/spur64src'
platformDir: self sourceTree, '/platforms'
including:#()!
Item was changed:
----- Method: VMMaker class>>generateSqueakSpurCog64VM (in category 'configurations') -----
generateSqueakSpurCog64VM
"No primitives since we can use those for the Cog VM"
^VMMaker
generate: CoInterpreter
and: StackToRegisterMappingCogit
with: #(ObjectMemory Spur64BitCoMemoryManager
MULTIPLEBYTECODESETS true
bytecodeTableInitializer initializeBytecodeTableForSqueakV3PlusClosuresSistaV1Hybrid)
+ to: self sourceTree, '/src/spur64.cog'
- to: self sourceTree, '/spur64src'
platformDir: self sourceTree, '/platforms'
including:#()!
Item was changed:
----- Method: VMMaker class>>generateSqueakSpurCogMTVM (in category 'configurations') -----
generateSqueakSpurCogMTVM
"No primitives since we can use those for the Cog VM"
^VMMaker
generate: CoInterpreterMT
and: StackToRegisterMappingCogit
with: #(COGMTVM true
ObjectMemory Spur32BitCoMemoryManager
MULTIPLEBYTECODESETS true
bytecodeTableInitializer initializeBytecodeTableForSqueakV3PlusClosuresSistaV1Hybrid)
+ to: self sourceTree, '/src/spur32.cog'
- to: self sourceTree, '/spursrc'
platformDir: self sourceTree, '/platforms'
including:#()!
Item was changed:
----- Method: VMMaker class>>generateSqueakSpurCogSista64VM (in category 'configurations') -----
generateSqueakSpurCogSista64VM
^VMMaker
generate: CoInterpreter
and: SistaCogit
with: #( SistaVM true
ObjectMemory Spur64BitCoMemoryManager
MULTIPLEBYTECODESETS true
bytecodeTableInitializer initializeBytecodeTableForSqueakV3PlusClosuresSistaV1Hybrid)
+ to: self sourceTree, '/src/spur64.sista'
- to: self sourceTree, '/spursista64src'
platformDir: self sourceTree, '/platforms'
including:#()!
Item was changed:
----- Method: VMMaker class>>generateSqueakSpurCogSistaVM (in category 'configurations') -----
generateSqueakSpurCogSistaVM
"No primitives since we can use those for the Cog VM"
^VMMaker
generate: CoInterpreter
and: SistaCogit
with: #( SistaVM true
ObjectMemory Spur32BitCoMemoryManager
MULTIPLEBYTECODESETS true
bytecodeTableInitializer initializeBytecodeTableForSqueakV3PlusClosuresSistaV1Hybrid)
+ to: self sourceTree, '/src/spur32.sista'
- to: self sourceTree, '/spursistasrc'
platformDir: self sourceTree, '/platforms'
including:#()!
Item was changed:
----- Method: VMMaker class>>generateSqueakSpurCogVM (in category 'configurations') -----
generateSqueakSpurCogVM
"No primitives since we can use those for the Cog VM"
^VMMaker
generate: CoInterpreter
and: StackToRegisterMappingCogit
with: #(ObjectMemory Spur32BitCoMemoryManager
MULTIPLEBYTECODESETS true
bytecodeTableInitializer initializeBytecodeTableForSqueakV3PlusClosuresSistaV1Hybrid)
+ to: self sourceTree, '/src/spur32.cog'
- to: self sourceTree, '/spursrc'
platformDir: self sourceTree, '/platforms'
including:#()!
Item was changed:
----- Method: VMMaker class>>generateSqueakSpurLowcodeCog64VM (in category 'configurations') -----
generateSqueakSpurLowcodeCog64VM
"No primitives since we can use those for the Cog VM"
^VMMaker
generate: CoInterpreter
and: StackToRegisterMappingCogit
with: #(ObjectMemory Spur64BitCoMemoryManager
SistaVM true
LowcodeVM true
MULTIPLEBYTECODESETS true
bytecodeTableInitializer initializeBytecodeTableForSqueakV3PlusClosuresSistaV1Hybrid)
+ to: self sourceTree, '/src/spur64.cog.lowcode'
- to: self sourceTree, '/spurlowcode64src'
platformDir: self sourceTree, '/platforms'
including:#()!
Item was changed:
----- Method: VMMaker class>>generateSqueakSpurLowcodeCogVM (in category 'configurations') -----
generateSqueakSpurLowcodeCogVM
"No primitives since we can use those for the Cog VM"
^VMMaker
generate: CoInterpreter
and: StackToRegisterMappingCogit
with: #(ObjectMemory Spur32BitCoMemoryManager
SistaVM true
LowcodeVM true
MULTIPLEBYTECODESETS true
bytecodeTableInitializer initializeBytecodeTableForSqueakV3PlusClosuresSistaV1Hybrid)
+ to: self sourceTree, '/src/spur32.cog.lowcode'
- to: self sourceTree, '/spurlowcodesrc'
platformDir: self sourceTree, '/platforms'
including:#()!
Item was changed:
----- Method: VMMaker class>>generateSqueakSpurLowcodeStack64VM (in category 'configurations') -----
generateSqueakSpurLowcodeStack64VM
"No primitives since we can use those from the Cog VM"
^VMMaker
generate: StackInterpreter
with: #(ObjectMemory Spur64BitMemoryManager
SistaVM true
LowcodeVM true
FailImbalancedPrimitives false
MULTIPLEBYTECODESETS true
bytecodeTableInitializer initializeBytecodeTableForSqueakV3PlusClosuresSistaV1Hybrid)
+ to: self sourceTree, '/src/spur64.stack.lowcode'
- to: self sourceTree, '/spurlowcodestack64src'
platformDir: self sourceTree, '/platforms'
including: #()!
Item was changed:
----- Method: VMMaker class>>generateSqueakSpurLowcodeStackVM (in category 'configurations') -----
generateSqueakSpurLowcodeStackVM
"No primitives since we can use those from the Cog VM"
^VMMaker
generate: StackInterpreter
with: #(ObjectMemory Spur32BitMemoryManager
SistaVM true
LowcodeVM true
FailImbalancedPrimitives false
MULTIPLEBYTECODESETS true
bytecodeTableInitializer initializeBytecodeTableForSqueakV3PlusClosuresSistaV1Hybrid)
+ to: self sourceTree, '/src/spur32.stack.lowcode'
- to: self sourceTree, '/spurlowcodestacksrc'
platformDir: self sourceTree, '/platforms'
including: #()!
Item was changed:
----- Method: VMMaker class>>generateSqueakSpurRegisterCogVM (in category 'configurations') -----
generateSqueakSpurRegisterCogVM
"No primitives since we can use those for the Cog VM"
^VMMaker
generate: CoInterpreter
and: RegisterAllocatingCogit
with: #(ObjectMemory Spur32BitCoMemoryManager)
+ to: self sourceTree, '/src/spur32.reg.spur'
- to: self sourceTree, '/spurregsrc'
platformDir: self sourceTree, '/platforms'
including:#()!
Item was changed:
----- Method: VMMaker class>>generateSqueakSpurStack64VM (in category 'configurations') -----
generateSqueakSpurStack64VM
"No primitives since we can use those from the Cog VM"
^VMMaker
generate: StackInterpreter
with: #(ObjectMemory Spur64BitMemoryManager
FailImbalancedPrimitives false
MULTIPLEBYTECODESETS true
bytecodeTableInitializer initializeBytecodeTableForSqueakV3PlusClosuresSistaV1Hybrid)
+ to: self sourceTree, '/src/spur64.stack'
- to: self sourceTree, '/spurstack64src'
platformDir: self sourceTree, '/platforms'
including: #()!
Item was changed:
----- Method: VMMaker class>>generateSqueakSpurStackVM (in category 'configurations') -----
generateSqueakSpurStackVM
"No primitives since we can use those from the Cog VM"
^VMMaker
generate: StackInterpreter
with: #(ObjectMemory Spur32BitMemoryManager
FailImbalancedPrimitives false
MULTIPLEBYTECODESETS true
bytecodeTableInitializer initializeBytecodeTableForSqueakV3PlusClosuresSistaV1Hybrid)
+ to: self sourceTree, '/src/spur32.stack'
- to: self sourceTree, '/spurstacksrc'
platformDir: self sourceTree, '/platforms'
including: #()!
Item was changed:
----- Method: VMMaker class>>generateSqueakStackVM (in category 'configurations') -----
generateSqueakStackVM
"No primitives since we can use those from the Cog VM"
^VMMaker
generate: StackInterpreter
with: #(FailImbalancedPrimitives false)
+ to: self sourceTree, '/src/v3.stack'
- to: self sourceTree, '/stacksrc'
platformDir: self sourceTree, '/platforms'
including: #()!
Item was changed:
----- Method: VMMaker class>>initialize (in category 'initialisation') -----
initialize
"VMMaker initialize"
+ DirNames ifNil: [DirNames := Dictionary new].
- DirNames := Dictionary new.
DirNames
+ at: #coreVMDir put: ''; "vm flavors have their own dirs below #sourceDir now. See #generate* methods."
- at: #coreVMDir put: 'vm';
at: #platformsDir put: 'platforms';
at: #pluginsDir put: 'plugins';
at: #sourceDir put: 'src'.
"Try and decide where the Cog source tree is. Two configurations are likely.
One is that the VMMaker image is running in the image directory in the
source tree and hence everything will be at '..'.
Another is where the source tree is at the same level as the VMMaker image,
in which case it is likely called oscogvm or Cog."
#('../platforms' 'oscogvm/platforms' 'Cog/platforms' '../oscogvm/platforms')
with: #('..' 'oscogvm' 'Cog' '../oscogvm')
do: ((Smalltalk classNamed: #FileLocator)
ifNotNil:
[:classFileLocator|
[:dir :path|
(classFileLocator cwd / dir) isDirectory ifTrue:
[DirNames at: #sourceTree put: path.
^self]]]
ifNil:
[[:dir :path|
(FileDirectory default directoryExists: dir) ifTrue:
[DirNames at: #sourceTree put: path.
^self]]])!
More information about the Vm-dev
mailing list