Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.903.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.903 Author: eem Time: 14 October 2014, 12:48:31.324 pm UUID: 9ce090a8-4af5-4298-8b32-3b5a832a1c06 Ancestors: VMMaker.oscog-eem.902
And follow in enclosingObjectAt:withObject:withMixin:
=============== Diff against VMMaker.oscog-eem.902 ===============
Item was changed: ----- Method: StackInterpreter>>enclosingObjectAt:withObject:withMixin: (in category 'newspeak bytecode support') ----- enclosingObjectAt: n withObject: anObject withMixin: mixin "This is used to implement the innards of the pushEnclosingObjectBytecode, used for explicit outer sends in NS2/NS3. " | enclosingObject mixinApplication targetMixin count | enclosingObject := anObject. targetMixin := mixin. count := 0. [count < n] whileTrue: [count := count + 1. + (targetMixin = objectMemory nilObject + or: [enclosingObject = objectMemory nilObject]) ifTrue: - (targetMixin = objectMemory nilObject or:[enclosingObject = objectMemory nilObject]) ifTrue: [^objectMemory nilObject]. mixinApplication := self findApplicationOfTargetMixin: targetMixin startingAtNonMetaClass: (objectMemory fetchClassOf: enclosingObject). mixinApplication = objectMemory nilObject ifTrue: [^objectMemory nilObject]. "should never happen!!" + enclosingObject := objectMemory followObjField: EnclosingObjectIndex ofObject: mixinApplication. + targetMixin := objectMemory followObjField: EnclosingMixinIndex ofObject: targetMixin]. - enclosingObject := objectMemory fetchPointer: EnclosingObjectIndex ofObject: mixinApplication. - targetMixin := objectMemory fetchPointer: EnclosingMixinIndex ofObject: targetMixin]. ^enclosingObject!
vm-dev@lists.squeakfoundation.org