[Vm-dev] VM Maker: VMMaker.oscog-eem.681.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Apr 18 19:01:25 UTC 2014


Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.681.mcz

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

Name: VMMaker.oscog-eem.681
Author: eem
Time: 18 April 2014, 11:58:58.489 am
UUID: c98fb038-0467-4bd9-9aea-1284afc12ffb
Ancestors: VMMaker.oscog-eem.680

VMMaker:
Make the location of the source tree used by the configurations a
variable.  This jives with the new image dir buildsqueak45image.sh
scheme.

Move hex8 into the VMMaker package.

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

Item was added:
+ ----- Method: Integer>>hex8 (in category '*VMMaker-printing') -----
+ hex8
+ 	"Print the receiver in base 16 with prefixed base, using at least 8 digits.
+ 	 DO NOT CHANGE THIS!!  The Cog VMMaker depends on this.
+ 	 Consider using storeStringBase: 16 length: 11 padded: true instead."
+ 	  "16r3333 hex8"
+ 	| hex |
+ 	hex := self hex.  "16rNNN"
+ 	^hex size < 11
+ 		ifTrue: [hex copyReplaceFrom: 4 to: 3
+ 						 with: ('00000000' copyFrom: 1 to: 11-hex size)]
+ 		ifFalse: [hex]!

Item was changed:
  ----- Method: VMMaker class>>generateNewspeakCogVM (in category 'configurations') -----
  generateNewspeakCogVM
  	^VMMaker
  		generate: CoInterpreter
  		and: StackToRegisterMappingCogit
  		with: #(	NewspeakVM true
  				MULTIPLEBYTECODESETS true)
+ 		to: (FileDirectory default pathFromURI: self sourceTree, '/nscogsrc')
+ 		platformDir: (FileDirectory default pathFromURI: self sourceTree, '/platforms')
- 		to: (FileDirectory default pathFromURI: 'oscogvm/nscogsrc')
- 		platformDir: (FileDirectory default pathFromURI: 'oscogvm/platforms')
  		including:#(	AsynchFilePlugin BMPReadWriterPlugin BalloonEnginePlugin BitBltSimulation DeflatePlugin DSAPlugin DropPlugin
  					FileCopyPlugin FilePlugin FloatArrayPlugin FloatMathPlugin ImmX11Plugin JPEGReadWriter2Plugin
  					JPEGReaderPlugin LargeIntegersPlugin Matrix2x3Plugin MiscPrimitivePlugin NewsqueakIA32ABIPlugin
  					RePlugin SecurityPlugin SocketPlugin SoundPlugin SqueakSSLPlugin SurfacePlugin ThreadedIA32FFIPlugin
  					UUIDPlugin UnixOSProcessPlugin VMProfileLinuxSupportPlugin VMProfileMacSupportPlugin Win32OSProcessPlugin)!

Item was changed:
  ----- Method: VMMaker class>>generateNewspeakInterpreterVM (in category 'configurations') -----
  generateNewspeakInterpreterVM
  	^VMMaker
  		generate: NewspeakInterpreter
+ 		to: (FileDirectory default pathFromURI: self sourceTree, '/nssrc')
+ 		platformDir: (FileDirectory default pathFromURI: self sourceTree, '/platforms')
- 		to: (FileDirectory default pathFromURI: 'oscogvm/nssrc')
- 		platformDir: (FileDirectory default pathFromURI: 'oscogvm/platforms')
  		including:#(	AsynchFilePlugin BMPReadWriterPlugin BalloonEnginePlugin BitBltSimulation DeflatePlugin DSAPlugin DropPlugin
  					FileCopyPlugin FilePlugin FloatArrayPlugin FloatMathPlugin ImmX11Plugin JPEGReadWriter2Plugin
  					JPEGReaderPlugin LargeIntegersPlugin Matrix2x3Plugin MiscPrimitivePlugin NewsqueakIA32ABIPlugin
  					RePlugin SecurityPlugin SocketPlugin SoundPlugin SqueakSSLPlugin SurfacePlugin
  					UUIDPlugin UnixOSProcessPlugin VMProfileLinuxSupportPlugin VMProfileMacSupportPlugin Win32OSProcessPlugin)!

Item was changed:
  ----- Method: VMMaker class>>generateNewspeakSpurCogVM (in category 'configurations') -----
  generateNewspeakSpurCogVM
  	"No primitives since we can use those for the Cog Newspeak VM"
  	^VMMaker
  		generate: CoInterpreter
  		and: StackToRegisterMappingCogit
  		with: #(	ObjectMemory Spur32BitCoMemoryManager
  				MULTIPLEBYTECODESETS true
  				NewspeakVM true)
+ 		to: (FileDirectory default pathFromURI: self sourceTree, '/nsspursrc')
+ 		platformDir: (FileDirectory default pathFromURI: self sourceTree, '/platforms')
- 		to: (FileDirectory default pathFromURI: 'oscogvm/nsspursrc')
- 		platformDir: (FileDirectory default pathFromURI: 'oscogvm/platforms')
  		including:#()!

