[Vm-dev] VM Maker: VMMaker.oscog-eem.603.mcz
commits at source.squeak.org
commits at source.squeak.org
Tue Feb 4 18:10:48 UTC 2014
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.603.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.603
Author: eem
Time: 4 February 2014, 10:07:52.921 am
UUID: c1e131ed-4f5d-41fc-828a-f200c54a83b8
Ancestors: VMMaker.oscog-eem.602
and fix a snafu in the buildCodeGeneratorForCogit: refactoring.
=============== Diff against VMMaker.oscog-eem.602 ===============
Item was added:
+ ----- Method: VMMaker class>>generateAllSpurConfigurations (in category 'configurations') -----
+ generateAllSpurConfigurations
+ self generateNewspeakSpurCogVM;
+ generateNewspeakSpurStackVM;
+ generateSqueakSpurCogVM;
+ generateSqueakSpurStackVM!
Item was changed:
----- Method: VMMaker>>buildCodeGeneratorForCogit:includeAPIMethods:initializeClasses: (in category 'generate sources') -----
buildCodeGeneratorForCogit: cogitClass includeAPIMethods: getAPIMethods initializeClasses: initializeClasses
"Answer the code generator for translating the cogit."
| cg aClass cogitClasses apicg |
cg := self createCogitCodeGenerator.
cg vmClass: cogitClass.
initializeClasses ifTrue:
[{ cogitClass. self interpreterClass. self interpreterClass objectMemoryClass } do:
[:cgc|
(cgc respondsTo: #initializeWithOptions:)
ifTrue: [cgc initializeWithOptions: optionsDictionary]
ifFalse: [cgc initialize]]].
cogitClasses := OrderedCollection new.
aClass := cogitClass.
[cogitClasses addFirst: aClass.
aClass ~~ Cogit
and: [aClass inheritsFrom: Cogit]] whileTrue:
+ [aClass := aClass superclass].
- [aClass := cogitClass superclass].
cogitClasses addFirst: VMClass.
cogitClasses addAllLast: ((cogitClass ancilliaryClasses: optionsDictionary) reject: [:class| class isStructClass]).
cogitClasses do: [:cgc| cg addClass: cgc].
cg addStructClasses: (cg structClassesForTranslationClasses: cogitClasses).
getAPIMethods ifTrue:
[apicg := self
buildCodeGeneratorForInterpreter: self interpreterClass
includeAPIMethods: false
initializeClasses: false.
cg apiMethods: apicg selectAPIMethods].
^cg!
More information about the Vm-dev
mailing list