Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1439.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.1439 Author: eem Time: 19 August 2015, 4:33:56.517 pm UUID: ce1fb6f7-90ee-48c4-9f60-6ff1731ec464 Ancestors: VMMaker.oscog-eem.1438
Add no-access-control Stack and Cog Spur VMs for Cadence Newspeak. Refactor lookupDynamicSuperSendNoMNU:; it belongs in CoInterpreter.
=============== Diff against VMMaker.oscog-eem.1438 ===============
Item was added: + ----- Method: CoInterpreter>>lookupDynamicSuperSendNoMNU: (in category 'message sending') ----- + lookupDynamicSuperSendNoMNU: methodReceiver + "Do the full lookup for a Newspeak super send. + IN: messageSelector + IN: argumentCount + OUT: localAbsentReceiver + OUT: newMethod + OUT: primitiveIndex + RESULT: 0 or SelectorDoesNotUnderstand" + + | methodMixin methodMixinApplication | + localAbsentReceiver := methodReceiver. + localAbsentReceiverOrZero := 0. + methodMixin := self methodClassOf: method. + methodMixinApplication := self + findApplicationOfTargetMixin: methodMixin + startingAtBehavior: (objectMemory fetchClassOf: localAbsentReceiver). + lkupClass := self superclassOf: methodMixinApplication. "For use by MNU" + ^self lookupProtectedNoMNU: messageSelector startingAt: lkupClass rule: LookupRuleDynamicSuper!
Item was removed: - ----- Method: StackInterpreter>>lookupDynamicSuperSendNoMNU: (in category 'message sending') ----- - lookupDynamicSuperSendNoMNU: methodReceiver - "Do the full lookup for a Newspeak super send. - IN: messageSelector - IN: argumentCount - OUT: localAbsentReceiver - OUT: newMethod - OUT: primitiveIndex - RESULT: 0 or SelectorDoesNotUnderstand" - - | methodMixin methodMixinApplication | - localAbsentReceiver := methodReceiver. - localAbsentReceiverOrZero := 0. - methodMixin := self methodClassOf: method. - methodMixinApplication := self - findApplicationOfTargetMixin: methodMixin - startingAtBehavior: (objectMemory fetchClassOf: localAbsentReceiver). - lkupClass := self superclassOf: methodMixinApplication. "For use by MNU" - ^self lookupProtectedNoMNU: messageSelector startingAt: lkupClass rule: LookupRuleDynamicSuper!
Item was added: + ----- Method: VMMaker class>>generateAllGlueConfigurationsUnderVersionControl (in category 'configurations') ----- + generateAllGlueConfigurationsUnderVersionControl + self generateGlueSpurStackVM; + generateGlueSpurCogVM!
Item was added: + ----- Method: VMMaker class>>generateGlueSpurCogVM (in category 'configurations') ----- + generateGlueSpurCogVM + "No primitives since we can use those from the Cog Spur Newspeak VM" + ^VMMaker + generate: CoInterpreter + and: StackToRegisterMappingCogit + with: #( ObjectMemory Spur32BitCoMemoryManager + MULTIPLEBYTECODESETS true + NewspeakVM true + EnforceAccessControl false) + to: (FileDirectory default directoryNamed: self sourceTree, '/nsnacspursrc') fullName + platformDir: (FileDirectory default directoryNamed: self sourceTree, '/platforms') fullName + including: #()!
Item was added: + ----- Method: VMMaker class>>generateGlueSpurStackVM (in category 'configurations') ----- + generateGlueSpurStackVM + "No primitives since we can use those from the Cog Spur Newspeak VM" + ^VMMaker + generate: StackInterpreter + with: #( ObjectMemory Spur32BitMemoryManager + MULTIPLEBYTECODESETS true + NewspeakVM true + FailImbalancedPrimitives false + EnforceAccessControl false) + to: (FileDirectory default directoryNamed: self sourceTree, '/nsnacspurstacksrc') fullName + platformDir: (FileDirectory default directoryNamed: self sourceTree, '/platforms') fullName + including: #()!
vm-dev@lists.squeakfoundation.org