Item was changed:
  ----- Method: VMMaker class>>generateNewspeakSpurStackVM (in category 'configurations') -----
  generateNewspeakSpurStackVM
  	"No primitives since we can use those for the Cog Newspeak VM"
  	^VMMaker
  		generate: StackInterpreter
  		with: #(	ObjectMemory Spur32BitMemoryManager
  				MULTIPLEBYTECODESETS true
  				NewspeakVM true)
+ 		to: (FileDirectory default directoryNamed: self sourceTree, '/nsspurstacksrc') fullName
+ 		platformDir: (FileDirectory default directoryNamed: self sourceTree, '/platforms') fullName
- 		to: (FileDirectory default directoryNamed: 'oscogvm/nsspurstacksrc') fullName
- 		platformDir: (FileDirectory default directoryNamed: 'oscogvm/platforms') fullName
  		including: #()!

Item was changed:
  ----- Method: VMMaker class>>generateNewspeakStackVM (in category 'configurations') -----
  generateNewspeakStackVM
  	"No primitives since we can use those for the Cog Newspeak VM"
  	^VMMaker
  		generate: StackInterpreter
  		with: #(NewspeakVM true MULTIPLEBYTECODESETS true)
+ 		to: (FileDirectory default pathFromURI: self sourceTree, '/nsstacksrc')
+ 		platformDir: (FileDirectory default pathFromURI: self sourceTree, '/platforms')
- 		to: (FileDirectory default pathFromURI: 'oscogvm/nsstacksrc')
- 		platformDir: (FileDirectory default pathFromURI: 'oscogvm/platforms')
  		including: #()!

Item was changed:
  ----- Method: VMMaker class>>generateSqueakCogSistaVM (in category 'configurations') -----
  generateSqueakCogSistaVM
  	"No primitives since we can use those for the Cog VM"
  	^VMMaker
  		generate: CoInterpreter
  		and: SistaStackToRegisterMappingCogit
+ 		to: (FileDirectory default pathFromURI: self sourceTree, '/sistasrc')
+ 		platformDir: (FileDirectory default pathFromURI: self sourceTree, '/platforms')
- 		to: (FileDirectory default pathFromURI: 'oscogvm/sistasrc')
- 		platformDir: (FileDirectory default pathFromURI: 'oscogvm/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: SistaStackToRegisterMappingCogit
  		with: #(ObjectMemory Spur32BitCoMemoryManager)
+ 		to: (FileDirectory default pathFromURI: self sourceTree, '/spursistasrc')
+ 		platformDir: (FileDirectory default pathFromURI: self sourceTree, '/platforms')
- 		to: (FileDirectory default pathFromURI: 'oscogvm/spursistasrc')
- 		platformDir: (FileDirectory default pathFromURI: 'oscogvm/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)
+ 		to: (FileDirectory default pathFromURI: self sourceTree, '/spursrc')
+ 		platformDir: (FileDirectory default pathFromURI: self sourceTree, '/platforms')
- 		to: (FileDirectory default pathFromURI: 'oscogvm/spursrc')
- 		platformDir: (FileDirectory default pathFromURI: 'oscogvm/platforms')
  		including:#()!

Item was changed:
  ----- Method: VMMaker class>>generateSqueakSpurStackVM (in category 'configurations') -----
  generateSqueakSpurStackVM
  	"No primitives since we can use those for the Cog VM"
  	^VMMaker
  		generate: StackInterpreter
  		with: #(ObjectMemory Spur32BitMemoryManager)
+ 		to: (FileDirectory default directoryNamed: self sourceTree, '/spurstacksrc') fullName
+ 		platformDir: (FileDirectory default directoryNamed: self sourceTree, '/platforms') fullName
- 		to: (FileDirectory default directoryNamed: 'oscogvm/spurstacksrc') fullName
- 		platformDir: (FileDirectory default directoryNamed: 'oscogvm/platforms') fullName
  		including: #()!

Item was changed:
  ----- Method: VMMaker class>>generateSqueakStackVM (in category 'configurations') -----
  generateSqueakStackVM
  	"No primitives since we can use those for the Cog VM"
  	^VMMaker
  		generate: StackInterpreter
+ 		to: (FileDirectory default directoryNamed: self sourceTree, '/stacksrc') fullName
+ 		platformDir: (FileDirectory default directoryNamed: self sourceTree, '/platforms') fullName
- 		to: (FileDirectory default directoryNamed: 'oscogvm/stacksrc') fullName
- 		platformDir: (FileDirectory default directoryNamed: 'oscogvm/platforms') fullName
  		including: #()!

Item was changed:
  ----- Method: VMMaker class>>initialize (in category 'initialisation') -----
  initialize
  	"VMMaker initialize"
  	DirNames := Dictionary new.
+ 	DirNames
+ 		at: #coreVMDir put: 'vm';
- 	DirNames 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')
+ 		with: #('../' 'oscogvm' 'Cog')
+ 		do: [:dir :path|
+ 			(FileDirectory default directoryExists: dir) ifTrue:
+ 				[DirNames at: #sourceTree put: path.
+ 				 ^self]]!
- 		at: #sourceDir put: 'src'!

Item was added:
+ ----- Method: VMMaker class>>sourceTree (in category 'accessing') -----
+ sourceTree
+ 	^DirNames at: #sourceTree!



More information about the Vm-dev mailing list