[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