Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1438.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.1438 Author: eem Time: 18 August 2015, 12:39:27.454 pm UUID: ee0708f6-7d3b-4c75-8e4b-376cf87ef426 Ancestors: VMMaker.oscog-rmacnak.1437
Use the isFooMethod: level method privacy accessors to test in two remaining lookup routines, restricting AccessModifierPublic et al to the inner accessors.
=============== Diff against VMMaker.oscog-rmacnak.1437 ===============
Item was changed: ----- Method: CoInterpreter>>lookupProtectedNoMNU:startingAt:rule: (in category 'message sending') ----- lookupProtectedNoMNU: selector startingAt: mixinApplication rule: rule "A shared part of the lookup for self, outer or implicit receiver sends that did not find a private lexically visible method, and (Newspeak) super sends." | lookupClass dictionary found | lookupClass := mixinApplication. [lookupClass = objectMemory nilObject] whileFalse: [dictionary := objectMemory followObjField: MethodDictionaryIndex ofObject: lookupClass. found := self lookupMethodInDictionary: dictionary. + (found and: [(self isPrivateMethod: newMethod) not]) ifTrue: + [^0]. - (found and: [(self accessModifierOfMethod: newMethod) ~= AccessModifierPrivate]) - ifTrue: [^0]. lookupClass := self superclassOf: lookupClass]. ^SelectorDoesNotUnderstand!
Item was changed: ----- Method: StackInterpreter>>lookupProtected:startingAt:rule: (in category 'message sending') ----- lookupProtected: selector startingAt: mixinApplication rule: rule "A shared part of the lookup for self, outer or implicit receiver sends that did not find a private lexically visible method, and (Newspeak) super sends." | lookupClass dictionary found | lookupClass := mixinApplication. [lookupClass = objectMemory nilObject] whileFalse: [dictionary := objectMemory followObjField: MethodDictionaryIndex ofObject: lookupClass. found := self lookupMethodInDictionary: dictionary. + (found and: [(self isPrivateMethod: newMethod) not]) ifTrue: + [^0]. - (found and: [(self accessModifierOfMethod: newMethod) ~= AccessModifierPrivate]) - ifTrue: [^rule]. lookupClass := self superclassOf: lookupClass]. ^self lookupDnuAbsent!
vm-dev@lists.squeakfoundation.org