Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.218.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.218 Author: eem Time: 20 November 2012, 4:50:20.433 pm UUID: aea72579-80d2-40c0-9866-80fe8d3488fc Ancestors: VMMaker.oscog-eem.217
Revert to Esteban's CCodeGenerator>>emitCConstantsOn: which forces def of BytesPerWord in all plugins. Mine also defined MULTIPLEBYTECODESETS in all plugins which is wrong but thankfully obsolete.
=============== Diff against VMMaker.oscog-eem.217 ===============
Item was changed: ----- Method: CCodeGenerator>>emitCConstantsOn: (in category 'C code generator') ----- emitCConstantsOn: aStream "Store the global variable declarations on the given stream." | unused constList | unused := constants keys asSet. methods do: [:meth| meth parseTree nodesDo: [:n| n isConstant ifTrue: [unused remove: n name ifAbsent: []]]]. unused copy do: [:const| (variableDeclarations anySatisfy: [:value| value includesSubString: const]) ifTrue: [unused remove: const ifAbsent: []]]. "Don't generate any defines for the externally defined constants, STACKVM, COGVM, COGMTVM et al." (VMClass class>>#initializeMiscConstantsWith:) literalsDo: [:lit| lit isVariableBinding ifTrue: [unused add: lit key]]. + unused remove: #BytesPerWord ifAbsent: []. "force inclusion of BytesPerWord declaration" - "force inclusion of BytesPerWord and MULTIPLEBYTECODESETS declarations." - #(BytesPerWord MULTIPLEBYTECODESETS) do: - [:key| unused remove: key ifAbsent: []]. constList := constants keys reject:[:any| unused includes: any]. aStream cr; nextPutAll: '/*** Constants ***/'; cr. (self sortStrings: constList) do: [:varName| | node default value | node := constants at: varName. node name isEmpty ifFalse: ["Allow the class to provide an alternative definition, either of just the value or the whole shebang" default := self cLiteralFor: node value name: varName. value := vmClass ifNotNil: [(vmClass specialValueForConstant: node name default: default) ifNotNil: [:specialDef| specialDef] ifNil: [default]] ifNil: [default]. value first ~= $# ifTrue: [aStream nextPutAll: '#define '; nextPutAll: node name; space]. aStream nextPutAll: value; cr]]. aStream cr!
vm-dev@lists.squeakfoundation.org