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

commits at source.squeak.org commits at source.squeak.org
Fri Nov 14 19:45:27 UTC 2014

Eliot Miranda uploaded a new version of VMMaker to project VM Maker:

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

Name: VMMaker.oscog-eem.932
Author: eem
Time: 14 November 2014, 11:42:09.769 am
UUID: 64910734-a74a-4e9b-8357-68ee708d8318
Ancestors: VMMaker.oscog-eem.931

Deal with collateral damage from the friendly fire of

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

Item was changed:
  ----- Method: VMClass class>>writeVMHeaderTo:bytesPerWord: (in category 'translation') -----
  writeVMHeaderTo: aStream bytesPerWord: bytesPerWord
  	"Generate the contents of interp.h on aStream.  Specific Interpreter subclasses
  	 override to add more stuff."
  		nextPutAll: '#define VM_PROXY_MAJOR '; print: self vmProxyMajorVersion; cr;
  		nextPutAll: '#define VM_PROXY_MINOR '; print: self vmProxyMinorVersion; cr;
  		nextPutAll: '#define SQ_VI_BYTES_PER_WORD '; print: bytesPerWord; cr;
  	"The most basic constants must be defined here, not in e.g. the plugin sources, so allow those
  	 other sources to be shared between different builds (Spur vs SqueakV3, 32-bit vs 64-bit, etc)"
+ 	VMBasicConstants mostBasicConstantNames asSet asArray sort do:
+ 		[:constName|
+ 		(VMBasicConstants classPool at: constName ifAbsent: []) ifNotNil:
+ 			[:const|
+ 			aStream nextPutAll: '#define '; nextPutAll: constName; space; print: const; cr]].
- 	VMBasicConstants mostBasicConstantNames do:
- 		[:const|
- 		aStream nextPutAll: '#define '; nextPutAll: const; space; print: (VMBasicConstants classPool at: const); cr].
  	aStream cr.
  	((VMBasicConstants classPool associations select: [:a| a key beginsWith: 'PrimErr'])
  		asSortedCollection: [:a1 :a2| a1 value <= a2 value])
  		do: [:a|
  			aStream nextPutAll: '#define '; nextPutAll: a key; space; print: a value; cr].
  	aStream cr!

More information about the Vm-dev mailing list