[Vm-dev] VM Maker Inbox: VMMaker.oscog-mt.2987.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Jul 20 06:36:06 UTC 2021


Marcel Taeumel uploaded a new version of VMMaker to project VM Maker Inbox:
http://source.squeak.org/VMMakerInbox/VMMaker.oscog-mt.2987.mcz

==================== Summary ====================

Name: VMMaker.oscog-mt.2987
Author: mt
Time: 20 July 2021, 8:35:51.104874 am
UUID: 6a3cc903-f2b5-a240-8bb0-de369d180c6f
Ancestors: VMMaker.oscog-eem.2985

Organize all VM flavors under /src (e.g. /src/vm.64bit.cog.spur). See PR #573: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/573

=============== Diff against VMMaker.oscog-eem.2985 ===============

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/newspeak.vm.64bit.cog.spur'
- 		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/newspeak.vm.32bit.cog.spur'
- 		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/newspeak.vm.64bit.stack.spur'
- 		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/newspeak.vm.32bit.stack.spur'
- 		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/vm.32bit.stack.spur'
- 		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/vm.64bit.stack.spur'
- 		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/vm.32bit.cog.v3'
- 		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/vm.64bit.cog.spur'
- 		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/vm.64bit.cog.spur'
- 		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/vm.32bit.cog.spur'
- 		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/vm.64bit.sista.spur'
- 		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/vm.32bit.sista.spur'
- 		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/vm.32bit.cog.spur'
- 		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/lowcode.vm.64bit.cog.spur'
- 		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/lowcode.vm.32bit.cog.spur'
- 		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/lowcode.vm.64bit.stack.spur'
- 		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/lowcode.vm.32bit.stack.spur'
- 		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/vm.32bit.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/vm.64bit.stack.spur'
- 		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/vm.32bit.stack.spur'
- 		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/vm.32bit.stack.v3'
- 		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