[Vm-dev] VM Maker: VMMaker.oscog-eem.1439.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Aug 19 23:35:44 UTC 2015
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: #()!
More information about the Vm-dev
mailing list